こんにちは、武井です。
Azureが提供しているWeb App for ContainersはDockerコンテナをぽいっとpushするだけで、Webアプリケーションの稼働に必要なモロモロのもの(ロードバランサーとか)がサクッと出来上がってしまう便利なPaaSサービスです。
ただ、コンテナにSSHするのにはちょっと一工夫必要ですので、今回はその一連の流れをご説明します。
Web App for ContainersへSSHする方法は、実は以下のブログでご紹介しましたが、これはブラウザ上の専用のツールでSSHするものです。
でもやっぱりTerminalとかでSSHしたいですよね。今回はその方法をご説明します。上記のブログの内容は実施済みとします。
以下のコマンドを実行します。
$ az webapp create-remote-connection --subscription [サブスクリプションID] --resource-group [App Serviceのあるリソースグループ] -n [App Service名] Verifying if app is running.... App is running. Trying to establish tunnel connection... Opening tunnel on port: 59309 SSH is available { username: root, password: Docker! } Ctrl + C to close
これでコンテナとのリモートコネクションが貼れました。コマンドの結果の「Opening tunnel on port: XXXXXX」のXXXXXXのポートにSSH接続します。上記の例だと59309です。
$ ssh root@localhost -p 59309 Warning: Permanently added '[localhost]:59309' (RSA) to the list of known hosts. root@localhost's password: Last login: Wed Nov 11 10:23:11 2020 from XXX.XXX.XXX.XXX [root@21300d2e3907 ~]#
おおー。TerminalからSSHできました。これで自分の慣れた端末でWeb App for Containersにホストしたコンテナをメンテできます(●´ω`●)