本章节会学习的命令:
- docker logs (-f)
- docker top
- docker exec
- docker stop
- docker run --restart=always
- docker run --restart=on-failure:5(number)
- docker inspect (--format)
- docker rm
- docker rm 'docker ps -a -q"
(所有命令前 sudo 省略)
$ docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
$ docker logs daemon_dave
可以看到 从logs里 hello world.
$ docker logs daemon_dave -f
每有新log会动态更新
$ docker top daemon_dave
查看容器内所有进程
可以看到我们写的echo循环。
$ docker exec
在容器内部执行命令
$ docker exec -d daemon_dave touch /etc/new_config_file
在后台进程型容器“daemon_dave" 中运行了 touch /etc/new_config_file 命令
-d 不打开该容器的交互shell,直接 使其在后台exec cmds
$ docker exec -i -t daemon_dave /bin/bash
-i 打开STDIN,-t 打开TTY终端,再运行bash shell, 打开了与该容器交互的shell.
$ docker stop damon_dave
停止守护型容器(停止后台容器)
自动重启容器:
当容器出错停止运行时,通过 --restart 参数使 docker 自动重启容器。(默认出错不会重启)
$docker run --restart=always --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
--restart=always 一直重启
--restart=on-failure:5 最多重启次数为5
docker inspect 查看容器详细信息:
$ docker inspect daemon_dave
$ docker inspect --format='{{ .State.Running }} ' daemon_dave
$ docker inspect --format='{{ .NetworkSettings.IPAddress }}' daemon_dave
不加参数调用docker inspect会调出全部信息,很多页都显示不完,找出想要的使用--format 会更精简
删除容器:
$ docker rm <container ID>
运行中的容器无法删除,需要docker stop / docker kill 停止容器后才能删除
$ docker rm 'docker ps -a -q"
删除全部容器
ps的 -a 表示所有容器,-q 表示仅返回 容器ID。