基本信息:在公司装了台 e5 服务器,又通过 pve 装了 centos7 ,方便中间件调试。 在 centos7 上通过 docker-compose 部署了 mysql 容器,由于公司规定下班禁止电源插电。于是变设置了一系列自启。 但是某些时候就会发生 mysql 容器启动了,无法从外部连接 mysql ,只能通过 docker exec -it mysql bash 登录容器,在容器内部登录 msyql 。
这是为什么? 下面是 docker-compose 启动文件
$ cat docker-compose.yml 
version: '3'
services:
  mysql-db-8:
    container_name: mysql8.26              # 指定容器的名称
    image: mysql:8.0.26                   # 指定镜像和版本
    ports:
      - "3309:3306"
    environment:
      MYSQL_ROOT_PASSWORD: "root"
      MYSQL_ROOT_HOST: "%"
    volumes:
      - "./mysql/data:/var/lib/mysql"           # 挂载数据目录
      - "./mysql/conf:/etc/mysql/conf.d"        # 挂载配置文件目录
    #restart: always
    command:
      # 将 mysql8.0 默认密码策略 修改为 原先 策略 (mysql8.0 对其默认策略做了更改 会导致密码无法匹配)
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.