雨ばっかでいやになる。。( ;∀;)
docker-composeとは
複数のコンテナを効率的に管理するためのツール。
Dockerイメージのビルドや各コンテナの起動・停止などをより簡単に行える。
docker-composeの使い方
docker-compose.yamlファイルに各コンテナに対する定義を記載し、コンテナ起動時にdocker-compose.yamlファイルをもとにコンテナの設定を行う。
docker-composeパラメータ
- service:アプリケーションの単位を指す
- image:Dockerイメージを設定
- build:Dockerfileファイルのディレクトリを指定しDockerfileからコンテナを作成
- container_name:コンテナ名を指定
- ports:待ち受けポート、コンテナ転送ポートを指定
- command:コマンドを実行
- expose:Docker内の同一ネットワークに対してポートを公開する
- publish:コンテナのポートをホストマシンに公開する
- volumes: パスをボリュームとしてマウント
- environment:環境変数を設定
- depends_on:依存関係を作成
やること
ubuntu22.04サーバにdocker-composeのインストールおよび、docker-composeからコンテナを作成する。
環境
Ubuntu22.04[
dokcer 23.0.1
]
実践!
1.docker-composeインストール
1-1.dockerサーバへログインし、下記を入力
# docker version | grep version Version: 23.0.1 # apt-get update Failed to allocate directory watch: Too many open files Hit:1 https://download.docker.com/linux/ubuntu jammy InRelease Hit:2 https://packages.cloud.google.com/apt kubernetes-xenial InRelease ・・・ # apt-get install docker-compose-plugin Reading package lists... Done Building dependency tree... Done Reading state information... Done ・・・ # docker compose version Docker Compose version v2.18.1
2.compose.yamlファイル作成
# vi compose.yaml version: '3' services: db: image: postgres web: image: tomcat ports: - "8080:8081" depends_on: - db
3.コンテナ起動
# docker compose up -d [+] Building 0.0s (0/0) WARN[0000] Found orphan containers ([tomcat1]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. [+] Running 1/0 [+] Running 1/2ot-db-1 Starting 0.1s [+] Running 1/2ot-db-1 Starting 0.2s ・・・ # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fa826cb3d1d2 tomcat "catalina.sh run" 5 seconds ago Up 4 seconds 8080/tcp, 0.0.0.0:8080->8081/tcp, :::8080->8081/tcp root-web-1 42291505050e tomcat "catalina.sh run" 3 minutes ago Up 3 minutes 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp tomcat1
4.コンテナ停止
# docker compose down [+] Running 3/1 ✔ Container root-web-1 Removed 0.2s ✔ Container root-db-1 Removed 0.0s
感想
docker-composeはいろいろできそうなので、試していく(*´ω`*)」