window下安裝docker參考
手把手教你使用 Docker 部署 Vue.js 項(xiàng)目
從零搭建docker+jenkins+node.js自動化部署環(huán)境
1.安裝docker
參考鏈接1
2.通過docker獲取nginx鏡像
docker pull nginx
3.創(chuàng)建vue項(xiàng)目對應(yīng)的鏡像(Build)
3.1打包項(xiàng)目
我這里的vue項(xiàng)目是使用vue-cli3腳手架,執(zhí)行命令npm run build
在項(xiàng)目根路徑先創(chuàng)建Dockerfile
原文中的:
正確
FROM nginx
COPY dist/ /usr/share/nginx/html/
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
后來被我修改成這樣子發(fā)現(xiàn)不行,這個(gè)反而加深了對docker的理解。
Docker 將應(yīng)用程序與該程序的依賴,打包在一個(gè)文件里面。運(yùn)行這個(gè)文件,就會生成一個(gè)虛擬容器。程序在這個(gè)虛擬容器里運(yùn)行,就好像在真實(shí)的物理機(jī)上運(yùn)行一樣。有了 Docker,就不用擔(dān)心環(huán)境問題。
錯(cuò)誤
FROM nginx
COPY dist/ E:\_winney\lemon\test_vue\vue-cli3-project\nginx/html
COPY nginx/default.conf /usr/local/bin/nginx/conf.d/default.conf
3.2在項(xiàng)目根路徑下創(chuàng)建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 / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#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;
}
}
3.3 創(chuàng)建鏡像
docker build -t vuecontainer .
會有提示:
SECURITY WARNING: You are building a Docker image from Windows against
a non-Windows Docker host. All files and directories added to build context will
have '-rwxr-xr-x' permissions. It is recommended to double check and reset
permissions for sensitive files and directories.
最后通過命令查看容器是否創(chuàng)建成功docker images

4.運(yùn)行(Ship & Run)
Docker 容器Container: 鏡像運(yùn)行時(shí)的實(shí)體。鏡像(Image)和容器(Container)的關(guān)系,就像是面向?qū)ο蟪绦蛟O(shè)計(jì)中的類和實(shí)例一樣,鏡像是靜態(tài)的定義,容器是鏡像運(yùn)行時(shí)的實(shí)體。容器可以被創(chuàng)建、啟動、停止、刪除、暫停等 。
運(yùn)行命令:
docker run -p 8088:80 -d --name vueApp vuecontainer

雖然啟動成功,但是卻訪問不了,真的是略懂皮毛的,網(wǎng)上各種抄導(dǎo)致,自己不動腦,難受。
查看剛剛啟動的容器:
docker ps
然后訪問http://localhost:8088/
5.其他命令
刪除容器
先停掉docker容器:docker stop cfe76fe0f57c
再查看docker ps -a,其實(shí)是同一個(gè)容器。
根據(jù)鏡像容器id刪除容器:docker rm cfe76fe0f57c
刪除鏡像
首先需要停止該鏡像的所有容器。
查詢鏡像id:docker images

刪除鏡像:docker rmi 3ddbced621ce
