1. 程式人生 > >docker-compose配置zabbix環境

docker-compose配置zabbix環境

try 當前 ted cert ron 文件中 continue 顯示 0.0.0.0

docker-compose配置zabbix環境

docker-compose文件

version: "3"

services:

zabbix-mysql:

image: mysql:5.7

container_name: zabbix-mysql

ports:

  • ‘3306‘

environment:

  • MYSQL_ROOT_PASSWORD="123456"

volumes:

  • ./mysql_data:/var/lib/mysql

zabbix-web-apache-mysql:

image: zabbix/zabbix-web-apache-mysql

container_name: zabbix-web-apache-mysql

environment:

  • DB_SERVER_HOST=zabbix-mysql

  • MYSQL_USER=root

  • MYSQL_PASSWORD="123456"

  • ZBX_SERVER_HOST=zabbix-server-mysql

  • PHP_TZ=Asia/Shanghai

ports:

  • ‘80:80‘

  • ‘443:443‘

links:

  • zabbix-mysql

  • zabbix-server-mysql

depends_on:

  • zabbix-mysql

zabbix-server-mysql:

image: zabbix/zabbix-server-mysql

container_name: zabbix-server-mysql

environment:

  • DB_SERVER_HOST=zabbix-mysql

  • MYSQL_USER=root

  • MYSQL_PASSWORD="123456"

ports:

  • ‘10051:10051‘

links:

  • zabbix-mysql

depends_on:

  • zabbix-mysql

配置文件中zabbix-mysql掛載了當前路徑下的mysql_data文件夾到容器中的/var/lib/mysql,這樣容器中的mysql的數據文件可以在linux主機中查看,即使容器停止並刪除,數據文件任然保存在linux主機上

註意:搭建前相應的容器停止並刪除,否則可能不會在linux主機上顯示容器內的mysql數據文件

[[email protected] zabbix]# docker-compose -f docker-compose up -d

Creating zabbix-mysql ... done

Creating zabbix-server-mysql ... done

Creating zabbix-web-apache-mysql ... done

[[email protected] zabbix]# ls -lah

total 16K

drwxr-xr-x. 3 root root 58 Jul 26 15:24 .

dr-xr-x---. 26 root root 4.0K Jul 26 15:13 ..

-rw-r--r--. 1 root root 972 Jul 26 15:13 docker-compose

-rw-r--r--. 1 root root 13 Jul 25 14:32 .env

drwxr-xr-x. 6 systemd-bus-proxy ssh_keys 4.0K Jul 26 15:25 mysql_data

[[email protected] zabbix]# cd mysql_data/

[[email protected] mysql_data]# ls -alh

total 185M

drwxr-xr-x. 6 systemd-bus-proxy ssh_keys 4.0K Jul 26 15:25 .

drwxr-xr-x. 3 root root 58 Jul 26 15:24 ..

-rw-r-----. 1 systemd-bus-proxy ssh_keys 56 Jul 26 15:24 auto.cnf

-rw-------. 1 systemd-bus-proxy ssh_keys 1.7K Jul 26 15:24 ca-key.pem

-rw-r--r--. 1 systemd-bus-proxy ssh_keys 1.1K Jul 26 15:24 ca.pem

-rw-r--r--. 1 systemd-bus-proxy ssh_keys 1.1K Jul 26 15:24 client-cert.pem

-rw-------. 1 systemd-bus-proxy ssh_keys 1.7K Jul 26 15:24 client-key.pem

-rw-r-----. 1 systemd-bus-proxy ssh_keys 1.4K Jul 26 15:24 ib_buffer_pool

-rw-r-----. 1 systemd-bus-proxy ssh_keys 76M Jul 26 15:31 ibdata1

-rw-r-----. 1 systemd-bus-proxy ssh_keys 48M Jul 26 15:31 ib_logfile0

-rw-r-----. 1 systemd-bus-proxy ssh_keys 48M Jul 26 15:24 ib_logfile1

-rw-r-----. 1 systemd-bus-proxy ssh_keys 12M Jul 26 15:25 ibtmp1

drwxr-x---. 2 systemd-bus-proxy ssh_keys 4.0K Jul 26 15:24 mysql

drwxr-x---. 2 systemd-bus-proxy ssh_keys 8.0K Jul 26 15:24 performance_schema

