質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

2056閲覧

Remote DevelopmentでEC2にあるLaradockのworkspaceコンテナ内のファイルを編集できるようにしたい

bigbox267

総合スコア31

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

1グッド

0クリップ

投稿2020/06/11 01:40

編集2020/06/11 02:21

前提・実現したいこと

Remote DevelopmentでEC2にあるLaradockのworkspaceコンテナ内のファイルを編集できるようにしたい

該当のソースコード

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config # ~/.ssh/config Host aws #Elastic IPアドレス HostName "" User ec2-user Port 22 #~~.pemファイルのパス IdentityFile "" LocalForward 23750 /var/run/docker.sock

json

1/* ~/.ssh/setting.json*/ 2{ 3 "docker.host": "tcp://localhost:23750" 4}

聞きたいこと

https://qiita.com/kanosawa/items/07e26edb19c86091fa48
様々なサイトを見たのですが、こちらのサイトを参考にすすめることにしました。

1.OSの問題なのかDockerDesktopがインストールできていません。これがないとそもそも話にならないのでしょうか?

2.https://qiita.com/YumaInaura/items/1d5c18a9e55484ccad89こちらのサイトに書かれているこのコード

Dockerfile

1FROM ubuntu:16.04 2 3RUN apt-get update && apt-get install -y openssh-server 4RUN mkdir /var/run/sshd 5RUN echo 'root:screencast' | chpasswd 6RUN sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config 7 8# SSH login fix. Otherwise user is kicked off after login 9RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd 10 11ENV NOTVISIBLE "in users profile" 12RUN echo "export VISIBLE=now" >> /etc/profile 13 14EXPOSE 22 15CMD ["/usr/sbin/sshd", "-D"]

はLaradockのnginx内のDockerfileに記述すればいいのでしょうか?(接続したいのはworkspaceのコンテナ)
そうすればコンテナに直接SSH接続ができるようになるということを
https://qiita.com/kanosawa/items/07e26edb19c86091fa48
「dockerコンテナにssh接続」の部分では言っているのでしょうか?

3.vscodeからサーバーにSSHで接続するということはできているのですがCONTAINERSという項目はなく画像のようになっています。SSH接続ができていてEC2上にContainerが起動していればそれをvscodeが勝手に認識して表示してくれると解釈しているのですが、画像からするとコンテナを認識していないのでしょうか?
それともこちらでRemoteContainer?で設定するのでしょうか?

イメージ説明

補足情報(FW/ツールのバージョンなど)

windows10 HOME
64ビットオペレーディングシステム x64 ベースプロセッサ

hiretamago👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1.

1.OSの問題なのかDockerDesktopがインストールできていません。これがないとそもそも話にならないのでしょうか?

VSCode と EC2 上の LaraDock でリモート開発する方法は次の 2 種類があり、
A. の方法であれば Docker Desktop なしでもできそうです:

B. の方法は Windows Home でもできなくはないかもしれませんが、
できるとしても Docker Desktop の代わりに公式でレガシー扱いの Docker Toolbox を使うことになります。

B の方法では Docker CLI や Docker Compose CLI が必要なようです。

Advanced Container Configuration

However, note that the Docker CLI still needs to be installed locally
(along with the Docker Compose CLI if you are using it).

これは Windows Home でもインストールできる Docker Toolbox にも一応含まれているようです。

2.

docker 「コンテナを ssh 接続できるようにするDockerfile」チュートリアル解説 - Qiita
こちらのサイトに書かれているこのコード
はLaradockのnginx内のDockerfileに記述すればいいのでしょうか?(接続したいのはworkspaceのコンテナ)

この Dockerfile のコードをそのまま workspace のコンテナのベースとすると
workspace が元々起動していたサービスのプロセスがなくなってしまう懸念があります。

この Dockerfile は SSH 接続を待ち受けるサービスを起動するための内容で、
次の記述が workspace イメージの起動プロセスを上書きしてしまうからです:

dockerfile

1CMD ["/usr/sbin/sshd", "-D"]

公式ドキュメントでは、次の方法で workspace コンテナへの SSH 接続可能になるとされています:

Documentation - Laradock

You can access the workspace container through localhost:2222
by setting the INSTALL_WORKSPACE_SSH build argument to true.
To change the default forwarded port for ssh:

yaml

1workspace: 2 ports: 3 - "2222:22" # Edit this line 4 ...

上記の設定を行うことで、A. の方法ができそうです。

3.

vscodeからサーバーにSSHで接続するということはできているのですがCONTAINERSという項目はなく画像のようになっています。

↓ こちらの記事を参考にされたと思いますが、この記事は B. の方法を解説しています。
ssh接続先のdockerコンテナにVSCodeのRemote Developmentで繋ぐ - Qiita

1 への回答で解説した通り、
B. の方法は Windows Home でもできなくはないかもしれませんが、
できるとしても Docker Desktop の代わりに公式でレガシー扱いの Docker Toolbox を使うことになります。

補足

かなり実現までの調査に時間と労力がかかる可能性がある内容なので念のため…

確実な実現まではお約束できませんので、
実現性の担保はご自身で各公式ドキュメントをご確認の上調査お願いします。

投稿2020/06/27 16:58

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bigbox267

2020/06/28 00:39

丁寧に説明していただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問