我正在使用 docker-compose(以前的 fig)在 docker 中运行一个简单的 rails 应用程序,如下所示:
码头工人-compose.yml
db:
image: postgres
volumes:
- pgdata:/var/lib/postgresql/data
web:
build: .
command: bundle exec rails s -b 0.0.0.0
volumes:
- .:/usr/src/app
ports:
- "3011:3000"
links:
- db
Dockerfile
FROM rails:onbuild
我需要运行一些定期维护脚本,例如数据库备份、将站点地图 ping 到搜索引擎等。
我不想在我的主机上使用 cron,因为我更喜欢保持应用程序的可移植性,我的想法是使用 docker-compose 链接图像,例如https://registry.hub.docker.com/u/ hamiltont/docker-cron/使用 docker-compose。
rails 官方镜像没有启用 ssh,所以我不能只让 cron 容器通过 ssh 进入 Web 容器并运行脚本。
docker-compose 是否有办法让容器将 shell 放入链接的容器中以执行某些命令?