首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Docker之镜像发布

Docker之镜像发布

作者头像
无涯WuYa
发布2021-12-31 14:20:44
发布2021-12-31 14:20:44
5460
举报

在前面的文章中系统的介绍了Docker镜像的管理以及Docker中容器的管理,和使用Dockerfile来针对主流编程语言的环境部署。下面详细的概述下Docker中镜像的发布以及Docker中镜像发布的详细过程。

首先在https://hub.docker.com/地址注册一个账户。如果想把自己的镜像发布到dockerhub的地址,那么镜像的名称必须是name/imageName如image的名称为hello 那么要发布的镜像名称就为:wuyashare/hello,如果不这样处理的话,进行push的时候,就会提示没有权限的操作,这点需要特别的注意。下面详细的演示发布镜像的过程,具体如下:

代码语言:javascript
复制
#登录到dockerhub
[root@wuyaShare ~]# docker login
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded

#查看已打包的镜像文件
[root@wuyaShare ~]# docker image ls | grep flask
flask_web         latest     a729b9e871d5   20 hours ago    481MB

#修改镜像文件为符合push的名称
[root@wuyaShare ~]# docker tag a729b9e871d5 wuyashare/book
[root@wuyaShare ~]# docker image ls | grep book
wuyashare/book    latest     a729b9e871d5   20 hours ago    481MB

#发布镜像到dockerhub
[root@wuyaShare ~]# docker push  wuyashare/book:latest
The push refers to repository [docker.io/wuyashare/book]
18a0c85cec57: Pushed
ccddeef0e471: Pushed
0aa6da94c8d9: Pushed
bf30ad1ae062: Pushed
3f731ba12c3e: Pushed
aed45bc432f2: Pushed
703c251de224: Pushed
36f20b3f9e91: Pushed
fb82b029bea0: Mounted from library/centos
latest: digest: sha256:56a92f3d696e0ac4d49746a63d2c6f384357670d7eb2011c3653509a9c6b0e84 size: 2204

下来到自己的dockerhub的主页,就可以看到发布的镜像信息了,具体如下所示:

当然下来就可以获取自己发布的镜像了,具体如下所示:

代码语言:javascript
复制
#从dockerhub获取镜像信息
[root@wuyaShare ~]# docker pull wuyashare/book
Using default tag: latest
latest: Pulling from wuyashare/book
9b4ebb48de8d: Already exists
a9c452da1e09: Pull complete
c3b21741ca1e: Pull complete
2daa5f93af93: Pull complete
99a143663da8: Pull complete
6ddb7dd30ad9: Pull complete
86969619219d: Pull complete
26db951a2c92: Pull complete
8757f98f9b66: Pull complete
Digest: sha256:56a92f3d696e0ac4d49746a63d2c6f384357670d7eb2011c3653509a9c6b0e84
Status: Downloaded newer image for wuyashare/book:latest
docker.io/wuyashare/book:latest

#运行镜像
[root@wuyaShare ~]# docker run -it --rm wuyashare/book:latest
* Serving Flask app 'app' (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: on
* Running on all addresses.
WARNING: This is a development server. Do not use it in a production deployment.
* Running on http://172.18.0.2:5000/ (Press CTRL+C to quit)
* Restarting with stat
   * Debugger is active!
   * Debugger PIN: 105-275-560
#获取运行的容器ID的信息
docker ps -a |  grep book
b13de0ca638f   wuyashare/book:latest   "python3 app.py"   2 minutes ago   Up About a minute   5000/tcp   focused_pasteur

#进入正在运行的容器
[root@wuyaShare ~]# docker exec -it b13de0ca638f bash
[root@b13de0ca638f opt]# ls
app.py
[root@b13de0ca638f opt]#

如上,可以看到,我们通过Dockerfile构建一个镜像后,可以把镜像文件发布到dockerhub中,这样不管是自己还是其他的人员都是可以获取这个镜像文件,然后对它进行运行,从而提供具体的服务。比如您编写了一个测试的工具,想让别人使用它,那么可以发布成镜像,然后对镜像运行后,这样直接可以运行,而对方不需要刻意搭建运行这个测试工具的环境。感谢您的阅读,后续会持续的进行更新。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档