docker-compose启动mysql、redis服务

1.自行安装docker和docker-compose

centos用户可将以下代码cp到shell文件执行

#!/bin/bash


<

配置docker加速器:https://mp.csdn.net/console/editor/html/82224386

 2.创建并进入工作目录   如:工作目录为/docker_dbs

mkdir /docker_dbs && cd /docker_dbs

3.编写docker-compose配置文件 创建配置文件docker-compose.yml输入以下内容

vi docker-compose.yml

# 配置文件版本
version: "3"


# 管理的服务
services:

    mysql:
        image: mysql:${MYSQL_VERSION}
        container_name: mysql_${MYSQL_VERSION}
        ports:
            - ${REAL_MYSQL_PORT}:3306
        volumes:
            - ${MYSQL_DIR}/data:/var/lib/mysql
            - ${MYSQL_DIR}/my.cnf:/etc/mysql/my.cnf
            - ${MYSQL_DIR}/logs:/logs
        environment:
            TZ: Asia/Shanghai
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
            MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST}
        logging:
            driver: "json-file"
            options:
                max-size: "200m"
                max-file: "3"
        restart: always


    redis:
        image: redis:${REDIS_VERSION}
        container_name: redis_${REDIS_VERSION}
        ports:
            - ${REAL_REDIS_PORT}:6379
        volumes:
            - ${REDIS_DIR}/data:/data
            - ${REDIS_DIR}/redis.conf:/etc/redis/redis.conf
            - ${REDIS_DIR}/logs:/logs
        logging:
            driver: "json-file"
            options:
                max-size: "200m"
                max-file: "3"
        restart: always
        command: ["redis-server", "/etc/redis/redis.conf"]

4.配置docker-compose配置文件所用的变量   创建.env文件输入以下内容(可根据自己需求进行配置)

vi .env

MYSQL_VERSION=5.7
MYSQL_DIR=./mysql
REAL_MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=123456
MYSQL_ROOT_HOST=%

REDIS_VERSION=latest
REDIS_DIR=./redis
REAL_REDIS_PORT=6379

5.创建mysql和redis所需的挂在目录及配置文件

创建挂在目录

mkdir -p {mysql,redis}/{data,logs}

编写mysql配置(可根据自己需求进行配置)   创建mysql/my.cnf进行配置(根据自己需求进行配置)

vi mysql/my.cnf

[mysqld]
default-storage-engine=INNODB
default-time-zone='+8:00'
innodb_rollback_on_timeout='ON'
max_connections=500
innodb_lock_wait_timeout=500
character-set-server=utf8mb4

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

编写mysql配置(可根据自己需求进行配置)   创建redis/redis.conf进行配置(根据自己需求进行配置)

vi redis/redis.conf

# 不守护进程
daemonize no
port 6379
bind 0.0.0.0
# 持久化
appendonly yes

 

 6.启动服务

# 检查配置是否正确
docker-compose config

# 启动服务:docker-compose up [-d 后台启动] [service 启动的服务]
# 后台启动mysql
docker-compose up -d mysql
# 后台启动redis
docker-compose up -d redis

# 更多操作:docker-compose -h  或查看官方文档:https://docs.docker.com/compose/reference/

=============================================================================================

mysql桌面管理工具下载:http://www.downcc.com/soft/322714.html 

redis桌面管理工具下载:https://pan.baidu.com/s/1RQGnjlXvPaiFSh1wkvh6pw     提取码:p779

=============================================================================================

如果要在本机其它容器访问不到mysql和redis,请在宿主机将映射到宿主机的端口添加到防火墙

例centos7:firewall-cmd --permanent --add-port=3306/tcp

firewall-cmd --permanent --add-port=6379/tcp

加载变更:firewall-cmd --reload

注意:在其它容器中需访问宿主机的ip地址或docker0的ip地址,查看docker0的地址:ip addr show docker0

=============================================================================================

centos7+用户可直接通过git一键部署:https://github.com/sgs921107/docker_dbs/commits/master

 

你可能感兴趣的:(docker,mysql,redis)