注意:Win7 與 Win10 的版本存在差別,Win7 版本使用 Docker Quickstart Terminal 進入控制檯,Win10下面直接用管理員權限打開控制檯或者 PowerShell 便可;另外 Win7 下面只能訪問 C盤,/app 表明 C:\app,Win10 下能夠直接使用 D:\app 這種路徑。node
第一步:建立一個 dockerfile 文件,放到目錄 C:\Users\havent.liu\my-appweb
FROM node:6-alpine MAINTAINER havent@qq.com WORKDIR /app COPY package.json /app RUN npm install COPY . /app CMD ["npm", "start"] EXPOSE 8000
第二步:建立一個 package.json 文件,放到目錄 C:\Users\havent.liu\my-appdocker
{ "name": "MY00-COM", "version": "1.0.0", "description": "A new website", "author": "HAVENT@QQ.COM", "scripts": { "start": "nodemon index.js" }, "dependencies": { "express": "^4.13.3", "body-parser": "^1.17.2", "http-proxy-middleware": "^0.17.4" }, "devDependencies": { "nodemon": "~1.8.1" } }
若是還有其餘代碼文件,也一併放到目錄 C:\Users\havent.liu\my-appexpress
第三步:編譯生成鏡像npm
# Win7 下面執行代碼 ( Docker Quickstart Terminal ) docker build -t havent/node6:base my-app # Win10 下面執行代碼 ( PowerShell ) docker build -t havent/node6:base C:\Users\havent.liu\my-app
第四步:發佈到 docker hub ( Win10 環境下啓動 docker for windows 就已經登陸好了,無需再次登陸 )json
---------------------------------------- $ docker login $ Username: havent $ Password:****** ... $ Login Succeeded $ docker push havent/node6
附一:根據鏡像,啓動一個容器副本windows
# 建立一個名字爲 HH-1 的容器副本,並將外部端口 8001 映射到容器內部端口 8000 上 docker run --name HH-1 -p 8001:8000 havent/node6:base
附二:查詢全部鏡像app
docker images
附三:查詢全部容器ui
docker ps -a
附四:中止全部容器spa
docker stop $(docker ps -q)
附五:刪除全部容器 ( 注:請先中止全部容器再執行刪除 )
docker rm $(docker ps -aq)