本文共 378 字,大约阅读时间需要 1 分钟。
在docker中,如果命令都执行完了,会自动关掉容器。
这就是为什么每次启动时要docker run -it images /bin/bash
这样就相当于守护进程,这个容器的命令一直没有执行完,不会被自动关掉。
和-d的意义是一样,也是守护进程。
另外在有dockerfile创建镜像时,会有cmd命令,用cmd命令启动一个脚本,然后在用这个镜像创建容器时,发现容器秒死,而且没办法start他。因为这个脚本的命令执行完了
自动被docke傻了,容器关掉,怎么启也启不了。
若想不被干掉,就在shell命令中加个无线循环,没60秒一次
while [1]
do
sleep 60
done
这样就行了。
【补充题外话】
加载一个容器时,多用exec命令,不要attach命令,因为attach命令容器导致两个人同时attach时,会让两台机器的命令冲突。
转载地址:http://qkbws.baihongyu.com/