美文网首页
Docker运维笔记五:使用Docker-Compose安装Re

Docker运维笔记五:使用Docker-Compose安装Re

作者: 开发者连小超 | 来源:发表于2020-03-13 08:37 被阅读0次

    docker 启动每一次|关闭只能操作一个容器,而使用docker-compose 方式则可以一次性启动|关闭多个容器,非常方便!

    1、安装Docker-Compose

    下载docker-compose:

    wget https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose
    
    

    对下载的文件添加可执行权限:

    sudo chmod +x /usr/local/bin/docker-compose
    

    创建软连接:

    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    
    

    测试一下是否安装成功:

    docker-compose --version
    
    docker-compose version 1.25.0, build 0a186604
    docker-py version: 4.1.0
    CPython version: 3.7.4
    OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019
    
    2、安装MySQL5.7、Redis

    创建挂载目录

    #mysql
    mkdir -p /var/docker/mysql/data /var/docker/mysql/conf
    #redis
    mkdir -p /var/docker/redis/data /var/docker/redis/conf
    

    创建mysql挂载的配置文件my.cnf

    [client]
     port = 3306
     socket = /var/lib/mysql/data/mysql.sock
    [mysqld]
     # 针对5.7版本执行group by字句出错问题解决
     sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
     # 一般配置选项
     basedir = /var/lib/mysql
     datadir = /var/lib/mysql/data
     port = 3306
     socket = /var/lib/mysql/data/mysql.sock
     lc-messages-dir = /usr/share/mysql # 务必配置此项,否则执行sql出错时,只能显示错误代码而不显示具体错误消息
     character-set-server=utf8
     back_log = 300
     max_connections = 3000
     max_connect_errors = 50
     table_open_cache = 4096
     max_allowed_packet = 32M
     #binlog_cache_size = 4M
     max_heap_table_size = 128M
     read_rnd_buffer_size = 16M
     sort_buffer_size = 16M
     join_buffer_size = 16M
     thread_cache_size = 16
     query_cache_size = 64M
     query_cache_limit = 4M
     ft_min_word_len = 8
     thread_stack = 512K
     transaction_isolation = REPEATABLE-READ
     tmp_table_size = 64M
     #log-bin=mysql-bin
     long_query_time = 6
     server_id=1
     innodb_buffer_pool_size = 256M
     innodb_thread_concurrency = 16
     innodb_log_buffer_size = 16M
    

    创建redis挂载的配置文件redis.conf

    vi /var/docker/redis/conf/redis.conf
    
    #内容
    #bind 127.0.0.1
    protected-mode no
    appendonly yes
    requirepass 123456
    

    直接在登录后当前用户目录下新建,比如我是( /home/docker-compose-yml)下创建mysql-redis.yml配置文件,内容为

    version: '3'
    
    services:
      mysql:
        image: mysql:5.7.26 # MySQL镜像
        container_name: mysql_5.7 # MySQL容器名称
        # network_mode: "host" # 如果需要容器使用宿主机IP(内网IP),则可以配置此项
        restart: always # 设置容器自启模式
        command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # 设置utf8字符集
        environment:
          MYSQL_ROOT_PASSWORD: 123456 # MySQL ROOT账号密码
        volumes:
          - /etc/localtime:/etc/localtime:ro # 设置容器时区与宿主机保持一致
          - /var/docker/mysql/data:/var/lib/mysql #挂载 MySQL数据
          - /var/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf # 映射数据库配置文件\
        ports:
          - 3306:3306 # 端口映射
          
      redis:
        image: redis:4.0.14 # Redis镜像
        container_name: redis_4.0 # Redis容器名称
        restart: always
        command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes # 表示通过挂载配置文件追加配置
        volumes:
          - /etc/localtime:/etc/localtime:ro # 设置容器时区与宿主机保持一致
          - /var/docker/redis/data:/data #挂载 Redis数据
          - /var/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf #挂载 Redis配置
        ports:
          - 6379:6379 # 端口映射
    

    然后运行如下命令创建MySql和Redis容器:

    docker-compose -f mysql-redis.yml up -d
    

    up选项启动容器,-d选项以守护模式运行,镜像如果没有,docker会先拉取镜像,有则直接创建并启动容器,注意文件运行前不能有其同名容器,还有须注意防火墙设置

    如果要批量停止容器并清除容器,可以使用down命令
    docker-compose -f mysql-redis.yml down
    如果要重新构建容器,可以使用--build选项
    docker-compose -f mysql-redis.yml up --build -d
    启动好后,查看Docker容器状态:
    docker ps -a | grep -E "mysql|redis"

    相关文章

      网友评论

          本文标题:Docker运维笔记五:使用Docker-Compose安装Re

          本文链接:https://www.haomeiwen.com/subject/takfshtx.html