上图
异常报错
mysql You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD
大概意思就是:mysql 容器需要开启必须设置这几个参数 很简单
我们在.env文件中加入
MYSQL_VERSION=5.7
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=root
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ALLOW_EMPTY_PASSWORD=root
MYSQL_RANDOM_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
接下来重新读一遍配置
# 停止所有mysql 容器
docker-compose stop mysql
# 清理缓存配置
docker-compose build --no-cache mysql
# 重启docker在操作
docker-compose build mysql
# 加载容器
docker-compose up mysql
到这一步应该没问题了吧 结果
配置无效 全局搜一下MYSQL_PASSWORD
应该有个docker 启动文件读取了 .env 果然 锁定了docker-compose.yml 这个文件 原来文件读取在这
加入配置
mysql56:
build:
context: ./mysql56
args:
- MYSQL_VERSION=5.6
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
#- MYSQL_ROOT_PASSWcORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_ROOT_PASSWCORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_ALLOW_EMPTY_PASSWORD=${MYSQL_ALLOW_EMPTY_PASSWORD}
- MYSQL_RANDOM_ROOT_PASSWORD=${MYSQL_RANDOM_ROOT_PASSWORD}
- TZ=${WORKSPACE_TIMEZONE}
volumes:
- ${DATA_PATH_HOST}/mysql:/var/lib/mysql
- ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
ports:
- "3308:3308"
networks:
- backend