一. 目标
制作一个小demo
- 熟悉一下docker镜像仓库的login和logout
- 初步了解一下使用Dockerfile制作镜像的过程
- 熟悉一下个人镜像仓库的镜像推送和拉取
二. docker仓库的登录和退出
- docker默认镜像仓库地址为: https://hub.docker.com/
- 先在镜像仓库注册一个账号
- 在终端执行
登录
命令:docker login
3. 在终端执行
退出
命令:docker logout
- 可以使用阿里云docker镜像仓库, 地址为: https://cr.console.aliyun.com/cn-shanghai/instances/repositories
- 在阿里云镜像仓库注册一个账号
- 在终端执行
登录
命令:docker login --username=用户名 registry.cn-shanghai.aliyuncs.com
- 在终端执行
退出
命令:docker logout registry.cn-shanghai.aliyuncs.com
三. 使用Dockerfile制作镜像
- 新建Dockerfile文件
- 完成Dockerfile的编写(简单编写,此处不是重点…)
FROM nginx
RUN echo 'hello docker!!!' > /usr/share/nginx/html/index.html
- FROM nginx
FROM关键字:定义基础镜像, 此句意思是基础镜像为: nginx:latest- RUN echo ‘hello docker!!!’ > /usr/share/nginx/html/index.html
RUN关键字: RUN命令是Dockerfile执行命令的核心部分。它接受命令作为参数并用于创建镜像
此句意思是修改/usr/share/nginx/html/index.html该文件内容为: hello docker!!!
/usr/share/nginx/html/index.html
这个文件是nginx默认展示页
- 运行Dockerfile文件
执行命令:
docker build -t [镜像名]:[版本号] .
(点不要忘记了)
- 查看制作好的镜像
执行查看镜像命令:
docker images
四. 运行制作好的镜像
- 使用运行镜像命令:
docker run --name nginx_hello_90 -p 90:80 -d nginx_hello:v1
- 查看运行效果(端口为90):
五. 使用个人镜像仓库推送和拉取(以docker hub为例)
- 登录docker hub
- 重命名nginx_hello镜像(打上仓库标签)命令:
docker tag 6e055adeae72 wangxq2019/nginx_hello:v1
- 推送打好标签的新镜像:
docker push wangxq2019/nginx_hello:v1
- 运行
wangxq2019/nginx_hello
镜像, 看是否能成功访问
用
wangxq2019/nginx_hello
镜像实例化一个容器命令:docker run --name nginx_hello_91 -p 91:80 -d wangxq2019/nginx_hello:v1
查看结果(端口为91):
- 删除本地的
wangxq2019/nginx_hello
镜像(需要停止对应的容器), 然后从远处拉取镜像到本地
- 停止容器
nginx_hello_91
命令:docker stop nginx_hello_91
- 删除容器命令:
docker rm nginx_hello_91
- 删除
wangxq2019/nginx_hello
镜像命令:docker rmi wangxq2019/nginx_hello:v1
- 从docker hub 拉取wangxq2019/nginx_hello镜像:
docker pull wangxq2019/nginx_hello:v1