美文网首页
Docker-compose安装及yaml配置

Docker-compose安装及yaml配置

作者: 格雷福豪 | 来源:发表于2019-07-31 19:56 被阅读0次

    docker_compose网址

    第一种方式:

    1. sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      

      拉取镜像

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

      修改文件为可执行

    3. $ docker-compose --version
      

      查看docker-compose的版本

    第二种方式:pip方式安装docker-compose

    1. rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

      安装pip的EPEL源

    2. yum -y install certbot libevent-devel gcc libffi-devel python-devel openssl-devel python-pip

      安装pip

    3. pip install –-upgrade pip

      升级pip

    4. pip install -U docker-compose

      安装docker-compose

    5. which docker-compose

      查看安装位置

    docker-compose的yaml文件

    文件内容如下:

    version: "3"
    services:
      mysql:
        environment:
          MYSQL_ROOT_PASSWORD: "root"
          MYSQL_USER: 'root'
          MYSQL_PASS: 'root'
        image: "mysql:5.7"
        volumes:
          - "./data:/var/lib/mysql"
          - "./conf/my.cnf:/etc/my.cnf"
        ports:
          - "3306:3306"
    
      rabbitmq:
        image: "rabbitmq:latest"
        container_name: rabbitmq
        environment:
          - RABBITMQ_DEFAULT_USER=root
          - RABBITMQ_DEFAULT_PASS=root
        restart: always
        ports:
          - "15672:15672"
          - "5672:5672"
    
      redis:
        image: "redis:latest"
        container_name: redis
        restart: always
        ports:
          - 6379:6379
        volumes:
          - ./conf/redis.conf:/etc/redis/redis.conf:rw
          - ./redis-data/:/data:rw
        command:
          # 执行的命令
          redis-server /etc/redis/redis.conf --appendonly yes
    

    Docker下安装的mysql版本高于5.7出现的问题

    解决在执行select等语句使用了GROUP BY时,会提示出现错误#1

    我使用的centos7,mysql的版本时5.7,使用docker-compose来启动的。

    一般解决这个问题是进入docker的mysql容器,执行set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

    这样能解决此问题。不过我的docker一旦重启之后,它的sql_mode又恢复原样了。

    sql_mode修改后重启容器又复原解决方法

    使用docker连接mysql容器,并编辑/etc/mysql/mysql.conf.d/mysqld.cnf文件。添加如下语句:sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

    在连接mysql容器后无法使用vi或vim命令解决方法

    输入如下命令解决:

    1. apt-get update 同步/etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
    2. apt-get install vim

    如果出现bash:ping:command not found

    使用apt-get install iputils-ping

    相关文章

      网友评论

          本文标题:Docker-compose安装及yaml配置

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