安装docker-compose插件
docker-compose是什么?
有那些用处呢?举个例子
1、安装docker-compose插件
1.1、下载指定版本的docker-compose文件
curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
1.2、赋予docker-compose文件执行权限
# chmod +x就是赋予用户文件的执行权限
chmod +x /usr/local/bin/docker-compose
1.3、查看版本判断是否可用
docker-compose --version
# docker-compose version 1.21.2, build a133471
1.4、方法二:pip安装
不建议使用pip来安装docker-compose插件。pip存在版本更新问题以及和python的版本匹配问题。
2、实践一下
由于我事先已经pull的mycat和mysql的镜像文件。所以docker-compose在执行时就没有了,拉取镜像的执行log。
2.1、编排需要创建的容器信息(编写docker-compose.yml文件)
version: "3"
services:
mysql:
image: mysql:8.0.20
container_name: mysql_master1
restart: always
privileged: true
ports:
- 3306:3306 #端口映射中间不能有空格
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
volumes:
- /wuming/mysql/master1/data:/var/lib/mysql # 文件挂载中间不能有空格
- /wuming/mysql/master1/log:/var/log/mysql
- /wuming/mysql/master1/conf/my.cnf:/etc/mysql/my.cnf
mysql:
image: mysql:8.0.20
container_name: mysql_slaver11
restart: always
privileged: true
ports:
- 3307:3306
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
volumes:
- /wuming/mysql/slaver11/data:/var/lib/mysql
- /wuming/mysql/slaver11/log:/var/log/mysql
- /wuming/mysql/slaver11/conf/my.cnf:/etc/mysql/my.cnf
mycat:
image: mycat:latest
container_name: mycat
restart: always
ports:
- 8066:8066
volumes:
- /wuming/mycat/conf:/usr/local/mycat/conf
- /wuming/mycat/logs:/usr/local/mycat/logs
redis:
image: redis:latest
container_name: redis_master
2.3、创建容器前端口测试
测试端口是否占用,这样可以避免的编排出错。
# 安装netstat
yum -y install net-tools
# 查看端口号
netstat -npl | grep 3306
2.4、docker-compose.yml上传到服务器
进入docker-compose对应的文件目录下,执行以下命令。
# 对应目录下运行docker-compose文件
docker-compose up -d
执行完成后,创建容器并启动。比较之前的命令行,docker-compose在容器的编排方面,极大的方便我们使用,减少了我们在容器创建和项目部署方面的时间和精力。
2.5、创建完容器后,测试端口是否可以访问
# 安装telnet
yum -y install telnet
# 查看对方端口是否开
telnet 192.168.56.10 3306
2.6、停用移除docker-compose文件中所有容器以及网络相关
注意:执行docker-compose的命令在docker-compose.yml所在文件目录下执行。