docker-compose 创建MySQL、Redis
docker-compose 创建单机MySQL、单机Redis
1、single_mysql项目结构
[root@lang single_mysql]# tree
.
├── docker-compose.yml
├── mysql
│ ├── data
│ └── my.cnf
└── redis
├── data
└── redis.conf
2、
1.docker-compose.yml内容
[root@lang single_mysql]# cat docker-compose.yml
version: '1'
services:
mysql:
image: mysql:5.7
restart: always
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
ports:
- 3332:3306
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- mysql-network-1
healthcheck:
test: ["CMD-SHELL", "netstat -tnlp|grep 3306 || exit 1"]
interval: 10s
timeout: 20s
retries: 3
redis:
image: redis:7.0.3
restart: always
container_name: redis
volumes:
- ./redis/redis.conf:/usr/local/redis/redis.conf
- ./redis/data:/opt/apache/redis/data
ports:
- "26379:6379"
command: ["sh","-c","/usr/local/bin/redis-server /usr/local/redis/redis.conf ; tail -f /usr/local/redis/redis.log"]
networks:
- mysql-network-1
healthcheck:
test: ["CMD-SHELL", "netstat -tnlp|grep 6379 || exit 1"]
interval: 10s
timeout: 20s
retries: 3
networks:
mysql-network-1:
external: true
2.mysql配置文件内容
[root@lang single_mysql]# cat mysql/my.cnf
[mysqld]
user=mysql
default-storage-engine=INNODB
character-set-server=utf8
character-set-client-handshake=FALSE
init_connect='SET NAMES utf8'
max_connections=1000
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
3.redis配置文件内容
[root@lang single_mysql]# cat redis/redis.conf
bind 0.0.0.0
daemonize yes
logfile "/usr/local/redis/redis.log"
dir /opt/apache/redis/data
masterauth 123456
requirepass 123456
appendonly yes
3、创建容器
[root@lang single_mysql]# docker-compose up -d
[+] Running 2/2
✔ Container mysql Started 0.0s
✔ Container redis Started 0.0s
4、查看部署结果
[root@lang single_mysql]# docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
mysql mysql:5.7 "docker-entrypoint.sh mysqld" mysql 51 seconds ago Up 50 seconds (healthy) 33060/tcp, 0.0.0.0:3332->3306/tcp, :::3332->3306/tcp
redis redis:7.0.3 "sh -c '/usr/local/bin/redis-server /usr/local/redis/redis.conf ; tail -f /usr/local/redis/redis.log'" redis 51 seconds ago Up 50 seconds (healthy) 0.0.0.0:26379->6379/tcp, :::26379->6379/tcp
5、其他命令
1.停止以及删除容器
[root@lang single_mysql]# docker-compose down
2.查看日志
[root@lang single_mysql]# docker-compose logs -f redis
[root@lang single_mysql]# docker-compose logs -f mysql