Docker安裝zabbix(附贈(zèng)docker一鍵安裝腳本)

參考博客

CentOS7.5安裝docker1.13.1并自動(dòng)啟動(dòng)
docker下載網(wǎng)站
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
http://www.reibang.com/p/feffb24b08b2
https://www.zabbix.com/documentation/3.4/zh/manual/installation/containers

docker操作


保存鏡像

docker 存出鏡像需要注意的一個(gè)問(wèn)題
正確:docker save <repository>:<tag> -o <repository>.tar
錯(cuò)誤:docker save <IMAGE ID> -o <repository>.tar(會(huì)導(dǎo)致載入鏡像后名字標(biāo)簽都為<none>)
如果docker載入新的鏡像后repository和tag名稱都為none
通過(guò)tag的方法增加名字標(biāo)簽
docker tag <IMAGE ID> <repository>:<tag>

安裝zabbix


啟動(dòng)mysql服務(wù)

docker run --name mysql-server \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="123456" \
-p 3300:3306 \
-v /data/zabbix/mysql:/var/lib/mysql \
-d mysql:5.7

啟動(dòng)zabbix-server-mysql

docker run --name zabbix-server \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-v /data/zabbix/zabbix-server:/var/lib/zabbix \
-p 10051:10051 \
--link mysql-server:mysql \
-d --privileged  \
zabbix/zabbix-server-mysql:latest   

啟動(dòng)zabbix-web-nginx

docker run --name zabbix-web \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
e MYSQL_PASSWORD="zabbix" \
-e ZBX_HOSTNAME=zabbix-server \
--link mysql-server:mysql \
--link zabbix-server:zabbix-server \
-p 8080:80 \
-d --privileged \
zabbix/zabbix-web-nginx-mysql:latest

啟動(dòng)zabbix-agent

docker run --name zabbix-agent \
-e ZBX_HOSTNAME=zabbix-server \
-p 10050:10050 \
--link zabbix-server:zabbix-server \
-d zabbix/zabbix-agent:latest 
docker run --name zabbix-agent-a \
-e ZBX_HOSTNAME=zabbix-server \
-p 10052:10050 \
--link zabbix-server:zabbix-server \
-d zabbix/zabbix-agent:latest 

配置文件

/etc/zabbix/zabbix_agentd.conf

啟動(dòng)zabbix-proxy

docker run --name zabbix-proxy \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e ZBX_HOSTNAME=zabbix-server \
--link mysql-server:mysql \
-d --privileged \
zabbix/zabbix-proxy-mysql:latest

配置文件

/etc/zabbix/zabbix_proxy.conf


oracle

docker run -d --name oracle-server \
-p 1521:1521 \
-p 9999:8080 \
--shm-size=1g \
--restart=always \
-e ORACLE_PWD=XXX \
-v /data/oracle/data:/u01/app/oracle/oradata \
zerda/oracle-database:11.2.0.2-xe

報(bào)錯(cuò)解決

1棋凳、chown: cannot read directory '/var/lib/mysql/': Permission denied

CentOS7中Docker文件掛載拦坠,容器中沒(méi)有執(zhí)行權(quán)限
//掛載外部數(shù)據(jù)卷時(shí),無(wú)法啟動(dòng)容器,
報(bào)
chown: cannot read directory '/var/lib/mysql/': Permission denied
由$ docker logs [name] 查看得知

該原因?yàn)閏entOs7默認(rèn)開(kāi)啟selinux安全模塊,需要臨時(shí)關(guān)閉該安全模塊,或者添加目錄到白名單
臨時(shí)關(guān)閉selinux:su -c "setenforce 0"
重新開(kāi)啟selinux:su -c "setenforce 1"

添加selinux規(guī)則,將要掛載的目錄添加到白名單:
示例:chcon -Rt svirt_sandbox_file_t  /data/zabbix/   (可用)

2剩岳、啟動(dòng)docker容器時(shí)報(bào)錯(cuò):

iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT --to-destination 172.18.0.4:5000 ! -i br-ff45d935188b: iptables: No chain/target/match by that name. (exit status 1)

解決方案:重啟docker

3贞滨、連不上數(shù)據(jù)庫(kù)

# Solution 1
/sbin/ip route|awk '/default/ { print $3 }'
docker run --add-host dockerhost:`/sbin/ip route|awk '/default/ { print  $3}'` [my container]
# Solution 2
-e "DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')"

