容器Docker学习系列三~每天几个小命令

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

今天要学习的命令包含剩下的五个rmi,tag,build,history,save,import

今天继续学习我们的Docker命令,在简单的了解命令后我们会开始实战操作执行Docker容器,应用起来我们的命令。今天继续学习六大部门Docker命令中的本地镜像管理命令
原先我们学习images的命令可以参考前一篇文章容器Docker学习系列二了解
今天要学习的命令包含剩下的五个rmi,tag,build,history,save,import

rmi

执行操作 docker rmi [OPTIONS] 镜像名称

删除本地一个或者多个镜像

OPTIONS 是一个可选操作:

-f :强制删除

--no-prune:不移除该镜像的过程镜像,默认操作是移除。

docker@ubuntu:~$ docker images 
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest 8bf72137439e 4 days ago 380MB
redis latest 4e8db158f18d 11 days ago 83.4MB
docker@ubuntu:~$ docker rmi redis 
Untagged: redis:latest
Untagged: redis@sha256:858b1677143e9f8455821881115e276f6177221de1c663d0abef9b2fda02d065
Deleted: sha256:4e8db158f18dc71307f95260e532df39a9b604b51d4e697468e82845c50cfe28
Deleted: sha256:f0a7bdb1c3ed0d654f4c089184d736248a36fe904656c4a6907d2c1af3e28886
Deleted: sha256:96aa0bbe90a1e1cc0400b9ae97ceae726b4c8a4b4e86cbaa38577437b1747317
Deleted: sha256:098bb5a74892a87af81f5eb190c2768aaa2a625300b111270c53951488995658
Deleted: sha256:e6b3eda8746c5cc312ebb40e1ca5c064638af429b9b3848280aab8ed882bd10b
Deleted: sha256:aee8b479b9a768a64f4c32d69108566fbdbb71c8e541496dd1fa9f7ad19d8632
Deleted: sha256:cdb3f9544e4c61d45da1ea44f7d92386639a052c620d1550376f22f5b46981af
docker@ubuntu:~$ docker images 
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest 8bf72137439e 4 days ago 380MB

# tag

执行操作 docker tag [OPTION] sourceImage[:TAG] targetImage[:TAG]

用来标记本地的镜像,将其归入其中的仓库中 .将源目标的tag创建一个新的TAG或者是某一类的标签标示

OPTION 可选:

-f :强制覆盖

例子如下展示了修改标签。 标签一般代表的是版本

docker@ubuntu:~$ docker images 
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest 8bf72137439e 4 days ago 380MB
docker@ubuntu:~$ docker tag mongo:latest mongo:13.2
docker@ubuntu:~$ docker images 
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo 13.2 8bf72137439e 4 days ago 380MB

# build

docker build [OPTIONS] PATH | URL | -

docker build 用于使用DockerFile来创建使用自己的镜像。

因为OPTIONS 是可选的 但是我们在构建的时候常用的可选参数应该也明白下。

• --build-arg :用来设置构建时的变量
•  --no-cache : 默认false,如果设置该选项将不会使用Build Cache 构建镜像
•  --compress,默认false。设置该选项,将使用gzip压缩构建的上下文
• --disable-content-trust,默认true。设置该选项,将对镜像进行验证
• --file, -f,Dockerfile的完整路径,默认值为‘PATH/Dockerfile’
• --isolation,默认--isolation="default",即Linux命名空间;其他还有process或hyperv
• --label,为生成的镜像设置metadata
• --squash,默认false。设置该选项,将新构建出的多个层压缩为一个新层,但是将无法在多个镜像之间共享新层;设置该选项,实际上是创建了新image,同时保留原有image。
• --tag, -t,镜像的名字及tag,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个tag
• --network,默认default。设置该选项,Set the networking mode for the RUN instructions during build
• --quiet, -q ,默认false。设置该选项,Suppress the build output and print image ID on success
• --force-rm,默认false。设置该选项,总是删除掉中间环节的容器
• --rm,默认--rm=true,即整个构建过程成功后删除中间环节的容器

那么我们应该怎么使用呢?

如果我们当前目录有Dockerfile文件那么使用或者不是当前目录

docker build -t mongo:12.1
docker build -f dockerfile 文件路径

当然我们除了本地的文件也可以是远程仓库的路径,如远程URL,Git的仓库等等。

例子

docker build github.com/creack/docker-firefox

执行过程:

Sending build context to Docker daemon 72.19kB
Step 1/7 : from ubuntu:12.04
12.04: Pulling from library/ubuntu
d8868e50ac4c: Pull complete 
83251ac64627: Pull complete 
589bba2f1b36: Pull complete 
d62ecaceda39: Waiting 
6d93b41cfc6b: Download complete

今天我们就先了解这三个命令,尝试下使用。多多练习,我们才能熟悉这些命令掌握使用。


原文发布时间为:2018-08-18

本文作者:琪琪

本文来自云栖社区合作伙伴“LuckQI”,了解相关信息可以关注“LuckQI”。

相关文章
|
1月前
|
存储 Java Linux
【Docker】(2)还在浏览网页寻找Docker命令?本文全面列举与使用Docker里的各个命令!想要什么命令直接从本文拿!
docker有着比VM更少的抽象层 由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用的都是实际物理机的硬件资源 因此在CPU、内存利用率上Docker将会在效率上有明显优势 docker利用的时宿主机的内核,而不需要加载操作系统OS内核 当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统内核 进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建过程时分钟级别的。 而Docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个Docker容器只需
331 124
|
1月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
319 5
|
1月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
154 6
kde
|
1月前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
375 4
|
3月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
764 109
|
4月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
407 57
|
1月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !