После выполнения моего сценария точки входа контейнеры останавливаются с выходом 0. Команда, указанная в файле compose, который запускает наш веб-сервер, игнорируется.
Мы используем docker с docker-compose в качестве среды для нашегоприложения rails.
Сценарий точки входа:
#! /bin/bash
bundle exec rails assets:clobber
bundle exec rails assets:precompile
bundle exec rake db:exists && bundle exec rake db:migrate || bundle exec rake db:setup
rm -rf /aps/tmp/pids/server.pid
Файл компоновки:
version: '2'
services:
app:
image: registry.gitlab.com/.../.../master:latest
command: bundle exec rails server
entrypoint: /aps/rails-entrypoint.sh
volumes:
- /srv/app/log/:/app/log
- /srv/app/public/:/app/public
env_file: .env
ports:
- '0.0.0.0:3333:3000'
links:
- apppostgres
apppostgres:
image: postgres
...
volumes:
pgdata:
Когда я подключаюсь к контейнеру во время работы сценария точки входа, я вижувыполненная команда, запущенная с ps aux
как /bin/bash /app/rails-entrypoint.sh bundle exec rails server
.
Когда я добавляю свой командный блок в скрипт точки входа, сервер запускается и работает, но это не так, как он должен работать или?
Что я могу сделать, чтобы скрипт точки входа и блок команд работали так, как должны?