我想運行一個腳本,運行一個腳本這是我的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
奧德docker-compose up
這一切停止。 (容器不能繼續運行)。雖然我的shell腳本很簡單(運行回聲...或phpunit)。這是我的腳本。
#!/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
那麼爲什麼它正在退出,儘管腳本語法正確?我如何使它正確運行? (我在做什麼,設置錯了!)
你試圖讓事情自動後運行或手動確定嗎?你可以使用'docker exec $(docker-compose ps -q web)some_command'在已經運行的容器中運行一些東西。 –