Ubantu docker学习笔记(三)docker账号push及Dockerfile优化

文章目录

  • 嘿嘿
  • 一、docker search
  • 二、镜像推送
    • 1.注册账号
    • 2.选择本地镜像推送
    • 3.打标签
  • 三、镜像拉取
  • 四、Docker镜像优化
    • 1.新建跑五句的Dockerfile
    • 1.新建跑一句的Dockerfile
    • 3.两者对比
  • 5.做个总结吧


嘿嘿

一、docker search

命令选项 描述
–filter , -f 根据给定的条件进行过滤
–format 自定义打印格式
–no-trunc 回显结果不进行截断,全部显示
–stars , -s (弃用) 只显示收藏数不小于几颗星的镜像
–automated (弃用) 只列出自动构建类型的镜像

二、镜像推送

1.注册账号

首先我们需要在docker网站注册一个账号
注册网址
Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第1张图片
然后在我们的docker里面登录我们docker账号

docker login

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第2张图片

2.选择本地镜像推送

首先通过我们命令查看我们本地镜像

docker images

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第3张图片
然后选择我们一个本地镜像进行上传

docker push centos/dockerfile(你的容器名)

如果我们直接上传会发现上传失败,请求资源被拒绝
Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第4张图片

3.打标签

这里主要就是去控制我们的版本迭代变更
在这里我们需要对我们的docker进行打标签,这里对下面这段代码进行下解释

docker tag  centos/dockerfile xiaotang0711/centosfile:v1

docker tag 你原来容器名 docker用户名/你要上传的容器名:标签1(可以不带,继承原有容器标签)
相当于会你原本基础上,重新一个创建一个带有标签1的容器

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第5张图片

然后再去推送我们的容器

docker push xiaotang0711/centosfile:v1

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第6张图片
完成!
也就可以在docke看到我们的刚刚上去的资源啦!
Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第7张图片

三、镜像拉取

我们来试一试拉取刚刚的镜像把

docker pull xiaotang0711/centosfile:v1(如果你的标签不是latest,记得要写上对应的标签喔!)

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第8张图片

四、Docker镜像优化

在上一小节中,不知有没有映像,我们通过dockerfile文件对于我们的centos进行了创建,在第一次创建vim时,在docker history中可以看到会出多一个层级,在后面run了两条语句时,会多出两个层级。Ubantu docker学习笔记(二)拉取构建,属于你的容器
Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第9张图片

但是在实际过程中,我们会把那两条语句来进行合并,让镜像更小,部署效率得到提高。
下面,我们通过一个例子来更加深刻的来进行体会吧!

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

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第10张图片
执行
因为我们5句分开就叫做run5啊哈哈哈哈,命令上一节做过解释了,就不强调了

docker build -t run5 .

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第11张图片

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 .

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第12张图片

3.两者对比

我们首先来看看他们的images

docker images

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第13张图片
很明显,我们跑五句的,内存要明显大于我们跑一句的,接下来我们来看看history

docker history 你要查看的容器号/镜像名

Ubantu docker学习笔记(三)docker账号push及Dockerfile优化_第14张图片
嘿嘿,现在看就很明显了吧!

5.做个总结吧

在本次学习中,我们详细学习了镜像的拉扯pull和push的过程,通过我们自己创建账号,进行上传和下载
然后我们对于docker的结构优化也简略的说了说,在实际的开发过程中,我们还可以通过一些yum和apt自带的命令来进行优化,以及一些优秀的社区工具Docker——squash等!嘿嘿,docker真好玩!!!

你可能感兴趣的:(Docker,docker,学习,容器,linux,运维)