docker使用教程(二)
本地镜像管理:
build 从Dockerfile文件构建镜像
history 显示镜像的历史
images 管理镜像
import 从tarball导入内容以创建文件系统镜像
load 从tar存档或STDIN加载镜像
rmi 删除一个或多个镜像
save 将一个或多个镜像保存到tar存档
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
build
用法: docker build [OPTIONS] PATH | URL | -
从Dockerfile文件构建镜像
Options:
--add-host list 添加自定义主机到IP的映射(host:ip)
--build-arg list 设置构建时变量
--cache-from strings 视为缓存源的镜像
--cgroup-parent string 容器的可选父cgroup
--compress 使用gzip压缩构建上下文
--cpu-period int 限制CPU CFS(完全公平的调度程序)期限
--cpu-quota int 限制CPU CFS(完全公平的调度程序)配额
-c, --cpu-shares int CPU shares (relative weight)
--cpuset-cpus string 允许执行的CPU (0-3, 0,1)
--cpuset-mems string 允许执行的MEM (0-3, 0,1)
--disable-content-trust 跳过镜像验证 (default true)
-f, --file string Dockerfile的名称(默认为“ PATH / Dockerfile”)
--force-rm 总是删除中间容器
--iidfile string 将镜像ID写入文件
--isolation string 集装箱隔离技术
--label list 设置镜像的元数据
-m, --memory bytes 内存限制
--memory-swap bytes 交换限制等于内存加交换:“-1”以启用无限交换
--network string 在构建期间为RUN指令设置联网模式(默认 "default")
--no-cache 构建映像时不要使用缓存
--pull 始终尝试提取镜像的较新版本
-q, --quiet 禁止生成输出并在成功时打印镜像ID
--rm 成功构建后删除中间容器 (默认 true)
--security-opt strings 安全选项
--shm-size bytes /dev/shm的大小
-t, --tag list 名称和“ name:tag”格式的标签(可选)
--target string 设置要构建的目标构建阶段
--ulimit ulimit Ulimit选项 (默认 [])
实例:
使用URL github.com/creack/docker-firefox 的 Dockerfile
创建镜像
|
|
从Dockerfile
处构建
|
|
使用当前目录的 Dockerfile
创建镜像,标签为 chemistryhuang/ubuntu:v1
|
|
也可以通过 -f
Dockerfile
文件的位置
|
|
history
用法: docker history [OPTIONS] IMAGE
显示镜像的历史
Options:
--format string 使用Go模板打印漂亮的镜像
-H, --human 以人类可读的方式打印尺寸和日期 (默认 true)
--no-trunc 不要截断输出
-q, --quiet 仅显示数字ID
实例:
|
|
images
用法: docker images [OPTIONS] [REPOSITORY[:TAG]]
列出镜像
Options:
-a, --all 显示所有镜像(默认隐藏中间镜像)
--digests 显示摘要
-f, --filter filter 根据提供的条件过滤输出
--format string 使用Go模板打印漂亮的镜像
--no-trunc 不要截断输出
-q, --quiet 仅显示数字ID
docker images
默认将显示所有镜像,它们的存储库和标签以及它们的大小。
实例:
1、列出最近创建镜像
|
|
2、列出完整的镜像ID
|
|
3、列出完整的镜像摘要
|
|
4、格式化输出
Placeholder | Description |
---|---|
.ID |
Image ID |
.Repository |
Image repository |
.Tag |
Image tag |
.Digest |
Image digest |
.CreatedSince |
Elapsed time since the image was created |
.CreatedAt |
Time when the image was created |
.Size |
Image disk size |
|
|
import
用法: docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
从tarball导入内容以创建文件系统镜像
Options:
-c, --change list 将Dockerfile指令应用于创建的镜像
-m, --message string 为导入的镜像设置提交消息
可以指定URL
或-
(破折号)以直接从获取数据STDIN
。所述 URL
可指向含有一个文件系统的归档(的.tar,名为.tar.gz,.tgz的,.bzip,.tar.xz,或.txz)或所述多克尔主机上的单个文件。如果您指定档案,Docker会将其解压缩到相对于/
(根)的容器中。如果指定单个文件,则必须指定主机内的完整路径。要从远程位置导入,请指定以或协议URI
开头的 。http://``https://
该--change
选项会将Dockerfile
说明应用于创建的镜像。支持的Dockerfile
指令: CMD
| ENTRYPOINT
| ENV
| EXPOSE
| ONBUILD
| USER
| VOLUME
|WORKDIR
实例:
1、从本地文件导入
-
通过管道和导入到docker
STDIN
。1
cat exampleimage.tgz | docker import - exampleimagelocal:new
-
通过提交消息导入。
1
cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new
-
从本地档案导入docker。
1
docker import /path/to/myexampleimage.tgz
2、从本地目录导入
|
|
3、使用新配置从本地目录导入
|
|
load
用法: docker load [OPTIONS]
从tar存档或STDIN加载镜像
Options:
-i, --input string 从tar存档文件而非STDIN中读取
-q, --quiet 抑制负载输出
从文件或STDIN中的tar存档(即使使用gzip,bzip2或xz压缩)中加载镜像或存储库。同时可还原镜像和标签。
实例:
docker load --input fedora.tar
rmi
用法: docker rmi [OPTIONS] IMAGE [IMAGE...]
删除一个或多个镜像
Options:
-f, --force 强制删除镜像
--no-prune 不要删除未加标签的父镜像
从主机节点删除(并取消标记)一个或多个镜像。如果镜像具有多个标签,则将此命令与标签一起使用时,只会删除该标签。如果标签是镜像的唯一标签,则镜像和标签都将被删除。
使用该-f
选项,可删除正在运行的容器的映像。
实例:
|
|
save
用法: docker save [OPTIONS] IMAGE [IMAGE...]
将一个或多个镜像保存到tar存档(默认情况下流式传输到STDOUT)
Options:
-o, --output string 写入文件,而不是STDOU
实例:
|
|
tag
用法: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
实例:
|
|
- 原文作者:kmistry
- 原文链接:https://chemistryhuang.github.io/posts/docker%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B_2/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。