关于docker-compose.yaml传递特殊字符的环境变量问题

新建了一个docker-compose.yaml配置,然后启动服务,发现连不上mysql
报错:Access denied for user

解决办法或者注意事项:

  1. 修正docker-compose.yaml配置
    version: "3.9"
    services:
    mysql:
    image: mysql:5.7
    container_name: mysql
    command: --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4 
      --collation-server=utf8mb4_unicode_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    environment:
      - MYSQL_ROOT_PASSWORD=1234$$56
    restart: always
    ports:
      - "13306:3306"
    volumes:
      - mysql-data:/var/lib/mysql
      - mysql-conf:/etc/mysql/conf.d
    
    adminer:
    image: adminer
    container_name: adminer
    restart: always
    ports:
      - 18080:8080
    depends_on:
      - mysql
    volumes:
    mysql-data: {}
    mysql-conf: {}
  2. 登录mysql容器,env校验参数成功
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《关于docker-compose.yaml传递特殊字符的环境变量问题》
文章链接:https://zhuji.vsping.com/3233.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。