007-dockerbook中的命令总结(1)

来源:互联网 发布:淘宝联盟单品推广 编辑:程序博客网 时间:2024/05/21 14:02

00 启动 docker 守护进程

sudo systemctl start docker

01 查看 docker 信息

sudo docker info

02 查看完整的 docker 命令列表

sudo docker help

03 docker run 中的 -i 与 -t 选项

# -i:保证容器的 STDIN 是开启的# -t:为创建的容器分配一个伪 tty 终端sudo docker run -it ubuntu /bin/bash

04 查看 docker run 的所有可用选项

sudo docker help run

05 查看当前系统中的容器

# 查看正在运行的容器sudo docker ps # 列出最后一个运行的容器,无论其现在正在运行还是已经停止sudo docker ps -l# 列出所有容器,包括正在运行与已经停止的sudo docker ps -a# 显示最后运行的5个容器sudo docker ps -n 5

06 容器命名

sudo docker run --name myubuntu -it ubuntu /bin/bash

07 容器的启动、停止、重启

# 指定容器时,可以使用容器名,也可以使用容器IDsudo docker start myubuntu# 终止容器(优雅)sudo docker stop myubuntu# 终止容器(暴力)sudo docker kill myubuntu# 重启容器sudo docker restart myubuntu

08 附着到容器上

# 可能需要按两次回车,而且很多时候,docker attach这个命令并不好使sudo docker attach myubuntu

09 退出容器

# 退出后,容器终止exit# 退出后,容器还在运行ctrl p + ctrl q

10 创建守护式容器

# -d:将容器放到后台运行,并返回容器的IDsudo docker run --name myubuntu -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

11 容器的日志

# 获取容器已经输出的日志sudo docker logs myubuntu# 监控容器的日志sudo docker logs -f myubuntu# 获取日志的最后10行sudo docker logs --tail 10 myubuntu# 跟踪最新日志sudo docker logs --tail 0 -f myubuntu# 输出日志时,加上时间戳sudo docker logs -ft myubuntu# 退出日志跟踪Ctrl + C

12 查看容器内的进程

# 在容器内查看ps -aux# 在容器外查看sudo docker to myubuntu

13 查看容器的统计信息

# 查看单个容器的统计信息sudo docker stats myubuntu# 同时查看多个容器的统计信息sudo docker stats myubuntu myubuntu1

14 在容器内部运行进程

# 运行后台任务sudo docker exec -d myubuntu touch /etc/new_config_file# 运行交互任务sudo docker exec -it myubuntu /bin/bash

15 自动重启容器

# --restart标志被设置为always,无论容器的退出代码是什么,docker都会重启该容器sudo docker run --restart=always --name myubuntu -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"# --restart标志被设置为on-failure,只有当容器的退出代码非0时,docker才会重启该容器sudo docker run --restart=on-failure --name myubuntu -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"# --restart标志被设置为on-failure:5,只有当容器的退出代码非0时,docker才会重启该容器,最多重启5次sudo docker run --restart=on-failure --name myubuntu -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"

16 详细的检查容器

# 获取容器详细的配置信息sudo docker inspect myubuntu# 获取指定的配置信息:返回容器的运行状态sudo docker inspect --format='{{ .State.Running}}' myubuntu# 获取指定的配置信息:返回容器的IPsudo docker inspect --format '{{ .NetworkSettings.IPAddress}}' myubuntu# 同时指定多个容器sudo docker inspect --format '{{ .Name }} {{ .State.Running}}' myubuntu myubuntu1

17 删除容器

# 删除停止的容器sudo docker rm myubuntu# 删除运行中的容器sudo docker rm -f myubuntu# 删除所有的容器,-a表示列出所有的容器,-q表示只返回容器的idsudo docker rm `sudo docker ps -a -q`# 删除所有的容器,即使容器正在运行,也一并删除sudo docker rm -f `sudo docker ps -a -q`
0 0