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

相关文章
|
15天前
|
应用服务中间件 PHP nginx
Docker-compose 编排lnmp(dockerfile) 完成Wordpress
通过使用Docker Compose,我们可以轻松编排LNMP环境并部署WordPress。本文详细介绍了各组件的Dockerfile和配置文件编写,并通过docker-compose.yml文件实现了整个环境的自动化部署。这种方法不仅简化了部署过程,还提高了环境的可移植性和一致性。希望本文能帮助你更好地理解和使用Docker Compose来管理和部署复杂的应用程序。
43 3
|
20天前
|
存储 Java 开发者
成功优化!Java 基础 Docker 镜像从 674MB 缩减到 58MB 的经验分享
本文分享了如何通过 jlink 和 jdeps 工具将 Java 基础 Docker 镜像从 674MB 优化至 58MB 的经验。首先介绍了选择合适的基础镜像的重要性,然后详细讲解了使用 jlink 构建自定义 JRE 镜像的方法,并通过 jdeps 自动化模块依赖分析,最终实现了镜像的大幅缩减。此外,文章还提供了实用的 .dockerignore 文件技巧和选择安全、兼容的基础镜像的建议,帮助开发者提升镜像优化的效果。
|
24天前
|
存储 缓存 Java
Java应用瘦身记:Docker镜像从674MB优化至58MB的实践指南
【10月更文挑战第22天】 在容器化时代,Docker镜像的大小直接影响到应用的部署速度和运行效率。一个轻量级的Docker镜像可以减少存储成本、加快启动时间,并提高资源利用率。本文将分享如何将一个Java基础Docker镜像从674MB缩减到58MB的实践经验。
39 1
|
1月前
|
Docker 容器
docker中使用Dockerfile自动创建数据卷
【10月更文挑战第12天】
19 5
|
1月前
|
安全 网络安全 开发者
Docker学习笔记(一):Docker命令总结
本文介绍了Docker的基本概念、优点以及常用命令。Docker是一个开源的应用容器引擎,它通过容器打包应用程序及其依赖项,实现快速部署和迁移。主要优点包括轻量级、可移植性、易于管理、安全性和开源性。文章还区分了镜像和容器的概念,并提供了构建镜像、查看容器、运行容器、停止和删除容器等常用Docker命令的示例。
134 0
|
1月前
|
消息中间件 NoSQL Kafka
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
39 4
|
1月前
|
存储 Ubuntu JavaScript
如何使用Docker优化你的开发环境配置
如何使用Docker优化你的开发环境配置
|
1月前
|
开发者 Docker 微服务
利用Docker Compose优化微服务架构
在微服务架构中,Docker Compose提供了一种简便有效的方法来定义和运行多容器Docker应用程序,通过YAML文件配置服务、网络和卷,实现一键创建和启动。这不仅确保了开发、测试和生产环境的一致性,还简化了团队协作和维护工作,大幅提升了开发效率。本文将详细介绍Doker Compose的核心优势、基本使用方法及高级功能,帮助你更好地管理和优化微服务架构。
|
2月前
|
应用服务中间件 nginx Docker
Docker镜像-基于DockerFile制作编译版nginx镜像
这篇文章介绍了如何基于Dockerfile制作一个编译版的nginx镜像,并提供了详细的步骤和命令。
434 17
Docker镜像-基于DockerFile制作编译版nginx镜像
|
1月前
|
Docker 容器
利用Docker Compose优化开发环境的配置
在现代软件开发中,环境一致性至关重要。开发人员常需在不同机器间复制环境配置,而Docker Compose提供了一种简便有效的方法来定义和运行多容器Docker应用程序,确保开发、测试和生产环境一致,简化团队协作,提高开发效率。通过YAML文件配置服务、网络和卷,使用简单命令即可启动和停止服务。本文将介绍Docker Compose的核心优势、基本使用方法及高级功能,帮助你更好地管理和优化开发环境。