上圖
異常報錯
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