4、WARNING: IPv4 forwarding is disabled. Networking will not work.

# vim  /usr/lib/sysctl.d/00-system.conf
net.ipv4.ip_forward=1

開(kāi)放端口服務(wù)

iptables -A INPUT -p tcp --dport 3300 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 3300 -j ACCEPT

docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

安裝腳本

#!/bin/sh
 
usage(){
  echo "Usage: $0 FILE_NAME_DOCKER_CE_TAR_GZ"
  echo "       $0 docker-17.09.0-ce.tgz"
  echo "Get docker-ce binary from: https://download.docker.com/linux/static/stable/x86_64/"
  echo "eg: wget https://download.docker.com/linux/static/stable/x86_64/docker-17.09.0-ce.tgz"
  echo ""
}
SYSTEMDDIR=/usr/lib/systemd/system
SERVICEFILE=docker.service
DOCKERDIR=/usr/bin
DOCKERBIN=docker
SERVICENAME=docker
 
if [ $# -ne 1 ]; then
  usage
  exit 1
else
  FILETARGZ="$1"
fi
 
if [ ! -f ${FILETARGZ} ]; then
  echo "Docker binary tgz files does not exist, please check it"
  echo "Get docker-ce binary from: https://download.docker.com/linux/static/stable/x86_64/"
  echo "eg: wget https://download.docker.com/linux/static/stable/x86_64/docker-17.09.0-ce.tgz"
  exit 1
fi
 
echo "##unzip : tar xvpf ${FILETARGZ}"
tar xvpf ${FILETARGZ}
echo
 
echo "##binary : ${DOCKERBIN} copy to ${DOCKERDIR}"
cp -p ${DOCKERBIN}/* ${DOCKERDIR} >/dev/null 2>&1
which ${DOCKERBIN}
 
echo "##systemd service: ${SERVICEFILE}"
echo "##docker.service: create docker systemd file"
cat >${SYSTEMDDIR}/${SERVICEFILE} <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd \
                -H tcp://0.0.0.0:4243 \
                -H unix:///var/run/docker.sock \
                --selinux-enabled=false \
                --log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
 
echo ""
 
systemctl daemon-reload
echo "##Service status: ${SERVICENAME}"
systemctl status ${SERVICENAME}
echo "##Service restart: ${SERVICENAME}"
systemctl restart ${SERVICENAME}
echo "##Service status: ${SERVICENAME}"
systemctl status ${SERVICENAME}
 
echo "##Service enabled: ${SERVICENAME}"
systemctl enable ${SERVICENAME}
cat >/etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
# swapoff -a
# iptables -P FORWARD ACCEPT
# sysctl --system
systemctl daemon-reload
systemctl restart docker.service
 
echo "## docker version"
docker version
docker run hello-world
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卢肃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子才顿,更是在濱河造成了極大的恐慌莫湘,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件郑气,死亡現(xiàn)場(chǎng)離奇詭異幅垮,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)尾组,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)忙芒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人讳侨,你說(shuō)我怎么就攤上這事呵萨。” “怎么了跨跨?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵潮峦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我勇婴,道長(zhǎng)忱嘹,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任耕渴,我火速辦了婚禮拘悦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘橱脸。我一直安慰自己础米,他們只是感情好分苇,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著椭盏,像睡著了一般组砚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上掏颊,一...
    開(kāi)封第一講書(shū)人閱讀 51,708評(píng)論 1 305
  • 那天糟红,我揣著相機(jī)與錄音,去河邊找鬼乌叶。 笑死盆偿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的准浴。 我是一名探鬼主播事扭,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼乐横!你這毒婦竟也來(lái)了求橄?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤葡公,失蹤者是張志新(化名)和其女友劉穎罐农,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體催什,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涵亏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蒲凶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片气筋。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖旋圆,靈堂內(nèi)的尸體忽然破棺而出宠默,到底是詐尸還是另有隱情,我是刑警寧澤灵巧,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布光稼,位于F島的核電站,受9級(jí)特大地震影響孩等,放射性物質(zhì)發(fā)生泄漏艾君。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一肄方、第九天 我趴在偏房一處隱蔽的房頂上張望冰垄。 院中可真熱鬧,春花似錦、人聲如沸虹茶。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蝴罪。三九已至董济,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間要门,已是汗流浹背虏肾。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留欢搜,地道東北人封豪。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像炒瘟,于是被迫代替她去往敵國(guó)和親吹埠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容