私はDockerが新しく、作成したデータボリュームの名前を設定する方法を見つけようとしています。現在、ディレクトリは/ var/libs/dockerにある長いハッシュとして自動的に命名されていますが、これはユーザーフレンドリーではありません。docker-compose.ymlファイルを使用してボリュームに名前を付けるにはどうすればいいですか?
私はここに示されているようMODXのための開発環境を設定しようとしています: https://github.com/modxcms/docker-modx
次のように現在の私のドッキングウィンドウ-compose.ymlファイルは次のとおりです。
web:
image: modx
links:
- db:mysql
ports:
- 80:80
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- 3306:3306
command: mysqld --sql-mode=NO_ENGINE_SUBSTITUTION
myadmin:
image: phpmyadmin/phpmyadmin
links:
- db:db
ports:
- 8080:8080
これは完璧に動作しますが、I IDEで直接編集するデータボリュームに名前を付ける方法が不明です。
(側の質問として、それはの/ var/libsに/ドッキングウィンドウの下に作成する必要がありますまたはマイホームフォルダ内のディレクトリにそれを設定する方法があるのでしょうか??)
更新: 私は私のドッキングウィンドウ-compose.ymlファイルを更新した@julianoからの支援への感謝:
version: '2'
services:
web:
image: modx
volumes:
- html:/home/muzzstick/dev/modxdev
links:
- db:mysql
ports:
- 80:80
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
ports:
- 3306:3306
command: mysqld --sql-mode=NO_ENGINE_SUBSTITUTION
myadmin:
image: phpmyadmin/phpmyadmin
links:
- db:db
ports:
- 8080:8080
volumes:
html:
external: false
は、残念ながら、これは、実行中のWebコンテナを停止しているようです。 dbとmyadminコンテナは正常に動作していると表示します。 エラーはありません... docker start docker_web_1
と入力すると表示されますが、開始するとすぐにdocker ps -a
が終了します。
アップデート2
docker-compose up -d
を実行するには、問題なく実行するように表示されます。しかし、以下に示すように、Webコンテナは作成されるとすぐに終了します。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1dd6d8ac94e modx "/entrypoint.sh apach" 10 seconds ago Exited (1) 5 seconds ago docker_web_1
ee812ae858dc phpmyadmin/phpmyadmin "/run.sh phpmyadmin" 10 seconds ago Up 5 seconds 80/tcp, 0.0.0.0:8080->8080/tcp docker_myadmin_1
db496134e0cf mysql "docker-entrypoint.sh" 11 seconds ago Up 10 seconds 0.0.0.0:3306->3306/tcp docker_db_1
アップデート3 OKこのコンテナのエラーログを示しています
error: missing MODX_DB_HOST and MYSQL_PORT_3306_TCP environment variables
Did you forget to --link some_mysql_container:mysql or set an external db
with -e MODX_DB_HOST=hostname:port?
このエラーは、それがリンクのようなものがに異なる方法で処理されたことでしたhttps://github.com/modxcms/docker-modx/blob/master/apache/docker-entrypoint.sh#L15-L20
から発信されるように表示されますドッカーはバージョン2を作成しますか?それはexternal or notだとあなたのサービスこの例では(デシベルの下であれば、あなたは、ボリューム名(amazingvolume)を定義することができます
version: '2'
services:
db:
image: postgres
volumes:
- amazingvolume:/var/lib/postgresql/data
volumes:
amazingvolume:
external: true
:version 2 of compose filesあなたが分離された面積を持つことになりますを使用して、指定されたデータボリュームを作成するには
'docker-compose up'を実行するとどうなりますか? –
さまざまなイメージを予想どおりにプルしてコンテナを作成します。しかし、上記の私の更新でわかるように、Webコンテナはほぼ即座に終了します。 – Muzzstick