CentOS 版やったし、Ubuntu 版もやるよねってことで。
CentOS よりは楽な印象。
ubuntu:xenial
でコンテナ作る。
docker run -ti --name hogehoge ubuntu:xenial /bin/bash
こっからコンテナ内のシェルで実行していく。
apt-get update
apt-get install -y curl language-pack-ja
curl -O http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-2+xenial_all.deb dpkg -i zabbix-release_3.0-2+xenial_all.deb rm zabbix-release_3.0-2+xenial_all.deb apt-get update apt-get install -y --install-recommends zabbix-server-mysql zabbix-agent zabbix-frontend-php php7.0-bcmath php7.0-mbstring php7.0-xml
なんとびっくり vi
すら入ってないので sed
で。
sed -i'' '/php_value date.timezone/{s|# ||;s|Europe/Riga|Asia/Tokyo|}' /etc/zabbix/apache.conf
これやっとかないと「PID ファイル作れないんぢゃ!!!」って怒られる。
install -d -o zabbix -g zabbix /var/run/zabbix
mysqld_safe
はバックグラウンドで動かさないと返ってこれなくなる。(別の端末で docker exec /bin/bash
とかしなきゃいけない)
mysqld_safe &
mysql -uroot
create database zabbix character set utf8 collate utf8_bin; grant all on zabbix.* to zabbix@localhost quit
テンプレートからテーブル作る。これが一番時間かかる。
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix zabbix
一回デタッチしてコミット。すごく…大きいです。
$ docker commit hogehoge ubuntu:zabbix3.0 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu zabbix3.0 f3f706f706f2 26 seconds ago 690.2 MB centos zabbix3.0 22e1f36e12f7 12 hours ago 603.5 MB
各種サーバーを起動してみる。
zabbix_server
zabbix_agentd
apache2ctl start
問題なさげ。
使い捨てで起動する場合。
docker run --rm -ti ubuntu:zabbix3.0 sh -c 'mysqld_safe & zabbix_server && zabbix_agentd && . /etc/apache2/envvars && apache2 -DFOREGROUND'
全作業をスクリプト化。
(まだ作ってないけど)Dockerfileでやるときは Apache をフォアグランドに持ってきて動かさないとだめかも。Zabbix Server と Zabbix Agent には --foreground
オプションがあるけど root で実行できない。
CMD sh -c '. /etc/apache2/envvars && apache2 -DFOREGROUND'