參考 :http://www.javashuo.com/article/p-rpoxjahw-bq.htmlhtml
鏡像準備前端
下載鏡像:mysql、zabbix/zabbix-server-mysql、zabbix/zabbix-web-nginx-mysqljava
docker pull mysql:5.7 docker pull zabbix/zabbix-server-mysql docker pull zabbix/zabbix-web-nginx-mysql
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE zabbix/zabbix-web-nginx-mysql latest 9102571b2fef 3 weeks ago 155MB zabbix/zabbix-server-mysql latest 6da679c2a6c6 3 weeks ago 65.8MB zabbix/zabbix-agent latest be72aee790c3 3 weeks ago 16.6MB zabbix/zabbix-java-gateway latest e175083b2981 3 weeks ago 83.4MB mysql 5.7 1e4405fe1ea9 3 weeks ago 437MB
mysql安裝mysql
docker run --name mysql-server \ -v /etc/localtime:/etc/localtime -t \ -v /home/docker/data/mysql:/var/lib/mysql \ --hostname zabbix_mysql \ -p 3306:3306 \ --restart=always \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix" \ -e MYSQL_ROOT_PASSWORD="zabbix" \ -d mysql:5.7 \ --character-set-server=utf8 --collation-server=utf8_bin
安裝java-gatewaynginx
docker run --name zabbix-java-gateway \ -v /etc/localtime:/etc/localtime -t \ -d zabbix/zabbix-java-gateway:latest
安裝zabbix-serverweb
docker run --name zabbix-server-mysql \ -v /etc/localtime:/etc/localtime:ro -t \ -v /home/docker/data/zabbix:/usr/lib/zabbix \ -v /home/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \ -v /home/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \ --restart=always \ -e DB_SERVER_HOST="mysql-server" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix" \ -e MYSQL_ROOT_PASSWORD="zabbix" \ -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \ --link mysql-server:mysql \ --link zabbix-java-gateway:zabbix-java-gateway \ -p 10051:10051 \ -d zabbix/zabbix-server-mysql:latest
/usr/lib/zabbix/alertscripts
該卷用於保存自定義警報腳本,它是AlertScriptsPath參數zabbix_server.conf
/usr/lib/zabbix/externalscripts
外部檢查(項目類型)使用該卷,它是ExternalScripts參數zabbix_server.conf
安裝前端頁面 將宿主機的localtime 與容器的localtime映射sql
docker run --name zabbix-web-nginx-mysql \ -v /etc/localtime:/etc/localtime -t \ --restart=always \ -e PHP_TZ="Asia/Shanghai" \ -e DB_SERVER_HOST="mysql-server" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix" \ -e MYSQL_ROOT_PASSWORD="zabbix" \ --link mysql-server:mysql \ --link zabbix-server-mysql:zabbix-server \ -p 8080:80 \ -p 8443:443 \ -d zabbix/zabbix-web-nginx-mysql:latest
此時瀏覽器訪問宿主機8080端口,便可使用zabbix-server服務
賬號:admin,密碼:zabbixdocker
鏡像的導出與導入數據庫
鏡像的導出瀏覽器
docker save -o /opt/zabbix_agent.tar zabbix/zabbix-agent:latest #/opt/zabbix_agent.tar 導出鏡像的位置及名稱 #zabbix/zabbix-agent:latest 導出鏡像的REPOSITORY與TAG docker save -o /opt/zabbix_server.tar zabbix/zabbix-server-mysql:latest docker save -o /opt/zabbix_nginx.tar zabbix/zabbix-web-nginx-mysql:latest docker save -o /opt/zabbix_mysql.tar mysql:5.7
咱們查看/opt下文件列表,能夠看到導出成功
ll /opt
-rw------- 1 root root 61114368 Dec 16 14:54 zabbix_agent.tar
-rw------- 1 root root 305571840 Dec 16 15:02 zabbix_mysql.tar
-rw------- 1 root root 182195200 Dec 16 15:01 zabbix_nginx.tar
-rw------- 1 root root 112269824 Dec 16 15:00 zabbix_server.tar
導入鏡像:
docker load -i /opt/zabbix_agent.tar
#/opt/zabbix_agent.tar爲剛剛導出的鏡像
docker load -i /opt/zabbix_server.tar
docker load -i /opt/zabbix_nginx.tar
docker load -i /opt/zabbix_mysql.tar
再次使用docker images,能夠看到鏡像已經導入成功,能夠在當前未聯網機器上使用
zabbix從新部署與遷移
對於使用了docker的zabbix來講,由於咱們已經作了存儲的映射,因此數據庫和zabbix的配置能夠很容器的遷移到其餘機器上,拷貝宿主機上以下目錄,而後從新部署zabbix容器便可。
/home/docker/data/zabbix
/home/docker/data/mysql
因映射是存儲在宿主機上的,爲了防止數據丟失,能夠使用雲備份。