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,刪除前需要保證容器處於停止狀態
至此,容器已經構造並啟動完成!
