![](/img/trans.png)
[英]Azure ACI and File Share - Volume mounted linux MSSQL Server is not accessible
[英]Data loss on Azure Container Instance with mounted volume
我剛剛在 azure 上創建了一個容器實例,其中包含一個 sql server docker 映像和一個掛載的文件共享存儲作為卷。 事實是容器卡住了,所以我重新啟動了它。
重啟后,所有數據都沒了。 當我在本地重新啟動 docker 容器時,數據會因卷而保持存在,因此我無法理解 azure 上的行為。
關於這個的任何線索?
這是我運行以創建容器的 cli 命令
az container create --resource-group myresource-rg \
--name project-test-db \
--image mcr.microsoft.com/mssql/server:2019-latest \
--location westus2 \
--ports 1433 \
--memory 5 \
--environment-variables SA_PASSWORD=Password ACCEPT_EULA=Y \
--ip-address public \
--azure-file-volume-account-name projectteststorageacc \
--azure-file-volume-account-key \MyKey \
--azure-file-volume-share-name project-test-file-share \
--azure-file-volume-mount-path /databases
嘗試編輯您的命令如下
使用" "
表示ACCEPT_EULA=Y
和key-value
對,如下所示。 並用SA_PASSWORD
替換MSSQL_SA_PASSWORD
--environment-variables "MSSQL_SA_PASSWORD=Password" "ACCEPT_EULA=Y" \
SQL Server 映像的必需設置,至少為 8 個字符且滿足SQL Server 密碼要求的強密碼。 鑒於您已經設置了適當的強密碼和存儲密鑰,以下命令對我來說很好用。 如果密碼不符合 SQL 標准,則此容器將失敗(重新啟動循環)。
PS /home/karthik> $Password = "MyStrongPassword"
PS /home/karthik> $key = "FO/R6WkZELhMzX02wi9KahtLtKppoSIJg/EcJLEnZajRm2uxXs0sb/APaCk1eRsNW31yijSjS1hFm5Rd4rdTew=="
az container create --resource-group Myrg \
--name project-test-db \
--image mcr.microsoft.com/mssql/server:2019-latest \
--location westus2 \
--ports 1433 \
--memory 5 \
--environment-variables "SA_PASSWORD=$Password" "ACCEPT_EULA=Y" \
--ip-address public \
--azure-file-volume-account-name kteststoragee \
--azure-file-volume-account-key $key \
--azure-file-volume-share-name ktestfs2 \
--azure-file-volume-mount-path /databases
如果 Azure 容器實例中有行為異常的容器,請首先使用az container logs查看其日志,然后使用az container attach流式傳輸其標准輸出和標准錯誤。
az container attach命令在容器啟動期間提供診斷信息。 容器啟動后,它會將 STDOUT 和 STDERR 流式傳輸到您的本地控制台。
請參閱: 快速入門:使用 Docker 運行 SQL Server 容器映像和Docker 運行命令失敗,並出現 Accept-Eula 協議錯誤 #199
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.