我正在尝试为keycloak设置Dockerfile,我想在容器启动后运行一些命令
原因是服务器启动后,我想在每次运行Dockerfile时添加一些自定义配置。我尝试使用“ RUN”命令,但是由于使用run命令时容器尚未启动,因此会导致整个Dockerfile炸毁
我以为在容器启动后运行命令,我可以使用“ CMD”,但是当我甚至尝试运行CMD ["echo", "hi"]
或CMD ["sh", "echo", "hi"]
时,都会收到错误消息“无效的选项回显” >
容器运行后,是否有一种方法可以使命令运行?
答案 0 :(得分:0)
定义容器在启动时将执行的操作的方法是指定CMD
或ENTRYPOINT
。这些命令在您使用docker run
时执行。您可以在构建阶段使用RUN
执行各种任务。根据您要执行的操作,它可能合适也可能不合适。
尝试CMD sh -c 'echo hi'
或CMD ["sh", "-c", "echo hi"]
首选exec(列表样式)格式,但也可以使用shell格式。
此外,请记住,Dockerfile仅用于构建过程。容器通常被设计为无状态的。您不必在每次更改应用程序配置中的内容时都进行重建。