您的位置:首页 > 运维架构 > Docker

【HAVENT原创】创建 Dockerfile 生成新的镜像,并发布到 DockerHub

2018-06-25 11:24 791 查看
注意:Win7 与 Win10 的版本存在差异,Win7 版本使用 Docker Quickstart Terminal 进入控制台,Win10下面直接用管理员权限打开控制台或者 PowerShell 即可;另外 Win7 下面只能访问 C盘,/app 代表 C:\app,Win10 下可以直接使用 D:\app 这种路径。

第一步:创建一个 dockerfile 文件,放到目录 C:\Users\havent.liu\my-app

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-app

{
"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-app

第三步:编译生成镜像

# 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 就已经登录好了,无需再次登录 )

----------------------------------------
$ docker login
$ Username: havent
$ Password:******
...
$ Login Succeeded
$ docker push havent/node6


附一:根据镜像,启动一个容器副本

# 创建一个名字为 HH-1 的容器副本,并将外部端口 8001 映射到容器内部端口 8000 上
docker run --name HH-1 -p 8001:8000 havent/node6:base


附二:查询所有镜像

docker images


附三:查询所有容器

docker ps -a


附四:停止所有容器

docker stop $(docker ps -q)


附五:删除所有容器 ( 注:请先停止所有容器再执行删除 )

docker rm $(docker ps -aq)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Docker PowerShell