[英]Specify account credentials on a docker compose file on azure
我正在按照本教程從幾個圖像創建一個應用程序服務:
該示例具有以下 YML 文件代碼:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
問題是我在 Azure 私有注冊器上擁有容器映像並使用文件共享來掛載卷,但我找不到將憑據放在哪里。
當我使用 docker create 時,這是我必須在上面的示例中使用的憑據丟失:
--registry-login-server XXXXXX \
--registry-password XXXXXX \
--registry-username XXXXXX \
--azure-file-volume-account-name thisisjustatest \
--azure-file-volume-account-key XXXXXX \
--azure-file-volume-share-name XXXXXX
在另一個示例中,一些憑據是在稍后的步驟中使用 Web 界面添加的:
這對我的用例來說沒有意義,因為這個想法是使過程自動化,而不是添加更多的手動步驟。
我還查看了 CLI 中的代碼來創建應用程序:
https://docs.microsoft.com/en-us/cli/azure/webapp?view=azure-cli-latest#az-webapp-create
而且我沒有看到發送帳戶憑據的參數。
編輯:
這是我現在在 docker compose 文件中使用的代碼:
2vecservice:
image: coreintelligenceservices.azurecr.io/samples/word2vecservice
container_name: "apibmongodb1"
registry-login-server: coreintelligenceservices.azurecr.io
registry-password: 6JZPjl3gx7JrIDaMT7r6y9gI/xBhFYXf
registry-username: coreintelligenceservices
ports:
- "5000:5000"
restart: always
我確實創建了該應用程序,但它不起作用。
它由 Azure 設計,docker 注冊表的憑據設置在 docker-compose 文件中,如鏈接所示,它被設置為 Azure Web 應用程序的環境變量。 您可以在此處查看說明。
如果使用 docker-compose 文件在門戶中部署映像,則需要手動設置注冊表憑據的環境變量。 但是當您使用 Azure CLI 命令az webapp create
作為您引用時,您可以添加參數--docker-registry-server-user
和--docker-registry-server-password
,這可以為您設置注冊表憑據創建時間。 根據您的 docker-compose 文件中的圖像,它將自動設置注冊服務器 URL。
您需要注意的另一件事是 docker-compose 中的所有圖像必須在同一個注冊表中。 您可以在此處查看限制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.