概要
- Dockerを用いてzabbixの開発環境を準備に苦戦したので構築方法を記載します。
TL;DR
- githubからzabbix-dockerをクローンする
- docker-composeファイルから
profile
をコメントアウトする - 下記のdocker-composeコマンドを使用して操作を行う
- 起動
docker-compose -f docker-compose_<file name>.yaml up -d --build
- 確認
docker ps
- 停止
docker-compose -f docker-compose_<file name>.yaml down
- 起動
前提
- docker-composeを実行できる環境があること
流れ
1. Gitからzabbix-dockerをインストールする
- 緑色の
code
ボタンを押下しURLをコピー - cloneしたいディレクトリを開く
-
git clone https://github.com/zabbix/zabbix-docker.git
を行いクローンする
2. クローンしたdocker-composeファイルを実行する
※docker-composeファイルが大量にクローンされているので自分で使用したいものを選んでください。
- クローンしたリポジトリへ移動
$cd zabbix-docker
- docker-composeを実行
$ docker-compose -f docker-compose_v3_ubuntu_mysql_latest.yaml up -d --build
- 起動確認
$ docker ps
- 実行結果: 起動している
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 73550a16b09d zabbix/zabbix-web-nginx-mysql:ubuntu-6.2-latest "docker-entrypoint.sh" About a minute ago Up 55 seconds (healthy) 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp zabbix-docker_zabbix-web-nginx-mysql_1 59390cbfcb1c zabbix/zabbix-server-mysql:ubuntu-6.2-latest "/usr/bin/tini -- /u…" About a minute ago Up About a minute 0.0.0.0:10051->10051/tcp, :::10051->10051/tcp zabbix-docker_zabbix-server_1 9260cf81f375 mysql:8.0-oracle "docker-entrypoint.s…" About a minute ago Up About a minute zabbix-docker_mysql-server_1
- 実行結果: 起動している
- webで確認上での確認
- 結果:アクセスできなかった
- 原因と思われるところ
- docker-composeに記載されている下記docker imageが起動していないため
-
3
の起動時に起動した項目zabbix-web-nginx-mysql zabbix-server-mysql mysql
- 本来起動させたい項目
zabbix-server zabbix-proxy-sqlite3 zabbix-proxy-mysql zabbix-web-apache-mysql zabbix-web-nginx-mysql zabbix-agent zabbix-java-gateway zabbix-snmptraps zabbix-web-service mysql-server db_data_mysq
-
- なぜ起動しなかったのか?
- docker-compose ファイルに
profiles
の設定がされているのが原因のようです
- docker-compose ファイルに
- docker-composeに記載されている下記docker imageが起動していないため
5. 起動しているdocker-composeをクローズ
$ docker-compose -f docker-compose_v3_ubuntu_mysql_latest.yaml down
3. 修正して再度実行してみる
- docker-composeファイルに記載されている内容の修正
- 以下の項目をコメントアウト
profiles: - all profiles: - full - all
2. docker-composeを実行
$ docker-compose -f docker-compose_v3_ubuntu_mysql_latest.yaml up -d
3. 起動確認
-
結果:起動してそう
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5674102bd9e3 zabbix/zabbix-web-apache-mysql:ubuntu-6.2-latest "docker-entrypoint.s…" 56 seconds ago Up 36 seconds (healthy) 0.0.0.0:8443->8443/tcp, :::8443->8443/tcp, 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp zabbix-docker_zabbix-web-apache-mysql_1 8491c0e099ac zabbix/zabbix-web-nginx-mysql:ubuntu-6.2-latest "docker-entrypoint.sh" 56 seconds ago Up 37 seconds (healthy) 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp zabbix-docker_zabbix-web-nginx-mysql_1 b86ac8481241 zabbix/zabbix-server-mysql:ubuntu-6.2-latest "/usr/bin/tini -- /u…" About a minute ago Up 56 seconds 0.0.0.0:10051->10051/tcp, :::10051->10051/tcp zabbix-docker_zabbix-server_1 43e8a7cbdc6a zabbix/zabbix-proxy-mysql:ubuntu-6.2-latest "/usr/bin/tini -- /u…" About a minute ago Up 57 seconds 0.0.0.0:10071->10051/tcp, :::10071->10051/tcp zabbix-docker_zabbix-proxy-mysql_1 45abab99c73a zabbix/zabbix-proxy-sqlite3:ubuntu-latest "/usr/bin/tini -- /u…" About a minute ago Up 58 seconds 0.0.0.0:10061->10051/tcp, :::10061->10051/tcp zabbix-docker_zabbix-proxy-sqlite3_1 9959f5e10fe3 zabbix/zabbix-agent:ubuntu-6.2-latest "/usr/bin/tini -- /u…" About a minute ago Up About a minute zabbix-docker_zabbix-agent_1 12d4a2bcc7a1 mysql:8.0-oracle "docker-entrypoint.s…" About a minute ago Up About a minute zabbix-docker_mysql-server_1 cc29e940b8f4 zabbix/zabbix-snmptraps:ubuntu-6.2-latest "/usr/sbin/snmptrapd…" About a minute ago Up About a minute 0.0.0.0:162->1162/udp, :::162->1162/udp zabbix-docker_zabbix-snmptraps_1 f99c6e4f81e5 zabbix/zabbix-web-service:ubuntu-6.2-latest "docker-entrypoint.s…" About a minute ago Up About a minute zabbix-docker_zabbix-web-service_1 d94e1b55c9ab zabbix/zabbix-java-gateway:ubuntu-6.2-latest "docker-entrypoint.s…" About a minute ago Up About a minute zabbix-docker_zabbix-java-gateway_1
4. webで確認
- http://localhost:8081/
- 結果: 起動できた
詰まったところ
- dockerのprofilesの理解ができていなかった
- 使用方法はいろいろあると思いますが、通常起動しないサービスに
profiles
を付けてようです。
- 使用方法はいろいろあると思いますが、通常起動しないサービスに
参考
- github
- docker profiles