-rw-------. 1 systemd-bus-proxy ssh_keys 1.7K Jul 26 15:24 private_key.pem

-rw-r--r--. 1 systemd-bus-proxy ssh_keys 451 Jul 26 15:24 public_key.pem

-rw-r--r--. 1 systemd-bus-proxy ssh_keys 1.1K Jul 26 15:24 server-cert.pem

-rw-------. 1 systemd-bus-proxy ssh_keys 1.7K Jul 26 15:24 server-key.pem

drwxr-x---. 2 systemd-bus-proxy ssh_keys 8.0K Jul 26 15:24 sys

drwxr-x---. 2 systemd-bus-proxy ssh_keys 12K Jul 26 15:25 zabbix

掛載路徑寫相對路徑,可以將整個文件夾整體拷貝到其他機器,方便遷移

當重新使用docker-compose加載鏡像啟動容器時,不會覆蓋之前映射的linux主機文件夾,而是直接使用,如下進行測試

在mysql_data文件夾下新建一個test.txt文件,寫入一些字符串

[[email protected] mysql_data]# touch test.txt

[[email protected] mysql_data]# vim test.txt

[[email protected] mysql_data]# ls

auto.cnf client-cert.pem ibdata1 ibtmp1 private_key.pem server-key.pem zabbix

ca-key.pem client-key.pem ib_logfile0 mysql public_key.pem sys

ca.pem ib_buffer_pool ib_logfile1 performance_schema server-cert.pem test.txt

停止並刪除容器,新建的test.txt文件仍然存在

[[email protected] zabbix]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

5990d74a7f47 zabbix/zabbix-web-apache-mysql "docker-entrypoint.sh" 22 minutes ago Up 22 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp zabbix-web-apache-mysql

70f3037cacdf zabbix/zabbix-server-mysql "docker-entrypoint.sh" 22 minutes ago Up 22 minutes 0.0.0.0:10051->10051/tcp zabbix-server-mysql

7bbdd78149de mysql:5.7 "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 0.0.0.0:32782->3306/tcp zabbix-mysql

[[email protected] zabbix]# docker stop 5990d74a7f47 70f3037cacdf 7bbdd78149de

5990d74a7f47

70f3037cacdf

7bbdd78149de

[[email protected] zabbix]#

[[email protected] zabbix]# docker container prune

WARNING! This will remove all stopped containers.

Are you sure you want to continue? [y/N] y

Deleted Containers:

5990d74a7f476568a779ed2e5566c09259724a86bbdfc98533640c13d83286aa

70f3037cacdfaee7a2455c47a4b8c64d0319291c919027ee1fd49e0eb0e5e414

7bbdd78149dead951bb111f87cb6627941bf2756cec5cdd80031a9fe5e657fb8

Total reclaimed space: 39.06kB

[[email protected] zabbix]# ls

docker-compose mysql_data

[[email protected] zabbix]# cd mysql_data/

[[email protected] mysql_data]# ls

auto.cnf client-cert.pem ibdata1 mysql public_key.pem sys

ca-key.pem client-key.pem ib_logfile0 performance_schema server-cert.pem test.txt

ca.pem ib_buffer_pool ib_logfile1 private_key.pem server-key.pem zabbix

[[email protected] mysql_data]# cat test.txt

if this text exists,not override

重新使用docker-compose文件啟動容器(因為之前的容器已經刪除,所以從image啟動新容器),test.txt文件仍然存在

[[email protected] zabbix]# docker-compose -f docker-compose up -d

Creating zabbix-mysql ... done

Creating zabbix-server-mysql ... done

Creating zabbix-web-apache-mysql ... done

[[email protected] zabbix]#

[[email protected] zabbix]#

[[email protected] zabbix]# ls

docker-compose mysql_data

[[email protected] zabbix]# cd mysql_data/

[[email protected] mysql_data]# ls

auto.cnf client-cert.pem ibdata1 ibtmp1 private_key.pem server-key.pem zabbix

ca-key.pem client-key.pem ib_logfile0 mysql public_key.pem sys

ca.pem ib_buffer_pool ib_logfile1 performance_schema server-cert.pem test.txt

[[email protected] mysql_data]# cat test.txt

if this text exists,not override

[[email protected] mysql_data]#

docker-compose配置zabbix環境