docker start
说明:用于启动一个或多个已经被停止的 Docker 容器
基本语法:
docker start [OPTIONS] CONTAINER [CONTAINER...]
使用示例
- 启动单个容器
docker start container(目标容器的名称或 ID)
- 启动多个容器
docker start container1 container2(目标容器的名称或 ID)
docker restart
说明:用于重启一个或多个 Docker 容器
基本语法:
docker restart [OPTIONS] CONTAINER [CONTAINER...]
常用选项
- –time, -t:
在发送重启信号之前等待的秒数。默认值为 10 秒。
使用示例
- 重启单个容器
docker restart container(目标容器的名称或 ID)
- 重启多个容器
docker restart container1 container2(目标容器的名称或 ID)
- 设置重启前等待时间
docker restart -t 3 container(目标容器的名称或 ID)
注意事项
docker restart
会先停止容器,然后重新启动它。- 如果容器正在运行,它会被停止,然后再启动。
- 如果容器已经停止,
docker restart
将仅启动容器。 - 通过设置
--time
选项,可以控制在发送重启信号之前等待的时间。
docker stop
说明:用于停止一个或多个正在运行的 Docker 容器
基本语法:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
常用选项
- –time, -t:
在发送停止信号之后等待的秒数。默认值为 10 秒。
使用示例
- 停止单个容器
docker stop container(目标容器的名称或 ID)
- 停止多个容器
docker stop container1 container2(目标容器的名称或 ID)
- 设置停止前等待时间
docker stop -t 3 container(目标容器的名称或 ID)
注意事项
docker stop
会向容器发送 SIGTERM 信号,以便容器可以优雅地关闭其进程。- 如果容器在指定的时间内没有停止,Docker 会发送 SIGKILL 信号强制停止容器。
- 如果容器已经停止,
docker stop
命令将不会有任何效果。 - 通过设置
--time
选项,可以控制在发送停止信号之后等待容器停止的时间。
docker rm
说明:用于删除一个或多个已经停止的 Docker 容器
基本语法:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
常用选项
- –force, -f:
强制删除正在运行的容器。默认情况下,docker rm
只能删除已经停止的容器。
使用示例
- 删除单个容器
docker rm container(目标容器的名称或 ID)
- 删除多个容器
docker rm container1 container2(目标容器的名称或 ID)
- 强制删除容器
docker rm -f container(目标容器的名称或 ID)
注意事项
- 默认情况下,
docker rm
只能删除已经停止的容器。 - 如果尝试删除正在运行的容器,Docker 会提示错误。这时可以使用
--force
或-f
选项强制删除容器。 - 使用 --force 或 -f 选项时,注意,将立即终止容器,可能导致数据丢失或其他问题,谨慎使用。
- 删除容器后,与该容器相关的数据卷将被保留,除非明确删除它们。
docker rmi
说明:用于删除一个或多个 Docker 镜像
基本语法:
docker rmi [OPTIONS] IMAGE [IMAGE...]
常用选项
- –force, -f:
强制删除镜像,即使有容器正在使用它 - –no-prune:
不删除未标记的父镜像
使用示例
- 删除单个镜像
docker rmi image(目标镜像的名称或 ID)
- 删除多个镜像
docker rmi image1 image2(目标镜像的名称或 ID)
- 强制删除镜像
docker rmi -f image(目标镜像的名称或 ID)
- 不希望删除未标记的父镜像
docker rmi --no-prune image(目标镜像的名称或 ID)
注意事项
- 默认情况下,
docker rmi
只能删除未被任何容器使用的镜像。 - 如果尝试删除一个正在被容器使用的镜像,Docker 会提示错误。这时可以使用
--force
或-f
选项强制删除镜像。 - 使用
--force
或-f
选项时,请注意,这将立即删除镜像及其所有标签,可能导致数据丢失或其他问题,谨慎使用。 - 如果镜像是由其他镜像作为基础镜像构建的,那么删除这个镜像也会删除未标记的父镜像。如果不希望删除未标记的父镜像,可以使用
--no-prune
选项。