亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

創建一個 mysql docker 容器設置環境變量

創建一個 mysql docker 容器設置環境變量

富國滬深 2022-12-21 16:40:34
我正在使用 spotify-docker-client 創建并啟動一個 mysql 容器進行測試。它工作完美,但我很難找到如何設置某些值以連接到數據庫,如MYSQL_ROOT_PASSWORD、MYSQL_DATABASE、MYSQL_USER和MYSQL_PASSWORD。這是我的代碼:final ContainerConfig containerConfig = ContainerConfig.builder()        .hostConfig(hostConfig)        .image(image)        .env("MYSQL_ROOT_PASSWORD","testrootpwd","MYSQL_DATABASE", "test", "MYSQL_USER", "test", "MYSQL_PASSWORD", "test")        .build();LOG.debug("Creating container for image: {}", image);final ContainerCreation creation = this.docker.createContainer(containerConfig);我假設.env調用是設置環境變量。根據 mysql 容器文檔,設置這些 env 變量是這樣做的方法:https://hub.docker.com/_/mysql但是,我仍然無法連接到容器,我連接到 bash,但我看到那些環境變量沒有設置。有誰知道該怎么做?我可以創建一個 dockerfile 并創建我自己的圖像,但我不想那樣做,我想用 spotify 客戶端來做。
查看完整描述

1 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

此客戶端使用 docker API,因此如果客戶端缺少文檔,您可以隨時查看原始 API。檢查Docker Engine APICREATE A CONTAINER中的部分。


可以看到有一個帶有env字段的JSON請求示例:


"Env": [

           "FOO=bar",

           "BAZ=quux"

],

所以我的猜測是您可以在 Java 代碼中做到這一點:


final ContainerConfig containerConfig = ContainerConfig.builder()

    .hostConfig(hostConfig)

    .image(image)

    .env("MYSQL_ROOT_PASSWORD=testrootpwd", "MYSQL_DATABASE=test", ...)

    .build();

PS 另請注意文檔中關于此參數的內容:


以 ["VAR=value", ...] 形式在容器內設置的環境變量列表。沒有 = 的變量將從環境中刪除,而不是具有空值。


以后可能會幫助您避免錯誤。


查看完整回答
反對 回復 2022-12-21
  • 1 回答
  • 0 關注
  • 409 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號