docker exec -it退出和docker run两种方式退出
时间: 2024-08-13 15:01:54 浏览: 121
docker-exec-web-console:从浏览器到docker exec的Web UI
`docker exec -it` 是一个命令行工具,用于在运行中的容器内部启动一个新的交互式 shell。当你在容器中使用 `exit` 或者直接关闭终端窗口时,`docker exec` 命令会停止当前的会话。
而 `docker run` 命令是用来创建并启动一个新的容器。如果你想在 `docker run` 启动的容器中结束进程或者退出容器,可以使用以下方法:
1. 对于单次运行的容器(`docker run -d` 后台运行),你可以使用 `docker stop <container_id>` 来停止容器,这将导致所有运行在其中的服务终止。如果希望优雅地退出,可以用 `docker kill -s SIGTERM <container_id>`,等待服务自行处理完退出事宜后,再用 `docker rm <container_id>` 删除容器。
2. 如果是使用 `docker run -it` 开启了一个交互式环境,那么直接按 `Ctrl + C` 或者 `exit` 就可以从容器中退出。
两者之间的区别在于,`docker exec` 更侧重于在已存在的容器中执行一些操作,而 `docker run` 则是用于创建新的容器并管理其生命周期。如果你需要频繁执行命令而不创建持久化容器,`docker exec` 是更好的选择;而如果需要长期运行的任务,则应使用 `docker run`。
阅读全文