一、安装docker-compose
yum -y install wget
wget https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 docker-compose && mv docker-compose /usr/local/bin
chmod +x /usr/local/bin/docker-compose
[root@localhost ~]
Docker Compose version v2.20.3
二、部署数据库
2.1 创建持久化目录
cd /opt
mkdir -pv {mysql/{data,logs,conf},redis/{conf,data},mongodb/data}
2.2 编辑docker-compose.yml文件
version: '2.0'
services:
mysql:
image: mysql:5.7
container_name: mysql
restart: always
ports:
- "13306:3306"
environment:
- MYSQL_ROOT_PASSWORD=xDDeE53JNXK@V
- MYSQL_LOG_CONSOLE=true
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
redis:
image: redis:5.0
container_name: redis
environment:
TZ: Asia/Shanghai
ports:
- 16379:6379
command: ["redis-server","/etc/redis/redis.conf"]
restart: always
volumes:
- ./redis/conf:/etc/redis/
- ./redis/data:/data
-
mongodb:
image: mongo:4.2.2
container_name: mongodb
environment:
TZ: Asia/Shanghai
ports:
- 27017:27017
restart: always
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=admin123
volumes:
- ./mongodb/data:/data/db
2.3 启动数据库
cd /opt
docker-compose up -d
三、常用命令
3.1 删除
docker rm -f mysql
docker-compose down
3.2 启动
docker-compose up -d mysql
docker-compose up -d
3.3 查看
docker logs -f mysql
docker logs -f --tail=500 mysql
四、问题记录
4.1 镜像可提前下载
docker pull mysql:5.7
docker pull redis:5.0
docker pull mongo:4.2.2
4.2 数据库无法访问
systemctl status firewalld
systemctl stop firewalld
firewalld-cmd --add-port=tcp/13306
firewalld-cmd --add-port=tcp/16379
firewalld-cmd --add-port=tcp/27017
firewall-cmd --add-port=13306/tcp --permanent
firewall-cmd --add-port=16379/tcp --permanent
firewall-cmd --add-port=27017/tcp --permanent
firewall-cmd --reload
docker logs -f mysql