启动容器后,通过docker ps -a 查看结果容器退出了。
1.启动容器
方案一
docker run -d <image_name> tail -f /dev/null
docker run -d configserver tail -f /dev/null
或者
docker run -d configserver /bin/bash ping 127.0.0.1
或者
docker run -d configserver /bin/bash -c "while true;do echo hello docker;sleep 1;done"
方案二
1.使用交互式启动,使主进程不退出
docker run -i [CONTAINER_NAME or CONTAINER_ID]
2.使用后台模式和tty选项,使主进程不退出
docker run -dit [CONTAINER_NAME or CONTAINER_ID]
# -i interactive=true 开启 stdin
# -t tty=true 分配会话终端
# -d 后台方式
这种方式需要在启动容器时创建/bin/bash的进程
dockerfile文件中:
创建容器:
docker run --name=docker_nginx --cap-add NET_ADMIN -dit docker_nginx
2.DockerFile
方式1:
修改dockerfile创建一个守护进程方式实现
# dockerfile文件中设置后台执行shell脚本或者可执行jar
cmd shell.sh && tail -f /dev/null
或者cmd shell.sh &
或者 cmd shell.sh > shello.log
或者 cmd java -jar xxx.jar