docker-compose 创建MySQL、Redis

发布时间 2023-09-05 23:51:32作者: w'dwd

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