Web App for ContainersでコンテナにSSHする

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【4/18開催】VSCode Dev Containersで楽々開発環境構築祭り〜Python/Reactなどなど〜
Visual Studio Codeの拡張機能であるDev Containersを使ってReactとかPythonとかSpring Bootとかの開発環境をラクチンで構築する方法を紹介するイベントです。
https://tech-lab.connpass.com/event/311864/

こんにちは、サイオステクノロジー武井(Twitter:@noriyukitakei)です。今回はWeb App for Containersで稼働しているコンテナのシェルに入る方法を試してみます。ほぼ私の備忘録です。

最もメジャーな方法は、コンテナの中にSSHデーモンを立てる方法です。

MS公式のドキュメントに書いてありますので、それをベースにやってみます。

https://docs.microsoft.com/ja-jp/azure/app-service/tutorial-custom-container?pivots=container-linux#connect-to-the-container-using-ssh

そして、よく使うであろうDebianを前提とします。こちらもDockerの公式ドキュメントに書いてあります。

https://docs.docker.jp/engine/examples/running_ssh_service.html

ということで以下のDockerfileを作りました。SSHデーモンの構築の部分だけ一部抜粋してます。

RUN apt-get update && apt-get install -y openssh-server
RUN mkdir /var/run/sshd
RUN echo 'root:Docker!' | chpasswd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config

# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd

ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

EXPOSE 2222 8080

MS公式ドキュメントからは読み取れないのですが、Web App for ContainersのコンテナにSSHするためには、以下の要件があります。

  • SSHのポート番号が2222であること
  • ユーザー名とパスワードは、root / Docker!であること

そしてちなみにですが、debianのbusterでsshdをインストールすると、Dockerの公式マニュアルとは異なり、/etc/ssh/sshd_configが#PermitRootLogin prohibit-passwordとなっている(Dockerの公式マニュアルではPermitRootLogin prohibit-password)ので、そのあたり書き換えなければなりません。

このDockerfileをもとにコンテナ作れば、Web App for Containersの管理画面からSSHできます。なにかとSSHできたほうが便利です。

ということで簡単でしたが、現場からは以上です。

アバター画像
About 武井 宜行 269 Articles
Microsoft MVP for Azure🌟「最新の技術を楽しくわかりやすく」をモットーにブログtech-lab.sios.jp)で情報を発信🎤得意分野はAzureによるクラウドネイティブな開発(Javaなど)💻「世界一わかりみの深いクラウドネイティブ on Azure」の動画を配信中📹 https://t.co/OMaJYb3pRN
ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる