Docker在容器启动时自动执行特定脚本
·
在Dockerfile中使用CMD或ENTRYPOINT执行脚本,以实现容器启动时执行特定脚本的目的。
示例Dockerfile:
FROM ubuntu:20.04
# 复制脚本到容器中
COPY start.sh /usr/local/bin/start.sh
# 确保脚本具有可执行权限
RUN chmod +x /usr/local/bin/start.sh
# 使用CMD指令设置启动命令
CMD ["/usr/local/bin/start.sh"]
使用Dockerfile构建自定义镜像
$ docker build -f Dockerfile -t myimage .
在容器启动后,会自动执行指定的脚本。
需要注意:
-
脚本执行完毕后,容器会立即退出。如果希望容器保持运行状态,可以在脚本的最后添加
exec /bin/bash,以防止容器退出。 -
在Dockerfile中,
CMD指令只能设置一次 -
如果在运行容器时指定了其他命令(例如 docker run + /bin/bash),这些命令会覆盖Dockerfile中的CMD设置。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)