Docker镜像管理透析

欢迎关注【无量测试之道】公众号,回复【领取资源】,
Python编程学习资源干货、
Python+Appium框架APP的UI自动化、
Python+Selenium框架Web的UI自动化、
Python+Unittest框架API自动化、

资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。
 

1、docker,镜像,容器及仓库的概念

Docker 是一个开源的应用容器引擎,它是基于 Go 语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。


Docker 镜像(Image)就是一个只读的模板。

例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。
容器是由镜像来创建的,一个镜像可以创建很多容器。


仓库(Repository)是集中存放镜像文件的场所。

Docker 利用容器(Container)来运行应用。

容器是从镜像(Image)创建的运行实例。

 

2、docker镜像的管理

1).构建一个自定义的镜像
docker build -t tonyflask/first . 

#.表示用当前目录的Dockerfile 来构建,tonyflask/first 是打的一个tag

 

 

 

 

 

 镜像创建成功了,如下图:

 

 

 2).保存镜像到本地磁盘

没有返回表示保存成功。
docker save -o tonyflask.tar tonyflask/first 

本地文件名为tonyflask.tar 文件,命令成功后会生成你所命名的文件。

 

 

 

3).给镜像做一个副本
docker tag tonyflask/first tonyflask/addredis 

此命令我将tonyflask/first的镜像做了一个副本,在原基础上安装了redis的第三方包。成功后可以通过docker images 查看到。

 

 

 

 4).也可以将容器(运行的镜像)进行打包(因为你可能会去更新镜像,但又要保留下来)
docker ps 查看一下运行的容器:

 

 

 

docker export -o run0613.tar container_id

5).将本地保存下来的tar 格式的镜像文件导入到镜像仓库中去
docker load < tonyflask.tar

 

 

 6).还可以将本地文件内容拷贝到容器(运行的镜像)中去,这样也可以构建我们自己想要的新镜像
dock cp a.py container_id:/dir

 

 

 7).将镜像上传到docker hub仓库中去,这样可以供其他需要的人使用。
首先你要去注册一个docker hub 账号,这里不赘述。
然后docker login

 

 

 

最后就是docker push 推本地的镜像到hub 仓库
docker tag tonyfirstflask 190029/tonyfirstflask 

#重新打一个tag,190029是我的docker hub账号

 

 

 

docker push 190029/tonyfirstflask 

#开始发布我的镜像

 

 

 发布成功后可以去docker hub 上面查看一下:

 

 

 8).其他人要想使用的话,可以docker pull 即可

 

 

 结语:本次上传的镜像是一个真实可使用的镜像,里面是一个flask 服务,有三个菜单选项,大家可以通过此命令
docker run -d -p 127.0.0.1:9000:9000 190029/tonyfirstflask启动服务,本地就可以直接访问了,如下所示:

 

 

 

备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

 添加关注,一起共同成长吧。

posted on 2020-07-07 15:24  Wu_Candy  阅读(215)  评论(0编辑  收藏  举报