一、背景
我們項目的監控體系比較完善,所以領導有要求的撥測接口,我就另外安裝了一個zabbix,為了在操作主機不影響那么多東西,我們用的是docker版。
mysql:
docker run --name zabbix-mysql-server --hostname zabbix-mysql-server -e MYSQL_ROOT_PASSWORD="123456" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_DATABASE="zabbix" -d mysql:5.6 --character-set-server=utf8 --collation-server=utf8_bin
zabbix-server:
docker run --name zabbix-server-mysql --hostname zabbix-server-mysql --link zabbix-mysql-server:mysql -e DB_SERVER_HOST="mysql" -e MYSQL_USER="zabbix" -e MYSQL_DATABASE="zabbix" -e MYSQL_PASSWORD="123456" -v /etc/localtime:/etc/localtime:ro -d zabbix/zabbix-server-mysql
zabbix-web:
docker run --name zabbix-web-nginx-mysql --hostname zabbix-web-nginx-mysql --link zabbix-mysql-server:mysql --link zabbix-server-mysql:zabbix-server -e DB_SERVER_HOST="mysql" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e MYSQL_DATABASE="zabbix" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Asia/Shanghai" -p 10086:8080 -v /tmp/dev/:/dev/ -d zabbix/zabbix-web-nginx-mysql
這樣安裝好后,在web界面可以登錄上去了,根據dockerhup的說明,
zabbix-server基於docker安裝完畢!
關閉防火牆和selinux
訪問:http://宿主機IP:10086
默認用戶名:Admin
默認登陸ming
echo 1 > /proc/sys/net/ipv4/ip_forward #容器內網絡與外網通,在宿主機上要開啟網絡轉換
ps:開啟網絡轉換容器只能ping通宿主機,不能通外網,重啟docker就OK
二、問題
實質上無論重啟多少次,都是不能通外網。用docker inspect來對比其他通的docker也看不出有什么不同。
后來就新建網橋,就可以了。不過奇怪的是,后來我班網橋改回原來的地址,也是可以的。
先關閉docker引擎
service docker stop
關閉docker0的網卡
ip link set dev docker0 down
刪除docker0網橋
brctl delbr docker0
重建docker0網橋
brctl addbr docker0
設置IP段
ip addr add 172.17.42.2/24 dev docker0
啟動docker0網橋
ip link set dev docker0 up
重啟docker引擎
service docker start
這樣就可以了!