docker如何对容器进行启动、停止、重启、删除

1,819 阅读2分钟

在 Docker 中,你可以通过不同的命令来启动、停止、重启和删除容器。以下是常用的 Docker 容器操作命令:

1. 启动容器

  • 启动已停止的容器:如果容器已经存在但处于停止状态,可以使用以下命令启动它:

    docker start <container_id_or_name>
    
    • <container_id_or_name>:容器的 ID 或名称。

    示例:

    docker start my_container
    
    • 启动多个容器:
      docker start container1 container2
      
  • 启动并附加到容器的终端:使用 -a--attach 可以让你在启动容器后自动附加到容器的输出流(如果容器是交互式的):

    docker start -a <container_id_or_name>
    

2. 停止容器

  • 停止运行中的容器:你可以使用 docker stop 命令来停止正在运行的容器。这个命令会发送一个 SIGTERM 信号给容器,允许容器优雅地停止。如果容器在一段时间内没有停止,它会接收到一个 SIGKILL 信号强制停止。

    docker stop <container_id_or_name>
    

    示例:

    docker stop my_container
    
    • 停止多个容器:
      docker stop container1 container2
      
  • 等待时间:你可以在停止时指定一个等待时间,单位是秒,默认是 10 秒:

    docker stop -t 20 <container_id_or_name>
    

3. 重启容器

  • 重启容器docker restart 命令会先停止容器,然后立即重新启动它。

    docker restart <container_id_or_name>
    

    示例:

    docker restart my_container
    
  • 重启多个容器

    docker restart container1 container2
    
  • 指定重启的等待时间:使用 -t 选项来指定停止容器时的超时时间:

    docker restart -t 20 <container_id_or_name>
    

4. 删除容器

  • 删除停止的容器:你可以使用 docker rm 命令来删除一个已经停止的容器。如果容器正在运行,首先需要停止它再删除。

    docker rm <container_id_or_name>
    

    示例:

    docker rm my_container
    
    • 删除多个容器:
      docker rm container1 container2
      
  • 强制删除正在运行的容器:如果容器正在运行,并且你希望强制删除它,可以使用 -f(force)选项:

    docker rm -f <container_id_or_name>
    
  • 删除所有停止的容器:你可以使用以下命令一次性删除所有已停止的容器:

    docker container prune
    

    或者直接使用:

    docker rm $(docker ps -a -q)
    
    • docker ps -a -q:会列出所有容器的 ID,docker rm 将它们删除。

5. 查看容器的状态

  • 查看容器状态:可以使用 docker ps 来查看正在运行的容器,或者使用 docker ps -a 来查看所有容器(包括已停止的容器)。

    docker ps
    docker ps -a
    

6. 其他常用容器操作

  • 查看容器日志:使用 docker logs 命令查看容器的输出日志。

    docker logs <container_id_or_name>
    
  • 进入容器的终端:可以使用 docker exec 命令进入正在运行的容器内部:

    docker exec -it <container_id_or_name> bash
    
    • 这将进入容器的 bash shell(如果容器中安装了 bash)。

通过这些命令,你可以灵活地管理 Docker 容器的生命周期,包括启动、停止、重启和删除等操作。