我有一个关于容器生命周期的基本问题。
例如,我运行以下命令
创建新的ubuntu容器并运行bash命令。
docker run -it ubuntu bash容器bash中的
exit新容器将处于退出状态
docker ps -a然后使用
启动重新启动容器。
docker start xxxx(container name)
docker exec -it xxxx(container name) /bin/bash重新启动容器的bash中的
exit重新启动的容器仍在运行
docker ps -a我能知道这种行为背后的原因吗?谢谢!
发布于 2021-04-05 08:15:14
使用docker run命令:
docker run -it ubuntu bash容器是在执行bash命令时启动的,所以当您从bash执行exit时,容器也会退出,因为bash是容器内运行的主要进程。
但是,使用docker exec命令:
docker exec -it xxxx(container name) /bin/bash容器已经在运行由CMD/ENTRYPOINT定义的命令,bash是作为单独进程执行的命令。因此,在exit退出bash进程之后,docker start仍然继续执行docker start的主要进程。
https://stackoverflow.com/questions/66949940
复制相似问题