はじめに
JupyterLabの環境をデプロイしたいと思い、Azureの勉強をしているのですが、会社で利用している環境でコマンドが正しく動作しなかったのでまとめてみました。
開発環境
- Vscode
- Docker desktop 3.3.0
問題
結論として、Docker desktopのバージョンが古いことが原因でした
以下に解決までの道のりとアップデートの方法についてまとめます。
Azure Container InstanceでACIを作成するときに以下のコマンドをpowershellに入力します。
docker login azure
本来であれば自動でブラウザが立ち上がり、microsoftの認証画面が開きログインすることでlogin successedと表示されます。
しかし、以下のような入力を求めてきてブラウザは開きません。
> username:
> password:
とりあえず言われた通りAzureアカウントのユーザー名とパスワードを入れたところ、以下のようなエラーがでました。
Error response from daemon: Get https://azure/v2/: dial tcp: lookup azure on 192.168.65.1:53: no such host
調べてもうーんよくわからない。
私用のPCで試した時にはブラウザが開いているのでおかしいと思い、調べて解決したことを以下にまとめます。
解決方法
直接的な解決方法はネットに落ちておらず、ツイッターにて同じ症状の方がいるくらいでした。
docker login azure doesn't popup a browser. So how do I sign in?
— Matthijs Hoekstra (@mahoekst) August 8, 2020
色々、調べたところ以下の記事で手掛かりを見つけます。
この記事にこのような記述があります。(要約は以下)
Docker Desktop Communityの安定板をリリースをした。
Docker CLIのクラウドインテグレーションは、ネイティブなdockerコマンドを使用して、クラウドのサーバーレスコンテナ実行環境である「Azure Container Instance (ACI)」にアプリケーションをデプロイして実行できるものです。
この記述から、Docker desktopのバージョンによって機能が追加されているのかと考えました。いまのバージョンは2020年5月に追加したもので、私用のDocker desktopは最新版にアップデートをしています。
Docker desktopを最新版にアップデート
タスクバーからDockerを右クリックしてupdateを選択しアップデートをします。
アップデートの準備ができると以下のようになります。
Download and updateをクリックします。
すると最新版にアップデートできます。
その後、再度アイコンを右クリックしてupdate and restartをクリックして終了です。
確認
再度コマンドをたたいてみます。
docker login azure
無事成功しました。
docker login azureができないのはDocker desktopのバージョンが古いのが原因でした
おわりに
社内のAzure環境のアカウントを頂いたときに、権限周りでエラー起きるかもとのことで、それが原因かなとも思っていましたがそんなことありませんでした。
Azureは記事が少ないのもあるのか原因解決が難しいです。


