【HAVENT原創】建立 Dockerfile 生成新的鏡像,併發布到 DockerHub

注意: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)
相關文章
相關標籤/搜索