文章字数:2132,阅读全文大约需要8分钟
一、容器生命周期管理
命令 | 含义 |
---|---|
run | 启动新容器 |
start | 启动一个或多个被停止的容器 |
stop | 停止容器,允许容器进行关闭前准备 |
restart | 重启容器 |
kill | 直接关闭容器 |
rm | 删除一个或多个容器 |
pause | 暂停容器中所有的进程 |
unpause | 恢复容器中所有的进程 |
create | 创建新容器,但不启动 |
exec | 在运行的容器中执行命令 |
- 示例
1 | docker run [options] imageTag [cmd] [args] |
- 参数说明
-a stdin
指定标准输出内容类型,可选stdin``stdout``stderr
-d
后台运行容器,返回容器ID-i
交互式运行容器,通常搭配-t
-t
为容器重新分配伪输入终端,通常搭配-i
-P
随机映射端口,容器内端口随机映射到主机端口-p
指定端口映射宿主端口:容器端口
--name="name"
指定容器名称--dns 8.8.8.8
指定容器的DNS
,默认和宿主机一致--dns-search test.com
指定容器DNS
搜索域,默认和宿主机一致-h "hostname"
指定容器hostname-e username="name"
设置环境变量--env-file=[]
从指定文件中获取环境变量--cpuset="0-2"
或者--cpuset="0,1,2"
绑定容器到指定的CPU
上运行-m
设置容器使用内存最大值--net="bridge"
指定容器网络连接类型,可选bridge``host``none``container
--link=[]
添加链接到另一个容器--expose=[]
开发一个端口或者一组端口--volume``-v
绑定一个卷
- 示例
1 | docker start [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker stop [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker restart [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker kill [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker rm [OPTIONS] CONTAINER [CONTAINER...] |
- 参数
-f
通过SIGKILL
信号强制删除运行中的容器-l
移除容器间的网络连接,而不是容器本身-v
删除容器关联的卷
- 示例
1 | docker pause CONTAINER [CONTAINER...] |
- 示例
1 | docker unpause CONTAINER [CONTAINER...] |
- 示例
1 | docker create [OPTIONS] IMAGE [COMMAND] [ARG...] |
- 示例
1 | docker exec [OPTIONS] CONTAINER COMMAND [ARG...] |
二、容器操作
命令 | 含义 |
---|---|
ps | 列出所有容器 |
inspect | 获取容器/镜像的元数据 |
top | 查看容器中运行的进程信息,支持ps命令参数 |
attach | 连接到正在运行中的容器 |
events | 从服务器获取实时事件 |
logs | 获取容器的日志 |
wait | 阻塞运行,直到容器停止。然后打印容器退出代码 |
export | 将文件系统当做tar归档文件,导出到指定输出 |
port | 列出容器端口映射 |
- 示例
1 | docker ps [OPTIONS] |
- 参数
-a
显示所有的容器,包括未运行的-f
根据条件过滤--format
指定返回内容的模板-l
显示最近创建的容器-n
列出最近创建的n个容器--no-trunc
不阶段输出-q
静默模式,只显示容器编号-s
显示总的文件大小
- 示例
1 | docker inspect [OPTIONS] NAME|ID [NAME|ID...] |
- 参数
-f
指定返回值的模板文件-s
显示总的文件大小--type
为指定类型返回JSON
- 示例
1 | docker top [OPTIONS] CONTAINER [ps OPTIONS] |
相当于在容器内部执行top命令
- 示例
1 | docker attach [OPTIONS] CONTAINER |
--sig-proxy=false
参数可以使ctrl-d
和ctrl-c
不会退出容器,仅退出连接
- 示例
1 | docker events [OPTIONS] |
- 参数
-f
根据条件过滤--since
从指定的时间戳后显示所有事件--until
流水时间显示到指定时间为止
- 示例
1 | docker logs [OPTIONS] CONTAINER |
- 参数
-f
跟着日志输出--since
显示某个开始时间的所有日志-t
显示时间戳--tail
仅列出最新N
条容器日志
- 示例
1 | docker wait [OPTIONS] CONTAINER [CONTAINER...] |
- 示例
1 | docker export [OPTIONS] CONTAINER |
- 参数
-o
将输出内容写到文件
- 示例
1 | docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]] |
三、容器rootfs命令
命令 | 含义 |
---|---|
commit | 从容器创建一个新的镜像,将容器保存成新镜像 |
cp | 容器和主机直接数据拷贝 |
diff | 检查容器里文件结构的更改 |
- 示例
1 | docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] |
- 参数
-a
镜像作者-c
使用Dockerfile
来创建镜像-m
镜像说明-p
提交时将容器暂停
- 示例
1 | docker cp [OPTIONS] 容器:地址 主机地址 |
-L
保持源目标中的链接
- 示例
1 | docker diff [OPTIONS] CONTAINER |
四、镜像仓库
命令 | 含义 |
---|---|
login/loginout | 登录/退出镜像仓库 |
pull | 从镜像仓库中拉取或者更新指定镜像 |
push | 本地镜像上传到镜像仓库 |
search | 从Docker Hub查找镜像 |
- 示例
1 | # -u 用户名 -p 密码 不指定仓库地址,默认是Docker Hub |
- 示例
1 | docker pull [OPTIONS] NAME[:TAG|@DIGEST] |
- 参数
-a
拉取所有tagged
镜像--disable-content-trust
忽略镜像校验,默认开启
- 示例
1 | # --disable-content-trust :忽略镜像的校验,默认开启 |
- 示例
1 | docker search [OPTIONS] TERM |
- 参数
--automated
只列出automated build
类型的镜像--no-trunc
显示完整镜像描述-f stars=10
列出收藏数不小于指定数的镜像
五、本地仓库
命令 | 示例 | 含义 |
---|---|---|
images | 列出本地镜像 | |
rmi | 删除本地一个或多个镜像 | |
tag | 标记本地镜像,将其归入某一仓库 | |
build | 使用Dockerfile创建镜像 | |
history | 查看指定镜像的创建历史 | |
save | 和export类似,生产的文件是多层,可以回滚到上个版本 | |
load | ||
import |
- 示例
1 | docker images [OPTIONS] [REPOSITORY[:TAG]] |
- 参数
-a
列出本地所有镜像(含中间影响层,默认没有)--digests
显示镜像摘要-f
显示满足条件的镜像--format
指定返回值的模板文件--no-trunc
显示完整的镜像信息-q
只显示镜像ID
- 示例
1 | docker rmi [OPTIONS] IMAGE [IMAGE...] |
- 参数
-f
强制删除--no-prune
不移除该镜像的过程镜像,默认移除
- 示例
1 | docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] |
- 示例
1 | docker build [OPTIONS] PATH | URL | - |
- 参数
--build-arg=[]
设置镜像创建时的变量--cpu-shares
设置cpu使用权重--cpu-period
限制cpu cfs周期--cpu-quota
限制cpu cfs配额--cpuset-cpus
指定使用的cpu id--cpuset-mens
指定使用的内存id--disable-content-trust
忽略检验,默认开启-f
指定使用的Dockerfile
路径,.
为本目录下的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
配置--squash
将Dockerfile
中所有操作压缩为一层--tag,-t
设置镜像名字及标签,通常name:tag
或name
,可以在一次构建中为一个镜像设置多个标签--network
默认default
在构建期间设置RUN
指令的网络模式
- 示例
1 | docker history [OPTIONS] IMAGE |
- 参数
-H
以可读的格式打印镜像大小和日期,默认true
--no-trunc
显示完整提交记录-q
仅列出提交记录ID
其他
命令 | 示例 | 含义 |
---|---|---|
info | docker info [OPTIONS] |
查看docker系统、镜像、容器数等信息 |
version | docker version |
显示docker版本信息 |