【Tip】Docker Run让容器在后台一直运行不立刻退出

很多时候我们需要让docker run一直在后台运行着,比如ubuntu:latest,然后exec做点事情;该怎么办呢?

很简单也很复杂。遇到像helloworld这样的image是完全没有办法的,人家用C编译的程序直接调用syscall显示helloworld;所以这种image是没有办法直接spin在那里的,run一下就退出。必须从代码层面来个 while (1) sleep(1); (详见 最小自旋容器)

如果一个container可以开shell,那什么都好办,就是 docker run -d <image> sh -c 'while true; do sleep 1; done 就可以让一个没有CMD的image启动的container在后台运行了,下面就是 docker exec -it <container_id> sh 去里面做事情了。当然,shell种类很多,bash, zsh, …

上一篇:力扣 554. 砖墙


下一篇:Ubuntu18.04 安装ROS Melodic && Ros2 Dashing