Docker 部署VUE項目


Docker 部署VUE項目

淺嘗Docker+Nginx部署項目,涉及到的都是比較簡單的操作,如有錯誤,請指正!謝謝!

在docker中啟動vue容器時,本質上是啟動了一個Nginx服務,我們要做的就是將項目構建成我們“定制”的Nginx服務鏡像,再進行容器啟動。

所需文件

  • Dockerfile
  • Nginx配置文件
  • Vue項目Build后的靜態文件

創建Dockerfile

Dockerfile內容:

其本質就是用來構建鏡像,包含構建鏡像所需的指令和說明

FROM nginx #標准的nginx鏡像,我們需要基於標准的nginx鏡像制作自己的鏡像
MAINTAINER blogapp #設置生成鏡像的Author 
COPY . /usr/share/nginx/html/ #拷貝當前目錄的文件到指定文件夾下,改文件夾為鏡像中的文件夾
COPY blogapp.conf /etc/nginx/nginx.conf #拷貝.conf文件到鏡像下,替換掉原有的nginx.conf
RUN echo 'build img ok!' #輸出完成

創建Nginx配置文件

Nginx配置文件內容:

用於對Nginx服務的配置

worker_processes auto;

events {
    worker_connections 1024;
}

http {
 include             mime.types;
 
 default_type        application/octet-stream;
 
 sendfile            on;
 
 keepalive_timeout 65;
 
 client_max_body_size 20m;
 
 ###### blogapp begin #######
    server {
        listen       80;
        server_name  localhost;
        location / {
			root /usr/share/nginx/html; #配置Vue項目根路徑,與
			index index.html index.html; #配置首頁
			try_files $uri $uri/ /index.html; #防止刷新報404
        }

        #error_page 404 /404.html;
            #location = /40x.html {
        #}

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
			root html;
        }
    }
  ###### blogapp end #######
 }

完成文件准備后,把文件ftp到服務器下。

構建鏡像、啟動容器

1、構建容器

進入vue項目文件夾下(我的目錄為/home/Memoyu.Blog.App下)

構建鏡像:

docker build -t memoyu/blogappimg . 
#-t  為容器重新分配一個偽輸入終端,通常與 -i 同時使用;
#memoyu/blogappimg  為容器名稱
#.  該點為當前目錄

查看當前所有鏡像:

docker images

刪除鏡像:

docker rmi imageID
#imageID  為需要刪除鏡像的ID,刪除前需保證沒有容器在引用

2、啟動容器

啟動容器:

docker run --name blogappcontainer -it -p 9002:80 memoyu/blogappimg
#--name blogappcontainer  --name為配置容器名稱,空格后跟容器名稱
#-it  容器的 Shell 映射到當前的 Shell,然后你在本機窗口輸入的命令,就會傳入容器。
#-p  為配置容器端口映射,容器中的80端口映射到本機的9002端口(默認容器內端口為80)
#memoyu/blogappimg  鏡像名稱
#**在執行當前命令時,會進行容器日志打印,使用ctrl+c可跳出,同時容器會終止,需重新啟動容器,否則,如果不需要查看日志,可以使用-d參數**

查看當前容器:

docker ps -a
-a  為查看全部,如果沒有-a則未查看在運行的容器

啟動容器:

docker start containerID
#containerID  為需要啟動的容器ID

停止容器:

docker stop containerID
#containerID  為需要停止的容器ID

刪除容器:

docker rm containerID
#containerID  為需要刪除的容器ID,刪除前需要保證容器處於停止狀態

至此,容器已經構造並啟動完成!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM