我正在尝试让Redmine在docker中运行。我都是新来的。
我正在使用“默认” redmine图像(版本3.3,因为redmine移动应用尚不支持4.X版本)。
我遇到的问题是,redmine容器在数据库就绪之前就启动了,但是失败了。因此,我只想尝试使用“命令”在容器中构建“睡眠”,但是我需要弄清楚如何使用“命令”启动Redmine。从我发现的内容中,我需要调用“ /docker-entrypoint.sh”,但这不起作用:
command: >
/docker-entrypoint.sh
我认为这是实际的启动脚本(从当前版本开始:) docker-entrypoint.sh
答案 0 :(得分:1)
您可以在docker-compose.yml中使用entrypoint
而不是command
关键字,但是对于数据库存在的问题,您实际上不需要调用entrypoint
本身。您可以通过使用Dockerfile扩展图像来添加wait-for-it或wait-for来替换图像,然后在docker-compose.yml中将其用作命令:
在MySQL中,使用端口3306,在PostgreSQL中,使用端口5432,并根据docker-compose.yml中的数据库服务名称更改db
字
--
之后的其余命令基于redmine Dockerfile中的CMD
行,如here
command: ["./wait-for-it.sh", "db:3306", "--", "rails", "server", "-b", "0.0.0.0"]
更多说明,请参见following answer