mysql docker-compose啟動異常:Database is uninitialized and password option is not specified


## 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM