所以我有一个docker镜像Vidyo/mediabridge,我想自动运行一些脚本,在启动时启动容器内的任务,所以当我运行我的镜像时:
docker run vidyo/mediabridge
OR dockerfile:
from vidyo/mediabridgedocker执行:
docker build . -tag basicimage
docker run basicimage我得到的输出是
*** Running /etc/my_init.d/00_regen_ssh_host_keys.sh...
*** Running /etc/rc.local...
*** Booting runit daemon...
*** Runit started as PID 8但当我编辑图像并将其作为dockerfile运行时:
from vidyo/mediabridge
CMD echo "hi"它给出的输出为
hi然后退出,所以基本上我的基本映像vidyo/mediabridge没有运行,当我尝试执行其他命令时,例如
dockerfile
from vidyo/mediabridge
ENTRYPOINT curl $s3path -o /opt/vidyo/config && sleep 10 && ./opt/vidyo/connect它显示了
* syslog-ng is not running
* Starting system logging syslog-ng
* Retrying 然后它就存在了,有没有人可以帮助我,我想我的基本镜像vidyo/mediabridge没有正常运行。有没有办法运行基本映像,然后执行命令。
发布于 2019-10-10 23:51:11
当您添加一个CMD或入口点时,它会覆盖您正在使用的基础映像上的CMD或入口点。
要扩展此映像,请不要添加另一个CMD或入口点。如果你想添加RUN来执行一些事情,它们将会起作用。
请注意,您不必将上述任何命令添加到Dockerfile中。只要你不添加更多的内容,父映像就会一直存在。
如果您想修改CMD或将其添加到其中;我建议使用docker inspect image vidyo/mediabridge,获取您的基容器正在运行的命令或入口点,并将其添加到您作为CMD运行的shell脚本的末尾。
https://stackoverflow.com/questions/58326356
复制相似问题