English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
docker-composeの使用例
Dockerを使ってMySQLを構築する + java service + nginx、合計4個のdockerコンテナを定義する必要があります。docker runの方法で一つずつコンテナを作成するのは非常に面倒です。より効率的にコンテナをバッチで作成できるように、docker-composeツールを使用し、docker-compose.ymlファイルを使用すると、一組のコンテナの作成を迅速に行うことができます。
mysql: image: daocloud.io/yjmyzz/mysql-osx:latest volumes: - ./mysql/db:/var/lib/mysql ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=123456 service1: image: java:latest volumes: - ./java:/opt/app expose: - 8080 #ports: # - 9081:8080 links: - mysql:default command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar service2: image: java:latest volumes: - ./java:/opt/app expose: - 8080 #ports: # - 9082:8080 links: - mysql:default command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar nginx1: image: nginx:latest volumes: - ./nginx/html:/usr/share/nginx/html:ro - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/conf.d:/etc/nginx/conf.d:ro #expose: # - 80 ports: - "80:80" links: - service1:service1 - service2:service2
内容は複雑ではありませんが、詳細なキーワードの説明は本文の最後のリファレンス記事リンクを参照してください。
質問:このファイルはどこにありますか?
以下のディレクトリ構造を参照してください:
mysql-java-nginx ├── docker-compose.yml ├── java │ └── spring-boot-rest-framework-1.0.0.jar ├── mysql │ └── db └── nginx ├── conf ├── conf.d │ └── default.conf ├── html │ └── index.html └── nginx.conf
コンテナの作成:
cd mysql-java-nginx docker-compose up
これだけ簡単です。1度のupですべてのコンテナの作成が完了します。upは通常初めての作成に使用され、ターミナルのリアルタイム出力のログ内容を観察してコンテナが正常に起動しているかを判断できます。何か問題がなければ、直接Ctrl+Cを終了し、次に
docker-compose start
バックグラウンドでコンテナを起動します。
他のコマンドには:
コマンド: サービスを構築または再構築します help コマンドのヘルプを取得 kill コンテナを強制終了 logs コンテナからの出力を表示 pause サービスを一時停止 port ポートバインディングのパブリックポートを表示 ps コンテナの一覧表示 pull サービスイメージを引き取る restart サービスを再起動 rm 停止されたコンテナを削除 run 一時的な実行-off command scale サービスのコンテナ数を設定 start サービスを開始 stop サービスを停止 unpause サービスを再開 up コンテナを作成し開始 migrate-to-labels ラベルを追加するためにコンテナを再作成 version Docker を表示-Compose バージョン情報
名前を見るだけで意味がわかります。
参考記事:
https://docs.docker.com/compose/compose-file/
読んでいただきありがとうございます。皆様のサポートに感謝します!