[英]docker compose - mysql - password
我有 docker-compose 文件
version: '3.5'
services:
db:
image: itaybeyder/mysql:2
# secrets:
# - MYSQL_ROOT_PASSWORD
hostname: mysql
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: run/secrets/MYSQL_ROOT_PASSWORD.txt
MYSQL_DATABASE: crud
networks:
- app
ports:
- "3306:3306"
command: --init-file /data/application/crud.sql
volumes:
- ./data/crud.sql:/data/application/crud.sql
- ./data/MYSQL_ROOT_PASSWORD.txt:/run/secrets/MYSQL_ROOT_PASSWORD.txt
networks:
app:
external: false
# secrets:
# MYSQL_ROOT_PASSWORD:
# external: true
在卷中(我電腦中的本地文件夾)我有 mysql ROOT 的密碼
volumes:
- ./data/MYSQL_ROOT_PASSWORD.txt:/run/secrets/MYSQL_ROOT_PASSWORD.txt
我正在嘗試將它傳遞給環境 - MYSQL_ROOT_PASSWORD,但我收到錯誤:
mysql | 2021-12-26 16:27:10+00:00 [ERROR] [Entrypoint]: Both MYSQL_ROOT_PASSWORD and MYSQL_ROOT_PASSWORD_FILE are set (but are exclusive)
當我使用docker 堆棧時,它可以工作,但我想將它與 docker-compose 一起使用。
我的問題:我怎樣才能通過 ENV 的 ROOT 密碼
環境:MYSQL_ROOT_PASSWORD
文件將自己放在容器中,,? 我將文件從主機復制到容器,我希望他從本地路徑讀取,這可能嗎?
其他方式,最簡單,如何將主機中的本地密碼傳輸到 MYSQL_ROOT_PASSWORD 的 ENV?
您可以在docker-compose.yaml
文件的同一目錄中創建一個.env
文件。
.env
:
MYSQL_ROOT_PASSWORD=SUPER_STRONG_PASSWORD
然后在你的docker-compose.yaml
你可以這樣指定它:
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
您可以使用docker-compose config
來檢查您的配置是否已應用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.