在 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