转载自:http://www.itmuch.com/docker/04-docker-command-images/
关于docker安装网上有很多介绍,可以参看http://www.itmuch.com/docker/02-docker-install/,win7下安装可以参考https://www.jianshu.com/p/d809971b1fc1。
需要注意的是,Docker存储的文件,例如镜像、容器、卷以及网络文件等,会保存在/var/lib/docker
目录中。因此,一般建议用软链指到其它地方,方便管理。
搜索镜像
docker search [OPTIONS] TERM
参数:
--automated
只列出自动构建的镜像,默认false
--filter, -f
根据指定条件过滤结果
--limit
搜索结果的最大条数,默认25条
--no-trunc
不截断输出,显示完整的输出,默认false
--stars, -s
只展示Star不低于该数值的结果,默认0
下载镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
参数:
--all-tags, -a
下载所有标签的镜像,默认false
--disable-content-trust
忽略镜像的校验,默认true
该命令还可指定想要下载的镜像标签以及Docker Registry地址,例如:docker pull reg.itmuch.com/java:7
列出镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
参数:
--all, -a
列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层),默认false
--digests
显示摘要信息,默认false
--filter, -f
显示满足条件的镜像
--format
通过Go语言模板文件展示镜像
--no-trunc
不截断输出,显示完整的镜像信息,默认false
--quiet, -q
只显示镜像ID,默认false
删除本地镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
参数:
--force, -f
强制删除,默认false
--no-prune
不移除该镜像的过程镜像,默认false移除
删除所有镜像:docker rmi -f $(docker images)
保存镜像
docker save
示例:
docker save busybox > busybox.tar
docker save --output busybox.tar busybox
加载镜像
docker load
示例:
docker load < busybox.tar.gz
docker load --input fedora.tar
构建镜像
通过Dockerfile构建镜像。
命令格式:docker build [OPTIONS] PATH | URL | -
参数:
--add-host
添加自定义从host到IP的映射,格式为(host:ip)
--build-arg
设置构建时的变量
--cache-from
作为缓存源的镜像
--cgroup-parent
容器可选的父cgroup
--compress
使用gzip压缩构建上下文
--cpu-period
限制CPU CFS (Completely Fair Scheduler) 周期
--cpu-quota
限制CPU CFS (Completely Fair Scheduler) 配额
--cpu-shares, -c
0 CPU使用权重(相对权重)
--cpuset-cpus
指定允许执行的CPU
--cpuset-mems
指定允许执行的内存
--disable-content-trust
true 忽略校验
--file, -f
指定Dockerfile的名称,默认是‘PATH/Dockerfile’
--force-rm
false 删除中间容器
--iidfile
将镜像ID写到文件中
--isolation
容器隔离技术
--label
设置镜像使用的元数据
--memory, -m
0 设置内存限制
--memory-swap
0 设置Swap的最大值为内存+swap,如果设置为-1表示不限swap
--network
default 在构建期间设置RUN指令的网络模式
--no-cache
false 构建镜像过程中不使用缓存
--pull
false 总是尝试去更新镜像的新版本
--quiet, -q
false 静默模式,构建成功后只输出镜像ID
--rm
true 构建成功后立即删除中间容器
--security-opt
安全选项
--shm-size
0 指定/dev/shm 目录的大小
--squash
false 将构建的层压缩成一个新的层
--tag, -t
设置标签,格式:name:tag,tag可选
--target
设置构建时的目标构建阶段
--ulimit
Ulimit 选项