单机环境下,使用docker-compose编排容器最简单。
一 安装Centos7.4 -----省略
二 使用overlayfs
2.1 检查内核是否加载overlayfs
lsmod | grep overlay没有任何输出,说明内核没有加载overlayfs
2.2 内核加载overlayfs系统
echo "overlay" > /etc/modules-load.d/overlay.conf
reboot
2.3 启动后再次检查内核是否加载overlayfs
lsmod | grep overlay
overlay 51863 2有输出,说明内核已经加载了overlayfs驱动,docker可以使用overlay文件系统
三 安装docker环境
3.1 安装docker环境和所需的包
yum install docker wget git net-tools bind-utils iptables-services bridge-utils bash-completion python-virtualenv gcc
3.2 编辑docker配置文件,让docker使用overlay文件系统
vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled
-s overlay
3.3 从官网上下载镜像速度很慢,需要使用国内的镜像站点进行加速
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd-current \
--registry-mirror=https://registry.docker-cn.com \
3.4 重新加载docker daemon并启动docker服务
systemctl daemon-reload
systemctl start docker
systemctl enable docker
3.5 验证docker
docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 1.13.1
Storage Driver:
overlay2
Backing Filesystem: xfs
四 安装docker-compose
4.1 安装epel源
yum install -y epel-release
4.2 安装docker-compose
yum install -y docker-compose
五 使用docker-compose编排容器
5.1 创建docker-compose.yaml文件--example
version: '2'
services:
zbx-app:
image: ivixq/alpine-s6-edge-zabbix
container_name: zbx-app
ports:
- 162:162/udp
- 10051:10051/tcp
- 10052:10052/tcp
- 8081:80/tcp
volumes:
# - /data/zbx.cfg/alertscripts:/etc/zabbix/alertscripts
- /data/zbx.cfg/externalscripts:/etc/zabbix/externalscripts
environment:
- DEBUG_MODE=true
- HTTP_FQDN=your ip
- SMTP_SERVER=your smtp server
- SENDER_MAIL_ADDR=your email address
- EMAIL_PASS=email password
restart: always
networks:
- zabbix-net
zbx-db:
image: ivixq/alpine-s6-edge-mariadb
container_name: zbx-db
volumes:
- /var/lib/docker/data1/mysql/zabbix:/var/lib/mysql
environment:
- DEBUG_MODE=true
- MYSQL_ROOT_PASSWORD=root password
- MYSQL_USER=zabbix
- MYSQL_DATABASE=zabbix
- MYSQL_PASSWORD=zbxpass
restart: always
networks:
- zabbix-net
networks:
zabbix-net:
5.2 运行
docker-compose up -d