Closed8
vscodeのdevcontainerをリモートサーバで実行する(ubuntu)
普段はこのようにローカルのvscode devcontainer on ubuntuマシンで作業しているが
コンテナ周りをいろいろ試してみると、イメージpull時のスピードが気になってしまう。(筆者環境がモバイルwifiのため、少しパワー不足を感じる...)
今後のためにEC2にRemoteSSHし、devcontainer開発をする方法を模索する。
こんな感じ
参考ページ
- Follow the installation and SSH host setup steps for the Remote - SSH extension.
- Optional: Set up SSH key based authentication to the server so you do not need to enter your password multiple times.
- Install Docker on your SSH host. You do not need to install Docker locally.
- Follow the quick start for the Remote - SSH extension to connect to a host and open a folder there.
- Use the Dev Containers: Reopen in Container command from the Command Palette (F1, Ctrl+Shift+P).
大変参考にさせていただきました。感謝
1.2.3は対象のサーバにSSHできるまでやればよさげ
docker、docker-composeもOK
$ ssh test-server docker --version
Docker version 20.10.22, build 3a2c30b
$ ssh test-server docker compose version
Docker Compose version v2.14.1
dockerのインストール手順は公式そのまま
Follow the quick start for the Remote - SSH extension to connect to a host and open a folder there.
remoteSSHで接続し、work
ディレクトリを作成しそれを開く
Use the Dev Containers: Reopen in Container command from the Command Palette (F1, Ctrl+Shift+P).
手順ではこうありますが、実際はDockerfile、composeファイルを使用すると思うので用意します。
あとベースイメージが公開されているらしいので、これを使ってみます。
フォルダ構成
フォルダ構成
.
├── .devcontainer
│ └── devcontainer.json
├── Dockerfile
├── docker-compose.yaml
└── main.go
Dockerfile
Dockerfile
FROM mcr.microsoft.com/vscode/devcontainers/go:1.18
RUN apt update
ENV GO111MODULE on
WORKDIR /code
docker-compose.yaml
docker-compose.yaml
version: '3'
services:
app:
build: .
tty: true
command: /bin/bash
volumes:
- .:/code
devcontainer.json
.devcontainer/devcontainer.json
{
"name": "golang",
"dockerComposeFile": "../docker-compose.yaml",
"service": "app",
"settings": {},
"workspaceFolder": "/code",
"customizations": {
"vscode": {
"extensions": [
"golang.go"
]
}
}
}
接続できた🎉
vscode ➜ /code $ id
uid=1000(vscode) gid=1000(vscode) groups=1000(vscode),998(nvm),999(golang)
vscode ➜ /code $ go run main.go
Hello, World!
拡張機能ももちろんOK
ユーザ、グループがvscode
であるため、ディレクトリ共有する場合、OS側にユーザ、グループを作っておくとスムーズかもしれない
一旦はこれでよさげ
次はwindowsでも試してみるか...
このスクラップは2023/01/02にクローズされました