/docker-zabbix-mysql

Container for MySQL process

Primary LanguageShellOtherNOASSERTION

Docker Zabbix MySQL

Container

This container provides a mysql instance.

It's designed to be used in conjunction with other containers and data-only containers and provides only 1 process: mysqld_safe.

The idea is to use this container with docker-zabbix-server and docker-zabbix-web to form a working Zabbix installation, following the Docker principle of only using 1 process per container.

Usage

This is an example to create a working Zabbix 2.4 server using docker-zabbix-server.

Create a data-only container to hold the actual database data:

docker run -v /var/lib/mysql --name zabbix-data busybox true

Pull and build docker-zabbix-server:

git clone git://github.com/dkanbier/docker-zabbix-server
docker build -t dkanbier/zabbix-server docker-zabbix-server/

Pull and build docker-zabbix-mysql:

git clone git://github.com/dkanbier/docker-zabbix-mysql
docker build -t dkanbier/zabbix-db docker-zabbix-mysql/

Pull and build docker-zabbix-web:

git clone git://github.com/dkanbier/docker-zabbix-web
docker build -t dkanbier/zabbix-web docker-zabbix-web/

Now we have every component of Zabbix in a separate container, ready to start:

Start the database:

docker run -d --name zabbix-db --volumes-from zabbix-data dkanbier/zabbix-db

Start the Zabbix server and link it to the database:

docker run -d  --name zabbix-server --link zabbix-db:zabbix-db dkanbier/zabbix-server

Start the web server:

docker run -d --name zabbix-web -p 80:80 --link zabbix-db:zabbix-db --link zabbix-server:zabbix-server dkanbier/zabbix-web

Done. There should be 3 running containers now:

CONTAINER ID        IMAGE                           COMMAND                PORTS 
e835be9e5a85        dkanbier/zabbix-web:latest      apachectl -DFOREGROU   0.0.0.0:80->80/tcp
dc1b4fbd756f        dkanbier/zabbix-server:latest   /usr/sbin/zabbix_ser   10051/tcp, 10052/tcp
7b956c5cd7eb        dkanbier/zabbix-db:latest       /bin/bash /start.sh    3306/tcp

And the Zabbix GUI should be availabe on port the exposed port 80.