Docker后台运行容器
Docker有两种方式可以启动容器:
- 交互式启动
- 后台运行容器
后台运行命令
docker run
docker run -d --name=自定义镜像名称 镜像名称
注意了!!
docker run -d --name=myubuntu ubuntu
以上执行完后,其实启动了但会立马退出(也就是启动失败)。通过docker ps -a 可以看到启动记录。
因为Docker容器生命周期与主线程挂钩,主线程停止容器就停止了。也就是说不是所有容器都可以使用-d模式!
具体什么容器不能-d模式,比如交互式应用程序、图形界面应用程序等等。
重新进入容器
通过 ctrl+p+q退出的容器,再次进入:
# 这是交互式的
# 比如 docker exec -it redis bash 进入redis的交互。
docker exec -it 镜像ID bash
# 后台运行模式,执行过后还是后台运行。比如说使用exec -d,执行一个脚本
# docker exec -d 镜像ID bash /path/xx/test.sh
# 那么这个脚本就会在后台运行,
docker exec -d 镜像ID
attach命令
这个也是重新进入的命令
docker attach 镜像ID
那么attach和exec区别就是:
- exec启动的一个新进程,即使exit退出后。容器不会停止
- attach相反,exit后容器直接嘎
一般-d模式下,通过exec再次进入