mysql docker-compose啟動異常:Database is uninitialized and password option is not specified
阿新 • • 發佈:2021-09-05
## docker-compose 定義,無法正常執行 version: '3.2' services: mysql: image: mysql:5.7.35 ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD:abc restart: always volumes: - ./conf:/etc/mysql/conf.d - ./data:/var/lib/mysql ## 官方啟動命令,可正常執行 ## docker run -v "$PWD/data":/var/lib/mysql --name mysql57 -e MYSQL_ROOT_PASSWORD=abc-p3306:3306 -d mysql:5.7.35
按上面的配置進行啟動,但是總是提示環境變數未配置
mysql_1 | 2021-09-05 02:42:12+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified mysql_1 | You need to specify one of the following: mysql_1 | - MYSQL_ROOT_PASSWORD mysql_1 | - MYSQL_ALLOW_EMPTY_PASSWORD mysql_1 | - MYSQL_RANDOM_ROOT_PASSWORD
對比兩種寫法的差異後,可以發現
原因是:mysql的環境變數識別需要通過"="進行賦值,使用":"不生效.這也真是坑啊
正確的環境變數賦值方式
MYSQL_ROOT_PASSWORD=abc
- 參考資料
Docker | Postgres Database is uninitialized and superuser password is not specified
docker-compose environment-variables