Docker 镜像管理

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
简介: Docker 镜像管理

Docker 镜像管理

文章目录

Docker 镜像管理

1. 拉取 (docker pull)

2. 查看配置信息 (docker inspect)

3. 修改tag (docker tag)

4. 打包与解包 (docker save|load)

5. 推送 (docker push)

6. 删除 (docker rmi)

7. 构建(docker build)

dockerhub官网:https://hub.docker.com/

prometheus镜像为示例

1. 拉取 (docker pull)

$ docker search prom/prometheus #搜索镜像
$ docker pull prom/prometheus    #默认版本latest
$ docker pull docker.io/prom/prometheus   #默认版本latest
$ docker pull docker.io/prom/prometheus:2.3.1   # 指定版本
$ docker images #查看镜像列表
$ docker images -a  #<none>标签得镜像也能被展示

2. 查看配置信息 (docker inspect)

$ docker inspect prom/prometheus:latest

3. 修改tag (docker tag)

$ docker tag prom/prometheus:latest prom/prometheus:v1.0  #修改版本
$ docker tag prom/prometheus:latest docker.registry.localhost/prometheus:latest #修改仓库名,修改自己的私有仓库docker.registry.localhost(自定义)

4. 打包与解包 (docker save|load)

打包

$ docker save -o prometheus.tar prom/prometheus:latest #第一种方式打包
$ docker save > prometheus.tar prom/prometheus:latest  #第二种方式打包
$ docker save -o monitor.tar prom/prometheus:latest prom/alertmanager:latest # 多个镜像打包
$ docker save prom/prometheus:latest | gzip -> prometheus.tar.gz

解包

$ docker load -i prometheus.tar  #第一种方式解包
$ docker load < prometheus.tar  #第二种方式解包

5. 推送 (docker push)

#将本地的镜像推送至公共镜像源的自己仓库,一般区别官方镜像,为私人定制。ghostwritten为我的仓库名

$ docker push docker.io/ghostwritten/prometheus:latest

将本地的镜像推送至本地搭建的私有仓库,一般为内网集群环境公用。搭建私有仓库请点击

$ docker push docker.registry.localhost/prometheus:latest  
$ docker push docker.registry.localhost/monitor/prometheus:latest  #加monitor tag方便区分镜像类型

6. 删除 (docker rmi)

$ docker rmi prom/prometheus:latest
$ docker rmi  -f prom/prometheus:latest  #-f 为强制删除

7. 构建(docker build)

docker build命令会根据Dockerfile文件及上下文构建新Docker镜像。构建上下文是指Dockerfile所在的本地路径或一个URL(Git仓库地址)。构建上下文环境会被递归处理,所以,构建所指定的路径还包括了子目录,而URL还包括了其中指定的子模块。

OPTIONS说明:

--build-arg=[] :设置镜像创建时的变量;
--cpu-shares :设置 cpu 使用权重;
--cpu-period :限制 CPU CFS周期;
--cpu-quota :限制 CPU CFS配额;
--cpuset-cpus :指定使用的CPU id;
--cpuset-mems :指定使用的内存 id;
--disable-content-trust :忽略校验,默认开启;
-f :指定要使用的Dockerfile路径;
--force-rm :设置镜像过程中删除中间容器;
--isolation :使用容器隔离技术;
--label=[] :设置镜像使用的元数据;
-m :设置内存最大值;
--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
--no-cache :创建镜像的过程不使用缓存;
--pull :尝试去更新镜像的新版本;
--quiet, -q :安静模式,成功后只输出镜像 ID;
--rm :设置镜像成功后删除中间容器;
--shm-size :设置/dev/shm的大小,默认值是64M;
--ulimit :Ulimit配置。
--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
--network: 默认 default。在构建期间设置RUN指令的网络模式

常用命令

$ docker build .  #默认使用当前目录下Dockerfile
$ docker  build . -f centosdockerfile  #其他名称dockerfile,需要指定
$ docker build -f /path/to/a/Dockerfile . #递归目录下的dockerfile
$ docker build -t ghostwritten/app . #指定镜像名
$ docker build -t ghostwritten/app:1.0.2 -t ghostwritten/app:latest . #指定多个tag
#Dockerfile文件中的每条指令会被独立执行,并会创建一个新镜像,Docker 会重用已生成的中间镜像,以加速docker build的构建速度,也可以通过--cache-from指定
$ docker build -t ghostwritten/app --cache-from 31f630c65071 . 
$ docker build -t ghostwritten/app --no-cache . #不使用缓存

详细请参考docker官网


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
相关文章
|
25天前
|
Docker 容器
将本地的应用程序打包成Docker镜像
将本地的应用程序打包成Docker镜像
|
9天前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
35 3
docker push推送自己搭建的镜像
|
13天前
|
Docker 容器
|
26天前
|
数据库 Docker 容器
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
48 9
|
1月前
|
缓存 Linux 网络安全
docker的镜像无法下载如何解决?
【10月更文挑战第31天】docker的镜像无法下载如何解决?
2036 30
|
26天前
|
存储 缓存 运维
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像。此机制减少存储占用,提高构建和传输效率。Docker还通过缓存机制提升构建和运行效率,减少重复工作。文章深入解析了Docker镜像分层存储与缓存机制,包括具体实现、管理优化及实际应用案例,帮助读者全面理解其优势与挑战。
43 4
|
1月前
|
存储 关系型数据库 Linux
【赵渝强老师】什么是Docker的镜像
Docker镜像是一个只读模板,包含应用程序及其运行所需的依赖环境。镜像采用分层文件系统,每次修改都会以读写层形式添加到原只读模板上。内核bootfs用于加载Linux内核,根镜像相当于操作系统,上方为应用层。镜像在物理存储上是一系列文件的集合,默认存储路径为“/var/lib/docker”。
|
1月前
|
存储 监控 Linux
docker构建镜像详解!!!
本文回顾了Docker的基本命令和管理技巧,包括容器和镜像的增删改查操作,容器的生命周期管理,以及如何通过端口映射和数据卷实现容器与宿主机之间的网络通信和数据持久化。文章还详细介绍了如何使用Docker部署一个简单的Web应用,并通过数据卷映射实现配置文件和日志的管理。最后,文章总结了如何制作自定义镜像,包括Nginx、Python3和CentOS镜像,以及如何制作私有云盘镜像。
162 2
|
1月前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
201 1
|
1月前
|
缓存 JavaScript 安全
深入理解Docker镜像构建过程
深入理解Docker镜像构建过程
75 0

热门文章

最新文章