DockerHUB の zabbix イメージを使用して、テスト環境を作ってみます。
環境は以下のとおり。
- Dockerホスト(CentOS7.3)
- docker1.10.3
- docker-compose1.10.0
- Dockerコンテナ(AlpineLinux)
- zabbix server 3.2
- mariadb
- zabbix agent
- nginx
zabbix ディレクトリに下記内容の docker-compose.yml を格納します。
[root@centos0702 zabbix]# cat docker-compose.yml version: '2' services: db: image: mariadb command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci volumes: - ./data/mysql:/var/lib/mysql - /etc/localtime:/etc/localtime:ro ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: docker MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix server: image: zabbix/zabbix-server-mysql:alpine-3.2-latest volumes: - ./data/zabbix:/var/lib/zabbix - /etc/localtime:/etc/localtime:ro environment: DB_SERVER_HOST: zabbix_db_1 MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix ports: - "10051:10051" depends_on: - db web: image: zabbix/zabbix-web-nginx-mysql:alpine-3.2-latest volumes: - /usr/share/fonts/ipa-pgothic/ipagp.ttf:/usr/share/zabbix/fonts/graphfont.ttf:ro environment: DB_SERVER_HOST: zabbix_db_1 MYSQL_USER: zabbix MYSQL_PASSWORD: zabbix ZBX_SERVER_HOST: zabbix_server_1 TZ: Asia/Tokyo ports: - "80:80" depends_on: - db - server agent: image: zabbix/zabbix-agent:alpine-latest volumes: - /etc/localtime:/etc/localtime:ro environment: ZBX_SERVER_HOST: zabbix_server_1 ports: - "10050:10050" depends_on: - server privileged: true
Dockerコンテナで以下のようにしてIPAフォントをインストールしておきます。
[root@centos0702 zabbix]# yum install ipa-pgothic-fonts
コンテナのイメージをDockerHUBから取得します。
[root@centos0702 zabbix]# docker-compose pull Pulling db (mariadb:latest)... Trying to pull repository docker.io/library/mariadb ... latest: Pulling from docker.io/library/mariadb ~省略~ Digest: sha256:53c987d54e0ce4abae97894ea960f6ba889a19a574a00a77c295ac33d1bd3bd4 Status: Downloaded newer image for docker.io/zabbix/zabbix-agent:alpine-latest Pulling web (zabbix/zabbix-web-nginx-mysql:alpine-3.2-latest)... Trying to pull repository docker.io/zabbix/zabbix-web-nginx-mysql ... alpine-3.2-latest: Pulling from docker.io/zabbix/zabbix-web-nginx-mysql 3690ec4760f9: Already exists 4f869513b27c: Pull complete 392eaccdd003: Pull complete fc10ef29bc10: Pull complete fbc02d3e2931: Pull complete ee440b489bcc: Pull complete 51e71efce406: Pull complete ad903346923a: Pull complete e81f8c02dbab: Pull complete 2930a57f9526: Pull complete 104265cc9514: Pull complete 2a7d5d79e121: Pull complete Digest: sha256:bdea5baf5441d60b0df30e826a50a2275d2e1209cbf31e5aa341e26e3a633051 Status: Downloaded newer image for docker.io/zabbix/zabbix-web-nginx-mysql:alpine-3.2-latest
コンテナを起動します。
[root@centos0702 zabbix]# docker-compose up -d Creating network "zabbix_default" with the default driver Creating zabbix_db_1 Creating zabbix_server_1 Creating zabbix_web_1 Creating zabbix_agent_1
コンテナの状態を確認します。
[root@centos0702 zabbix]# docker-compose ps Name Command State Ports -------------------------------------------------------------------------------------------- zabbix_agent_1 /bin/bash /run_zabbix_comp ... Up 0.0.0.0:10050->10050/tcp zabbix_db_1 docker-entrypoint.sh mysql ... Up 0.0.0.0:3306->3306/tcp zabbix_server_1 /bin/bash /run_zabbix_comp ... Up 0.0.0.0:10051->10051/tcp, 162/udp zabbix_web_1 /bin/bash /run_zabbix_comp ... Up 443/tcp, 0.0.0.0:80->80/tcp
zabbix ディレクトリの data ディレクトリが自動的に作成され、mariadb と zabbix-server の一部がマウントされます。
[root@centos0702 zabbix]# tree -F . . ├── data/ │ ├── mysql/ │ │ ├── aria_log.00000001 │ │ ├── aria_log_control │ │ ├── ib_logfile0 │ │ ├── ib_logfile1 │ │ ├── ibdata1 │ │ ├── multi-master.info │ │ ├── mysql/ │ │ │ ├── column_stats.MYD │ │ │ ├── column_stats.MYI │ │ │ ├── column_stats.frm │ │ │ ├── columns_priv.MYD │ │ │ ├── columns_priv.MYI │ │ │ ├── columns_priv.frm │ │ │ ├── db.MYD │ │ │ ├── db.MYI │ │ │ ├── db.frm │ │ │ ├── event.MYD │ │ │ ├── event.MYI │ │ │ ├── event.frm │ │ │ ├── func.MYD │ │ │ ├── func.MYI │ │ │ ├── func.frm │ │ │ ├── general_log.CSM │ │ │ ├── general_log.CSV │ │ │ ├── general_log.frm │ │ │ ├── gtid_slave_pos.frm │ │ │ ├── gtid_slave_pos.ibd │ │ │ ├── help_category.MYD │ │ │ ├── help_category.MYI │ │ │ ├── help_category.frm │ │ │ ├── help_keyword.MYD │ │ │ ├── help_keyword.MYI │ │ │ ├── help_keyword.frm │ │ │ ├── help_relation.MYD │ │ │ ├── help_relation.MYI │ │ │ ├── help_relation.frm │ │ │ ├── help_topic.MYD │ │ │ ├── help_topic.MYI │ │ │ ├── help_topic.frm │ │ │ ├── host.MYD │ │ │ ├── host.MYI │ │ │ ├── host.frm │ │ │ ├── index_stats.MYD │ │ │ ├── index_stats.MYI │ │ │ ├── index_stats.frm │ │ │ ├── innodb_index_stats.frm │ │ │ ├── innodb_index_stats.ibd │ │ │ ├── innodb_table_stats.frm │ │ │ ├── innodb_table_stats.ibd │ │ │ ├── plugin.MYD │ │ │ ├── plugin.MYI │ │ │ ├── plugin.frm │ │ │ ├── proc.MYD │ │ │ ├── proc.MYI │ │ │ ├── proc.frm │ │ │ ├── procs_priv.MYD │ │ │ ├── procs_priv.MYI │ │ │ ├── procs_priv.frm │ │ │ ├── proxies_priv.MYD │ │ │ ├── proxies_priv.MYI │ │ │ ├── proxies_priv.frm │ │ │ ├── roles_mapping.MYD │ │ │ ├── roles_mapping.MYI │ │ │ ├── roles_mapping.frm │ │ │ ├── servers.MYD │ │ │ ├── servers.MYI │ │ │ ├── servers.frm │ │ │ ├── slow_log.CSM │ │ │ ├── slow_log.CSV │ │ │ ├── slow_log.frm │ │ │ ├── table_stats.MYD │ │ │ ├── table_stats.MYI │ │ │ ├── table_stats.frm │ │ │ ├── tables_priv.MYD │ │ │ ├── tables_priv.MYI │ │ │ ├── tables_priv.frm │ │ │ ├── time_zone.MYD │ │ │ ├── time_zone.MYI │ │ │ ├── time_zone.frm │ │ │ ├── time_zone_leap_second.MYD │ │ │ ├── time_zone_leap_second.MYI │ │ │ ├── time_zone_leap_second.frm │ │ │ ├── time_zone_name.MYD │ │ │ ├── time_zone_name.MYI │ │ │ ├── time_zone_name.frm │ │ │ ├── time_zone_transition.MYD │ │ │ ├── time_zone_transition.MYI │ │ │ ├── time_zone_transition.frm │ │ │ ├── time_zone_transition_type.MYD │ │ │ ├── time_zone_transition_type.MYI │ │ │ ├── time_zone_transition_type.frm │ │ │ ├── user.MYD │ │ │ ├── user.MYI │ │ │ └── user.frm │ │ ├── performance_schema/ │ │ │ └── db.opt │ │ ├── tc.log │ │ └── zabbix/ │ │ ├── db.opt │ │ ├── group_discovery.frm │ │ ├── group_discovery.ibd │ │ ├── group_prototype.frm │ │ ├── group_prototype.ibd │ │ ├── groups.frm │ │ ├── groups.ibd │ │ ├── hosts.frm │ │ ├── hosts.ibd │ │ ├── maintenances.frm │ │ ├── maintenances.ibd │ │ ├── screens.frm │ │ ├── screens.ibd │ │ ├── screens_items.frm │ │ ├── screens_items.ibd │ │ ├── users.frm │ │ └── users.ibd │ └── zabbix/ │ ├── enc/ │ ├── mibs/ │ ├── modules/ │ ├── snmptraps/ │ ├── ssh_keys/ │ └── ssl/ │ ├── certs/ │ ├── keys/ │ └── ssl_ca/ └── docker-compose.yml 15 directories, 115 files
下記URLで zabbix のログイン画面が表示されるので、ユーザ:admin、パスワード:zabbix でログインできます。
http://<DockerホストのIPアドレス>