2016-04-28 1 views
1

mysqlコンテナを起動し、コンテナ内の設定ファイルを変更します。この場合は/etc/mysql/my.cnfです。コンテナを再起動します。ドッカーコンテナ内のオープンファイルがシャットダウンされました

おそらく、その設定ファイルで何か問題があり、コンテナを開始できません。コンテナがシャットダウンされたときに、その設定ファイルを編集するにはどうすればよいですか?

+1

コンテナは不変です、あなたの変更とconfはなくなっています。 Dockerファイルを使用してイメージを構築し、my.cnfをインクルードする必要があります。 – Shanoor

+0

または変更をコミットしてください。ドッカーのコミットを参照してください。https://docs.docker.com/engine/reference/commandline/commit/ Dockerfileは簡単に新しい画像を作成するのに役立ちます。 – user2915097

+0

ああ、ありがとうございます。コンテナを変更するつもりはない、私はちょうどコンテナ内のファイルを取得したい、シャットダウンされているし、再び開始することはできません。 – Finn

答えて

2

コンテナは変更できません。変更とconfはなくなりました。 Dockerファイルを使用してカスタムイメージを作成し、my.cnfをインクルードする必要があります。

それは簡単に行うことができます

は、たった2つのライン

FROM mysql 
ADD my.cnf /path/to/mysql/conf/folder # replace with the path where you'd usually put the conf file 

でそれとDockerfileにmy.cnfファイルを作成し、フォルダを作成してビルドして実行:

docker build -t custom_mysql . 
docker run custom_mysql // << add the run options you need/want (exposed port for example or container name) 
+0

ありがとうございます、しかし、私はコンテナを変更するつもりはない、私はちょうどコンテナ内のファイルを取得したいとシャットダウンされ、再び開始することはできません。 – Finn

+0

@Finn私が言ったように、あなたのファイルはなくなっています。変更不可能とは、コンテナが停止/再起動されたとき、初期状態に戻り、変更が行われるたびに新しいファイルなどが永久に失われたことを意味します。コンテナはVMではなく、使い捨てで、カスタムイメージを使用していないので、それに固執したり、削除したり、別のものを作成したりする必要はなく、変更は一時的なものであることに注意してください。 – Shanoor

+0

ありがとう、私はあなたの答えを理解し、受け入れている:D – Finn