为了让docker容器一直运行难道要写个死循环的程序?
我想让容器一直运行
$ docker run -d --name test_sleep_infinity your_image sleep infinity
# enter the container
$ docker exec -it test_sleep_infinity /bin/bash
哪怕加了 -d 只要命令跑完了docker就会认为自己已经没事干了,于是自动退出
要让容器后台运行,必要要有一个前台进程
可以在命令后加 top,tail之类的一直前台运行的进程
不是特别明白你的场景, 我看你问了好几个docker相关问题, 给你几个条命令供你参考,希望对你有用.
创建启动容器 docker run -itd <image-di> /bin/bash
单纯启动容器 docker start <container-id>
连接容器 docker attach <container-id>
回到宿主机 ctrl+p,ctrl+q
我猜你意思是跑某个操作系统的容器,然后在里面装很多软件,可以这样做:
docker run -d -name centos --privileged=true centos /usr/sbin/init
docker exec -it centos /bin/bash
这样,你就拥有了centos的环境了。而且,你退出bash,容器也还是会一直运行。但是,这样不符合docker的设计理念哈。
docker run -d --name "ubuntu1804" library/ubuntu:18.04 init
init会启动systemd,一直在后台驻留。
4 回答2k 阅读✓ 已解决
2 回答2.4k 阅读✓ 已解决
2 回答826 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答1.4k 阅读
2 回答1.2k 阅读
1 回答1.6k 阅读
你可以这样
在DockerFile中运行一个持续输出的任务
好吧,这也差不多是一个死循环
在这里可以看出docker的运行状态,,up的就是一直运行,exit就是跑完了就退出了~docker跑完了你要它执行的任务就会退出~所以你得写个持续的命令