私は簡単に再現可能なパターンに気がつきましたが、なぜ私の人生のためにそれが起こっているのか答えられません。何らかの理由で、私がdocker-compose kill
(すべてのコンテナを強制終了する)コマンドを使用して、それを再度起動すると、docker-compose -d
私のWebコンテナが無限ループして再起動します。私はこれについての答えのためにインターネットのいたるところを見て、何も見つけることができませんでした。ドッキング・コンテナを再起動する謎
何が起こっているかを確認するための手順を示したようなものです。
まったく同じように、ここで使用されている私の完全なドッキングウィンドウのセットアップのために私が作ったこのポスト(Docker-Compose won't volume my php.ini file)を参照してください、私はすぐに参照のためにここに私のドッキングウィンドウ・コンファイルを添付しますしてください。
ドッキングウィンドウ-compose.yml
version: '2'
services:
dblive:
image: mysql:5.5.52
volumes:
- ./db_data_live:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ****
MYSQL_DATABASE: ****
MYSQL_USER: ****
MYSQL_PASSWORD: ****
dbdev:
image: mysql:5.5.52
volumes:
- ./db_data_dev:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD:****
MYSQL_DATABASE: ****
MYSQL_USER: ****
MYSQL_PASSWORD: ****
phpmyadmin:
depends_on:
- dblive
- dbdev
image: phpmyadmin/phpmyadmin
environment:
PMA_ARBITRARY : 1
restart: always
ports:
- "8081:80"
web:
build: ./
depends_on:
- dblive
- dbdev
volumes:
- ./web:/var/www
- ./config/custom.php.ini:/etc/php5/apache2/conf.d/custom.php.ini
- ./logs/apache_error.log:/var/log/apache2/error.log
- ./logs/apache_access.log:/var/log/apache2/access.log
- ./config/apache_default.conf:/etc/apache2/sites-enabled/000-default.conf
restart: always
ports:
- "80:80"
- "443:443"
手順に沿って追跡する私の完全なセットアップを得るために、私のリンクポストhereを参照してください
- を再現します。
- 実行ドッカーの作成up -d。これにより、コンテナが起動します。
- 実行ドッカーpsこれらがすべて稼働していることを確認し、15秒間実行しています。 以上。
- 実行docker-compose killコンテナを停止します。
docker-compose up -d
を実行してコンテナを再起動し、を5秒ごとにドッカーpsでフォローアップして、Webコンテナでの一貫した再起動を確認します。何度もkillして再起動しても、再起動は起こり続けます。 - 興味深いことに、docker-compose.yml ファイルの行をコメントアウトしてください。私の場合、php.iniファイルのボリュームをコメントアウトしました このように、
#- ./config/custom.php.ini:/etc/php5/apache2/conf.d/custom.php.ini
- 実行ドッカーを作成してを再度停止してコンテナを再度停止してください。その後、を実行します。このとき、コンテナは再起動せずに魔法のように動作するでしょうか?-dと
私の質問は、なぜわずかドッキングウィンドウ-compose.ymlファイルを変更し、それが今で動作するように原因起動ないのですか?この後に何らかの理由でコンテナを破棄し、を再起動しようとすると、docker-compose.ymlファイルに変更を加えずに、Webコンテナで再起動ループが発生します。なぜこれを行うのですか?
添付されている最初のイメージから以前の再起動後に動作するイメージを示しています。イメージでは無視してよろしくお願いしますERROR: yaml.scanner.ScannerError:
MySQLパスワードをXX'してしまったのを忘れてしまったので、そこに何かを置いて幸せになれるようにしてください。エラーの後の内容は、突然再び働き始めることを示しています。
再起動しているコンテナの 'docker logs'と' docker inspect'は何を表示していますか? – BMitch
これらのコマンドの使い方の例を教えていただけますか?どの時点で私もコマンドを使用したいですか? (たとえば、再起動したとき、再起動した後など...) –
また、最近私がドッキングを行うと、私は発見したことに気付きたい。私はドッカーの作成で起こる再起動の問題はないようだ。たぶん、私はちょうど殺すを使用するべきではない? –