Я хочу запустить script, сразу после запуска
`docker-compose up -d`
Вот мой фрагмент docker-compose.yml
. Другие настройки - сервер mysql, redis... и т.д., Но они не вызывают никаких проблем.
web:
image: nginx
container_name: web-project
volumes:
- ./code:/srv
working_dir: /srv/myweb
extra_hosts:
- "myweb.local:127.0.0.1"
ports:
- 8081:80
# tty: true
command: sh /srv/scripts/post-run-web.sh
Поэтому всякий раз, когда я запускаю docker-compose up -d
oder docker-compose up
, все останавливается. (контейнеры не работают). Хотя моя оболочка script проста (работает echos... или phpunit). Вот мой script.
#!/bin/bash
echo running post install scripts for web..;
cd /srv/myweb
npm install
composer self-update
composer update
И это ошибка, которую я получаю. Это похоже на то, что сервер (nginx) еще не запущен. Также, если я подключаюсь к серверу с помощью exec bash, и я проверю процессы. Я не вижу nginx (пока).
web_1 | You are already using composer version 7a9eb02190d334513e99a479510f87eed18cf958.
web_1 | Loading composer repositories with package information
web_1 | Updating dependencies (including require-dev)
web_1 | Generating autoload files
web-project exited with code 0
Gracefully stopping... (press Ctrl+C again to force)
Stopping mysql-project... done
Stopping rabbitmq-project... done
Stopping redis-project... done
так почему он выходит, хотя script является синтаксически правильным? как я могу заставить его работать правильно? (что я делаю, устанавливаю неправильно!)