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

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

嘿嘿

一、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真好玩!!!

相关文章
|
10天前
|
Cloud Native Java Docker
java一分钟之-Docker化Java应用:Dockerfile与镜像构建
【6月更文挑战第6天】本文探讨了Docker在Java应用部署中的重要性,强调了Dockerfile在保证环境一致性和提升部署效率上的作用。Dockerfile是自动化构建Docker镜像的文本文件,它的使用能实现标准化、可重复性和透明度。文章指出了编写Dockerfile时的常见问题,如指令误用、镜像体积过大和安全性不足,并提供了相应的解决策略。通过一个Spring Boot应用的实战示例,展示了如何编写Dockerfile和构建镜像。总之,掌握Dockerfile和镜像构建技巧对于优化Java应用的云原生部署至关重要。
36 0
|
24天前
|
Kubernetes 调度 Docker
Ubantu docker学习笔记(十一)k8s基本操作
Ubantu docker学习笔记(十一)k8s基本操作
|
24天前
|
缓存 关系型数据库 MySQL
Ubantu docker 大作业准备实验
Ubantu docker 大作业准备实验
|
24天前
|
Prometheus 监控 Cloud Native
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
Ubantu docker学习笔记(九)容器监控 自带的监控+sysdig+scope+cAdvisor+prometheus
|
24天前
|
存储 应用服务中间件 nginx
Ubantu docker学习笔记(八)私有仓库
Ubantu docker学习笔记(八)私有仓库
|
24天前
|
网络协议 Docker 容器
Ubantu docker学习笔记(七)容器网络
Ubantu docker学习笔记(七)容器网络
|
24天前
|
Docker 容器
Ubantu docker学习笔记(六)容器数据卷——补充实验
Ubantu docker学习笔记(六)容器数据卷——补充实验
|
24天前
|
安全 Linux Docker
Ubantu docker学习笔记(六)容器数据卷
Ubantu docker学习笔记(六)容器数据卷
Ubantu docker学习笔记(六)容器数据卷
|
1月前
|
Linux Docker 容器
Docker Dockerfile 语法与指令
Docker Dockerfile 语法与指令
34 0
|
10月前
|
Linux Docker 容器
Docker Dockerfile 语法与指令
Docker Dockerfile 语法与指令
105 0