帮助命令
docker info
查看docker信息
docker version
查看docker的版本
docker --help
查看命令帮助
docker image command --help
查看镜像命令
docker container command --help
查看容器命令
docker network command --help
查看网络命
镜像
docker images
列出本地镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
options 选项
--all , -a 显示所有图像(默认隐藏中间图像)
--digests 显示摘要
--filter , -f 根据提供的条件过滤输出
--format 使用Go模板打印漂亮的图像
--no-trunc 不要截断输出
--quiet , -q 仅显示数字ID
docker search
从仓库搜索镜像
docker search [OPTIONS] TERM
--filter , -f 根据提供的条件过滤输出
--format 使用Go模板进行漂亮的打印搜索
--limit 25 最多搜索结果数
--no-trunc 不要截断输出
docker pull
从仓库拉取镜像到本地
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
--all-tags , -a 下载存储库中所有标记的镜像
--disable-content-trust true 跳过镜像验证
--quiet , -q 禁止详细输出
docker inspect
查看镜像信息
docker inspect [OPTIONS] NAME|ID [NAME|ID…]
--size , -s 如果类型为容器,则显示文件总大小
--type 返回指定类型的JSON
docker history
查看镜像历史信息
docker history [OPTIONS] IMAGE
--human , -H true 以人类可读的格式打印尺寸和日期
--no-trunc 不要截断输出
--quiet , -q 仅显示数字ID
docker tag
为某个镜像打标签
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
可以理解Linux的mv
docker push
将镜像推动到仓库
docker push [OPTIONS] NAME[:TAG]
在此示例中,注册表位于名为registry-host且侦听port的主机上5000。为此,请使用主机名或IP地址以及注册表的端口标记映像:
docker tag rhel-httpd registry-host:5000/myadmin/rhel-httpd
docker push registry-host:5000/myadmin/rhel-httpd
docker rmi
删除一个或多个镜像
docker rmi [OPTIONS] IMAGE [IMAGE…]
--force , -f 强制删除镜像
docker save
将一个或多个图像保存到tar存档
docker save [OPTIONS] IMAGE [IMAGE…]
--output , -o 写入文件,而不是STDOUT
//标准输出
docker save nginx > nginx.tar
//使用gzip保存图像文件并缩小备份。
docker save nginx | gzip > nginx.tar.gz
docker load
加载存档为镜像
docker load [OPTIONS]
--input , -i 从tar存档文件而非STDIN中读取
--quiet , -q 抑制负载输出
容器
docker ps
列出容器
docker ps [OPTIONS]
--all, -a显示所有容器(默认显示正在运行)
--filter,-f 根据提供的条件过滤输出
--format 使用Go模板格式化漂亮的打印容器
--last, -n 显示最后创建的n个容器(包括所有状态)
--latest , -l 显示最新创建的容器(包括所有状态)
--no-trunc 不要截断输出
--quiet, -q只显示数字id
-size, -s显示总文件大小
docker run
运行容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
run命令的选项比较多,这里只列出一些自己学习时用过的。
--detach , -d 在后台运行容器并打印容器ID
--interactive , -i 以交互模式运行容器,通常与 -t 同时使用;
--ip IPv4地址(例如172.30.100.104)
--kernel-memory 内核内存限制
--link 将链接添加到另一个容器
--memory , -m 内存限制
--memory-reservation 内存软限制
--memory-swap 交换限制等于内存加交换:“-1”以启用无限交换
--memory-swappiness -1 调整容器内存交换(0到100)
--name 为容器分配一个名称
--network,--net 将容器连接到网络
--network-alias,--net-alias 为容器添加网络范围的别名
--oom-kill-disable 禁用OOM杀手
--oom-score-adj 调整主机的OOM首选项(-1000到1000)
--publish , -p 将容器的端口发布到主机
--rm 退出时自动删除容
--tty , -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
--volume , -v 绑定挂载卷
--volumes-from 从指定的容器挂载卷
退出容器
- exit:容器停止退出
- ctrl+P+Q:容器不停止退出
docker create
创建容器
和run
命令选项差不多
docker create [OPTIONS] IMAGE [COMMAND] [ARG…]
docker start
启动容器
docker start [OPTIONS] CONTAINER [CONTAINER…]
docker stop
停止容器
docker stop [OPTIONS] CONTAINER [CONTAINER…]
--time , -t 10 等待停止的秒数,然后将其停止
docker restart
重新启动容器
docker restart [OPTIONS] CONTAINER [CONTAINER…]
--time , -t 在杀死容器之前等待停止的秒数
docker kill
强制停止容器
docker kill [OPTIONS] CONTAINER [CONTAINER…]
docker rm
删除容器
- 删除一个或者多个
docker rm [OPTIONS] CONTAINER [CONTAINER…]--force , -f 强制删除正在运行的容器、 --link , -l 删除指定的链接 --volumes , -v 删除与容器关联的匿名卷
- 全部删除
docker rm -f $(docker ps -aq)
docker commit
根据容器的更改创建新镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
--author , -a 作者(例如:“John Hannibal Smith hannibal@a-team.com”)
--change , -c 将Dockerfile指令应用于创建的镜像
--message , -m 提交信息
--pause , -p 提交期间暂停容器 默认为true
示例:
向容器提交新的CMD和EXPOSE说明
docker commit --change='CMD ["apachectl", "-DFOREGROUND"]' -c "EXPOSE 80" c3f279d17e0a svendowideit/testimage:version4
docker diff
检查容器文件系统上文件或目录的更改
docker diff CONTAINER
- A 文件或目录已添加
- D 文件或目录已删除
- C 文件或目录已更改
docker events
获取实时事件
docker events [OPTIONS]
--filter , -f 根据提供的条件过滤输出
--format 使用给定的Go模板格式化输出
--since 显示自时间戳记以来创建的所有事件
--until 流事件直到该时间戳
Docker容器报告以下事件:
attach
commit
copy
create
destroy
detach
die
exec_create
exec_detach
exec_die
exec_start
export
health_status
kill
oom
pause
rename
resize
restart
start
stop
top
unpause
update
docker port
查看端口映射
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
docker stats
实时统计容器资源使用信息
docker stats [OPTIONS] [CONTAINER…]
--all , -a 显示所有容器(默认显示为正在运行)
--format 使用Go模板打印漂亮的图像
--no-stream 禁用流统计信息,仅获取第一个结果
--no-trunc 不要截断输出
docker top
显示容器的运行进程
docker top CONTAINER [ps OPTIONS]
docker logs
获取容器的日志
docker logs [OPTIONS] CONTAINER
--details 显示提供给日志的其他详细信息
--follow , -f 跟踪日志输出
--since 显示自时间戳记以来的日志(例如2013-01-02T13:23:37)或相对记录(例如42m的42分钟)
--tail 从日志末尾开始显示的行数
--timestamps , -t 显示时间戳
--until 在时间戳(例如2013-01-02T13:23:37)或相对时间戳(例如42m持续42分钟)之前显示日志
docker attach
重新进入容器
docker attach [OPTIONS] CONTAINER
attach 直接进入容器启动命令的终端,不会启动新的进程
docker exec
在正在运行的容器中运行命令
docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
--detach , -d 分离模式:在后台运行命令
--detach-keys 覆盖分离容器的键序列
--env , -e 设置环境变量
--interactive , -i 即使未连接STDIN也保持打开状态
--privileged 赋予命令扩展权限
--tty , -t 分配伪TTY
--user , -u 用户名或UID(格式:<名称| uid> [:<组| gid>])
--workdir , -w 容器内的工作目录
exec 是在容器中打开新的终端,并且可以启动新的进程
docker cp
在容器和本地文件系统之间复制文件/文件夹
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
--archive , -a 存档模式(复制所有uid / gid信息)
--follow-link , -L 始终遵循SRC_PATH中的符号链接
docker inspect
查看容器信息
docker inspect [OPTIONS] NAME|ID [NAME|ID...]