1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker compose

Posted at

はじめに

自分が書き留めていた記事を公開する

Docker compose

複数のコンテナをまとめて操作する
基本はこちらを使う

コマンド

docker-compose.ymlで管理しているコンテナに対して作用する
現在の階層のdocker-compose.ymlに対して行われる
無い場合は親の階層を探す

# imageを作成する
# DokerfileやGemfileを修正した際なども叩く
docker compose build
docker-compose build --no-cache

# コンテナの立ち上げ
# ymlで指定されたImageかDockerfileを利用して構築
docker compose up -d
docker compose up -d --build

# コンテナを停止&削除
docker compose down

# ymlで管理されたコンテナを全て再起動
docker compose restart
# 対象のymlで管理されたコンテナのみ一覧表示
docker compose ps

# ログを表示
docker compose logs [コンテナ名]
# ymlで管理されたサービスを1つ指定してコマンドを実行
# Imageの構築/コンテナ作成/コマンドの実行を1度で行う
docker compose run <サービス> <コマンド>

# 起動中のコンテナでコマンド実行 shellなどを使える
docker compose exec <サービス> <コマンド>
# dangling(宙ぶらりん)状態のImageを全て削除
docker image prune
# 起動中のコンテナ内部に入る
docker-compose exec サービス名 bash

docker -compose.yml

ymlファイルはスペースで親子関係を表現するファイル形式
設定ファイルでよく使われる

# versionとserviceを登録する
version: "3"
services:
  web:
    build: ./php # dockerfileの相対path
    container_name: "php8"
    ports:
      - "8080:80" 
  db:
    image: mariadb:10.4
    container_name: "db2"
    volumes:
      - ./data:/var/lib/mysql # ホスト:Container ホストは相対pathがおすすめ

linux/amd64対応

platform: linux/amd64
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?