1、安裝docker
網上的步驟基本都可以用:https://blog.csdn.net/jinking01/article/details/82490688
2、docker安裝後sudo docker run helloworld 出現超時現象
解決方法 :https://blog.csdn.net/wangtaoking1/article/details/49126621
3、配置dist文件
將vue打包好的dist文件夾裏創建Dockerfile。寫入內容:
# 設置基礎鏡像
FROM nginx
# 將dist文件中的內容複製到 /usr/share/nginx/html/ 這個目錄下面
COPY / /usr/share/nginx/html/
# 使用dist文件中的nginx配置文件,覆蓋nginx鏡像中的配置文件
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
nginx文件夾裏創建default.conf文件。寫入內容:(記得修改自己的後端地址)
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log /var/log/nginx/host.access.log main;
error_log /var/log/nginx/error.log error;
# 配置首頁路徑
location / {
add_header Kss-Upstream $upstream_addr;
root /usr/share/nginx/html;
index index.html index.htm;
}
# 配置後端訪問路由,名稱包含dev-api的請求全部重定向至 http://120.77.179.239:8083/ 這個ip
location ^~ /dev-api/ {
add_header Kss-Upstream $upstream_addr;
rewrite /dev-api/(.*) /$1 break;
proxy_pass http://120.77.179.239:8083/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
5、將dist發送至服務器任意位置。進入dist根目錄。運行docker編譯命令:
docker build -t cloud-system . && docker run -p 1234:80 -d --name cloud cloud-system
(命令釋義:)
# 根據文件夾中的Dockerfile打包成一個鏡像,鏡像名字爲ship-system
docker build -t ship-system .
# 基於編譯好的ship-system鏡像,啓動一個名字爲my-ship的容器,並暴露於系統的80端口
# 80:80,前一個爲宿主機地址,後一個爲容器內部端口
docker run -p 80:80 -d --name my-ship ship-system
(停止並刪除容器方法:)
docker stop my-ship && docker rm my-ship
6、然後運行主機地址:端口(上圖是1234)即可
7、若想重新部署:
(1)停容器: 先查容器ID再把ID放在stop後面
sudo docker ps
sudo docker container stop 304811d71368
(2) 刪容器:先查容器ID再把ID放在rm後面
sudo docker ps -a
sudo docker container rm 304811d71368
(3)刪鏡像:先查鏡像ID再把ID放到rm後面
sudo docker image ls
sudo docker image rm 05b0c1acd399
重複步驟3-6即可。
其它各種容器指令參照鏈接:https://www.jianshu.com/p/bc08d38095bc