【Docker】Docker入门系列

mac2026-05-04  8

本章节会学习的命令:

docker logs (-f)docker topdocker execdocker stopdocker run --restart=alwaysdocker 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。

 

最新回复(0)