【Docker】今動いているコンテナのログビューアDozzleの紹介

amir20/dozzle: Realtime log viewer for docker containers.
Dockerで立ち上げたサービスのログをWeb上から簡単に見れる「Dozzle」 – Qiita
 Dozzleは手っ取り早くコンテナのログを見るためのビューアです。あまりリッチでも、セキュアでもありませんが手軽です。使い方はDockerらしくコンテナの起動です。公式に紹介されているれ例にはワンライナーコマンドである次や

 docker run --name dozzle -d --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:8080 amir20/dozzle:latest

コンテナとしてまとめる次が

version: "3"
services:
  dozzle:
    container_name: dozzle
    image: amir20/dozzle:latest
    environment:
      - DOZZLE_TAILSIZE=100
      - DOZZLE_FILTER=status=running
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 9999:8080

あります。
 Dozzleの様なビューア抜きでログを見るのは時として億劫です。一応

docker-compose logs コンテナ名

でもできますが複数のプロジェクトを開いているなどでコンテナが多い時はあまりしたくありません。Dozzleを使うと次の様になります。

 この一画面で複数のプロジェクトで開いている(別々のdocker-compose.ymlに記述された)dockerコンテナのログを一度に見ることができます。
 Dozzleを使う時はプロジェクト間で共有するつもりのないコンテナはdocker-compose.yml内ではconteinar_nameを未指定にすると扱いやすいです。

  mysql:
# 複数プロジェクトで共通のmysqlコンテナを使うならばcontainer_nameをつける
    container_name: "mysql"
    build: ./docker/mysql
    ports:
      - '3306:3306'
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: my_database

  nginx:
# 各プロジェクトで別々のnginxコンテナを使うならばcontainer_nameをつけない
# container_nameを未指定にするとコンテナ名には自動で`${現在フォルダの名前}_${Service名}_${連番}`が割り当てられます
# ※詳しい仕様は知りませんが自分の環境では特別設定をいじらずそんな感じで名前割り当てが動いています
    depends_on:
      - app
    ports:
      - ${DOCKER_WEB_PORT:-80}:80
      - ${DOCKER_DESIGN_PORT:-808}:808
    build: ./docker/nginx
    volumes:
      - ${PROJECT_ROOT_PATH:-./}:/work
      - ./docker/log/nginx:/var/log/nginx
      - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
    environment:
      - TZ=${APP_TZ}
>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG