docker-compose入门示例
docker-compose入门示例
以下将启动一个zabbix_server端作为compose的使用案例
docker命令启动方式
启动mysql
[root@wshile zabbix]# docker run --name mysql-server -t \
-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
启动zabbix_server
[root@wshile zabbix]# docker run --name zabbix-server-mysql -t \
-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 \
-p 10051:10051 \
-d zabbix/zabbix-server-mysql:latest
启动一个nginx作为web
[root@wshile zabbix]# docker run --name zabbix-web-nginx-mysql -t \
-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:8080 \
-d zabbix/zabbix-web-nginx-mysql:latest
这时候可以通过本机ip+端口进行访问。
docker-compose方式启动上面的服务
安装docker-compose
[root@wshile zabbix]# yum -y install epel-release [root@wshile zabbix]# yum -y install python-pip [root@wshile zabbix]# pip install --upgrade pip [root@wshile zabbix]# pip install setuptools==33.1.1 [root@wshile zabbix]# pip install docker-compose [root@wshile zabbix]# pip uninstall urllib3 [root@wshile zabbix]# pip uninstall chardet [root@wshile zabbix]# pip install requests [root@wshile zabbix]# docker-compose version
配置docker-compose.yaml文件
version: '3'
services:
mysql-server:
image: mysql:5.7
container_name: mysql-server
environment:
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_ROOT_PASSWORD: zabbix
zabbix-server-mysql:
image: zabbix/zabbix-server-mysql:latest
container_name: zabbix-server-mysql
environment:
DB_SERVER_HOST: mysql-server
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_ROOT_PASSWORD: zabbix
ports:
- '10051:10051'
links:
- mysql-server
depends_on: # 以依赖循序启动
- mysql-server
zabbix-web-nginx-mysql:
image: zabbix/zabbix-web-apache-mysql
container_name: zabbix-web-nginx-mysql
environment:
DB_SERVER_HOST: mysql-server
MYSQL_DATABASE: zabbix
MYSQL_USER: zabbix
MYSQL_PASSWORD: zabbix
MYSQL_ROOT_PASSWORD: zabbix
ports:
- '8080:8080'
- '443:443'
links:
- mysql-server
- zabbix-server-mysql
depends_on:
- mysql-server
- zabbix-server-mysql
启动服务
# 使用docker-compose启动容器会默认创建一个bridge网络 [root@wshile zabbix]# docker-compose up -d [root@wshile zabbix]# docker network ls NETWORK ID NAME DRIVER SCOPE 80c42b87d6f7 bridge bridge local bd710e00469e host host local f8086404d8d7 none null local ae40868e7e89 zabbix_default bridge local
同样使用以上方式访问服务,区别于使用bridge模式的桥接网卡不同。
加油,你们是最棒的!

浙公网安备 33010602011771号