構建並推送本地vue項目鏡像到私有倉庫registry

docker部署項目真的是爽呀, 快捷方便又帥氣。這篇文章主要是總結vue項目構建鏡像並推送到私有倉庫的,親測有效哦。

一、本地打包vue爲dist

yarn build
或者
npm run build

 

打包後生成如下目錄

將dist與DockerFile文件上傳到服務器

DockerFile

FROM nginx:1.13.6-alpine
MAINTAINER eebbk

ARG TZ="Asia/Guangzhou"

ENV TZ ${TZ}

RUN apk upgrade --update \
    && apk add bash tzdata \
    && ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \
    && echo ${TZ} > /etc/timezone \
    && rm -rf /var/cache/apk/*

COPY dist /usr/share/nginx/html

CMD ["nginx", "-g", "daemon off;"]

二、在上傳的目錄下構建本地鏡像

docker build -t 172.28.162.xx:5000/eebbk-content/content-microservice-questions-ui:3.2.0-SNAPSHOT .

三、啓動鏡像

docker run -d -p 82:80 -v /root/content-microservice-questions/nginx-single.conf:/etc/nginx/nginx.conf --name content-microservice-questions-ui  172.28.162.xx:5000/eebbk-content/content-microservice-questions-ui:3.2.0-SNAPSHOT

-v /root/content-microservice-questions/nginx-single.conf:/etc/nginx/nginx.conf
標識容器中的nginx配置文件掛載到本地

本地nginx.conf如下:

user nginx;
worker_processes  2;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    use epoll;
    worker_connections  2048;
}
http {
    include  /etc/nginx/mime.types;
    # include /etc/nginx/conf.d/*.conf;
    root /usr/share/nginx/html;
    index  index.html index.htm;

    upstream gateway-service {
        server 172.28.162.xx:8000       max_fails=3 fail_timeout=30s;
    }

    server {
        listen 80;
        server_name  localhost;
        location ~* /a(pi|uth) {
            proxy_pass http://gateway-service;
        }
        location / {
        }
    }
}

啓動成功後如下:

四、推送鏡像到docker私有倉庫

推送之前要先建立tag,tag就是本地鏡像的ID,否則會出現如下錯誤:

創建tag:

docker tag cf6e2471e36f  push 172.28.162.xx:5000/eebbk-content/content-microservice-questions-ui:3.2.0-SNAPSH

推送鏡像:

docker  push 172.28.162.xx:5000/eebbk-content/content-microservice-questions-ui:3.2.0-SNAPSH

 

五、從私有倉庫中下載上傳的鏡像

docker pull 172.28.162.xx:5000/eebbk-content/monitor-service:3.2.0-SNAPSHOT

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章