嘿嘿
一、docker search
命令选项 | 描述 |
–filter , -f | 根据给定的条件进行过滤 |
–format | 自定义打印格式 |
–no-trunc | 回显结果不进行截断,全部显示 |
–stars , -s (弃用) | 只显示收藏数不小于几颗星的镜像 |
–automated (弃用) | 只列出自动构建类型的镜像 |
二、镜像推送
1.注册账号
首先我们需要在docker网站注册一个账号
然后在我们的docker里面登录我们docker账号
docker login
2.选择本地镜像推送
首先通过我们命令查看我们本地镜像
docker images
然后选择我们一个本地镜像进行上传
docker push centos/dockerfile(你的容器名)
如果我们直接上传会发现上传失败,请求资源被拒绝
3.打标签
这里主要就是去控制我们的版本迭代变更
在这里我们需要对我们的docker进行打标签,这里对下面这段代码进行下解释
docker tag centos/dockerfile xiaotang0711/centosfile:v1 docker tag 你原来容器名 docker用户名/你要上传的容器名:标签1(可以不带,继承原有容器标签) 相当于会你原本基础上,重新一个创建一个带有标签1的容器
然后再去推送我们的容器
docker push xiaotang0711/centosfile:v1
完成!
也就可以在docke看到我们的刚刚上去的资源啦!
三、镜像拉取
我们来试一试拉取刚刚的镜像把
docker pull xiaotang0711/centosfile:v1(如果你的标签不是latest,记得要写上对应的标签喔!)
四、Docker镜像优化
在上一小节中,不知有没有映像,我们通过dockerfile文件对于我们的centos进行了创建,在第一次创建vim时,在docker history中可以看到会出多一个层级,在后面run了两条语句时,会多出两个层级。Ubantu docker学习笔记(二)拉取构建,属于你的容器
但是在实际过程中,我们会把那两条语句来进行合并,让镜像更小,部署效率得到提高。
下面,我们通过一个例子来更加深刻的来进行体会吧!
1.新建跑五句的Dockerfile
vim Dockerfile
具体centos的网络配置请看
Ubantu docker学习笔记(二)拉取构建,属于你的容器
#选择使用的image FROM centos/vim #因为如果直接用centos,还要改网络配置,我们直接用我们之前只装装过vim配置好了的, 来看把 #执行的命令 RUN yum -y install wget RUN yum -y install net-tools RUN yum -y install nano RUN yum -y install httpd EXPOSE 80 CMD systemctl start httpd
执行
因为我们5句分开就叫做run5啊哈哈哈哈,命令上一节做过解释了,就不强调了
docker build -t run5 .
1.新建跑一句的Dockerfile
vim Dockerfile
#选择使用的image FROM centos/vim #因为如果直接用centos,还要改网络配置,我们直接用我们之前只装装过vim配置好了的, 来看把 #执行的命令 RUN yum -y install wget && \ yum -y install net-tools && \ yum -y install nano && \ yum -y install httpd EXPOSE 80 CMD systemctl start httpd
执行
因为我们5句合成1句就叫做run1啊哈哈哈哈,命令上一节做过解释了,就不强调了
docker build -t run1 .
3.两者对比
我们首先来看看他们的images
docker images
很明显,我们跑五句的,内存要明显大于我们跑一句的,接下来我们来看看history
docker history 你要查看的容器号/镜像名
嘿嘿,现在看就很明显了吧!
5.做个总结吧
在本次学习中,我们详细学习了镜像的拉扯pull和push的过程,通过我们自己创建账号,进行上传和下载
然后我们对于docker的结构优化也简略的说了说,在实际的开发过程中,我们还可以通过一些yum和apt自带的命令来进行优化,以及一些优秀的社区工具Docker——squash等!嘿嘿,docker真好玩!!!