[컴][툴] vscode 에서 dev container 를 이용해서 개발하기

데브 컨테이너 / development container / 개발 컨테이너

vscode 에서 dev container 를 이용해서 개발하기

개인적으로 이것을 이용하면, windows 에서 개발이 유리해진다고 보여진다.(사실 다른 os 는 많이 안쓰기 때문에 뭐라 이야기할 수 없다.^^;;;) linux 환경에서의 개발이 필요할 때 편리하게 사용할 수 있다. 그리고 container 로 아무런 dependency 가 걸려있지 않은 초기의 이미지를 사용할 수 있기 때문에 환경 구성등이 훨씬 용이하다고 생각된다.

Prequisites

  1. vscode 가 설치되어 있어야 한다.
  2. docker deamon 이 돌고 있어야 한다.

전체 절차

  1. Dev Containers extension 을 설치하자.
  2. devcontainer.json 파일 만들고, project 안에 넣는다.(여기서는 <proj>\.devcontainer\devcontainer.json 에 넣었다.)
    • 이 파일이 vscode 에게 어떻게 dev container 에 접근할지를 알려준다. 그리고 connect 한 이후에 뭘 할지도 여기에 적는다.
  3. ‘Dev Container: Reopen in Container’ 를 실행하자.
  4. 그러면 왼쪽 하단에 Dev Container 라는 표시를 확인할 수 있다.
  5. 이렇게 받은 image는 docker desktop 등에서 삭제할 수 있다.

자세한 내용

여기서 사용하는 project 의 path 는 ‘d:’ 이다.

1. devcontainer.json 생성

아래처럼 devcontainer.json 을 생성했다.

- .devcontainer/
    - devcontainer.json

devcontainer.json의 내용:

devcontainer.json 에는 docker image 를 하나 적었다. docker image 는 docker hub 에서 하나 찾았다.(링크 : https://hub.docker.com/r/sandrokeil/typescript)

{
  "image": "sandrokeil/typescript"
}

2. Dev Containers extension 설치

  • vscode 를 열고, project root을 열자.

  • 그리고 Dev Containers extension 을 설치하자.

  • 그러면, ‘Dev Container: Reopen in Container’ 라는 메뉴가 생긴다.

3. Reopen in Container

  • ‘Dev Container: Reopen in Container’ 를 실행하면, container 를 열게 된다.

  • 그러면 docker image 를 받고, 그 안에 vscode server를 설치하는 듯 하다.(아래 log 에서 확인할 수 있다.)

  • 참고로 [38565 ms] 5235c6bb189b60b01b1f49062f4ffa42384f8c91 linux-alpine stable 에서 한 200초정도를 머무른다. 그러니 여유롭게 기다리자.

  • 설치가 끝나고 dev container 를 open 하면 오른쪽 하단에 ‘Dev Container’ 라는 표시를 확인할 수 있다.

  • vscode 는 image 의 /workspaces라는 곳에 현재 project 를 복제하게 된다. 만약 local 에 file 을 추가하면, image 에도 같이 파일이 추가된다.

  • ’terminal’을 열면, docker image 내에서 bash 등을 열어주게 된다.

log:

[131 ms] Dev Containers 0.266.1 in VS Code 1.74.0 (5235c6bb189b60b01b1f49062f4ffa42384f8c91).
[130 ms] Start: Resolving Remote
[139 ms] Setting up container for folder or workspace: d:\a\prog\devcontainer
[141 ms] Start: Check Docker is running
[141 ms] Start: Run: docker version --format {{.Server.APIVersion}}
[268 ms] Server API version: 1.41
[269 ms] Start: Run: docker volume ls -q
[376 ms] Start: Run: docker volume create vscode
[553 ms] Start: Run: docker ps -q -a --filter label=vsch.local.folder=d:\a\prog\devcontainer --filter label=vsch.quality=stable
[653 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=d:\a\prog\devcontainer
[762 ms] Start: Run: D:\a\appss\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\myuser\.vscode\extensions\ms-vscode-remote.remote-containers-0.266.1\dist\spec-node\devContainersSpecCLI.js up --user-data-folder c:\Users\myuser\AppData\Roaming\Code\User\globalStorage\ms-vscode-remote.remote-containers\data --workspace-folder d:\a\prog\devcontainer --workspace-mount-consistency cached --id-label devcontainer.local_folder=d:\a\prog\devcontainer --log-level debug --log-format json --config d:\a\prog\devcontainer\.devcontainer\devcontainer.json --default-user-env-probe loginInteractiveShell --mount type=volume,source=vscode,target=/vscode,external=true --skip-post-create --update-remote-user-uid-default on --mount-workspace-git-root true
[930 ms] (node:15876) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[931 ms] (Use `Code --trace-deprecation ...` to show where the warning was created)
[931 ms] @devcontainers/cli 0.25.2. Node.js v16.14.2. win32 10.0.19044 x64.
[931 ms] Start: Run: docker buildx version
[1232 ms] github.com/docker/buildx v0.9.1 ed00243a0ce2a0aee75311b06e32d33b44729689
[1232 ms] 
[1232 ms] Start: Resolving Remote
[1233 ms] Start: Run: git rev-parse --show-cdup
[1267 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=d:\a\prog\devcontainer
[1372 ms] Start: Run: docker inspect --type image sandrokeil/typescript
[3330 ms] local container features stored at: c:\Users\myuser\.vscode\extensions\ms-vscode-remote.remote-containers-0.266.1\dist\node_modules\vscode-dev-containers\container-features
[3331 ms] Start: Run: tar --no-same-owner -x -f -
[3387 ms] Start: Run: docker events --format {{json .}} --filter event=start
[3393 ms] Start: Starting container
[3394 ms] Start: Run: docker run --sig-proxy=false -a STDOUT -a STDERR --mount type=bind,source=d:\a\prog\devcontainer,target=/workspaces/devcontainer,consistency=cached --mount type=volume,src=vscode,dst=/vscode -l devcontainer.local_folder=d:\a\prog\devcontainer --entrypoint /bin/sh -l devcontainer.metadata=[] sandrokeil/typescript -c echo Container started
Unable to find image 'sandrokeil/typescript:latest' locally
latest: Pulling from sandrokeil/typescript
540db60ca938: Pull complete
48a84b549a88: Pull complete
b7b61ff2ef28: Pull complete
7b9525477877: Pull complete
2c832a1119b4: Pull complete
d632fe9858ab: Pull complete
Digest: sha256:b6f70ba4e3753dd7bbdeb69212eabb08887c8cd73ad4f7c701048c6181519301
Status: Downloaded newer image for sandrokeil/typescript:latest
Container started
[37005 ms] Start: Run: docker ps -q -a --filter label=devcontainer.local_folder=d:\a\prog\devcontainer
[37108 ms] Start: Run: docker inspect --type container 5473c395ec0b
[37215 ms] Start: Inspecting container
[37215 ms] Start: Run: docker inspect --type container 5473c395ec0bb5949a65a58568932743d41547f7df7b011e76ee3ad8e1cb9a33
[37322 ms] Start: Run in container: /bin/sh
[37329 ms] Start: Run in container: uname -m
[37493 ms] x86_64
[37493 ms] 
[37493 ms] Start: Run in container: (cat /etc/os-release || cat /usr/lib/os-release) 2>/dev/null
[37494 ms] NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.13.5
PRETTY_NAME="Alpine Linux v3.13"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
[37494 ms] 
[37494 ms] Start: Run in container: cat /etc/passwd
[37496 ms] Start: Run in container: test -f '/var/devcontainer/.patchEtcEnvironmentMarker'
[37497 ms] 
[37497 ms] 
[37497 ms] Exit code 1
[37497 ms] Start: Run in container: test ! -f '/var/devcontainer/.patchEtcEnvironmentMarker' && set -o noclobber && mkdir -p '/var/devcontainer' && { > '/var/devcontainer/.patchEtcEnvironmentMarker' ; } 2> /dev/null
[37499 ms] 
[37499 ms] 
[37499 ms] Start: Run in container: cat >> /etc/environment <<'etcEnvrionmentEOF'
[37500 ms] 
[37500 ms] 
[37500 ms] Start: Run in container: test -f '/var/devcontainer/.patchEtcProfileMarker'
[37501 ms] 
[37501 ms] 
[37501 ms] Exit code 1
[37501 ms] Start: Run in container: test ! -f '/var/devcontainer/.patchEtcProfileMarker' && set -o noclobber && mkdir -p '/var/devcontainer' && { > '/var/devcontainer/.patchEtcProfileMarker' ; } 2> /dev/null
[37502 ms] 
[37502 ms] 
[37502 ms] Start: Run in container: sed -i -E 's/((^|\s)PATH=)([^\$]*)$/\1${PATH:-\3}/g' /etc/profile || true
[37503 ms] 
[37503 ms] 
[37514 ms] Start: Run: docker inspect --type container 5473c395ec0bb5949a65a58568932743d41547f7df7b011e76ee3ad8e1cb9a33
[37631 ms] Start: Run: D:\a\appss\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\myuser\.vscode\extensions\ms-vscode-remote.remote-containers-0.266.1\dist\spec-node\devContainersSpecCLI.js read-configuration --workspace-folder d:\a\prog\devcontainer --id-label devcontainer.local_folder=d:\a\prog\devcontainer --container-id 5473c395ec0bb5949a65a58568932743d41547f7df7b011e76ee3ad8e1cb9a33 --log-level debug --log-format json --config d:\a\prog\devcontainer\.devcontainer\devcontainer.json --mount-workspace-git-root true
[37802 ms] (node:13760) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[37802 ms] (Use `Code --trace-deprecation ...` to show where the warning was created)
[37803 ms] @devcontainers/cli 0.25.2. Node.js v16.14.2. win32 10.0.19044 x64.
[37803 ms] Start: Run: git rev-parse --show-cdup
[37840 ms] Start: Run: docker inspect --type container 5473c395ec0bb5949a65a58568932743d41547f7df7b011e76ee3ad8e1cb9a33
[37953 ms] Start: Run: D:\a\appss\Microsoft VS Code\Code.exe --ms-enable-electron-run-as-node c:\Users\myuser\.vscode\extensions\ms-vscode-remote.remote-containers-0.266.1\dist\spec-node\devContainersSpecCLI.js read-configuration --workspace-folder d:\a\prog\devcontainer --id-label devcontainer.local_folder=d:\a\prog\devcontainer --container-id 5473c395ec0bb5949a65a58568932743d41547f7df7b011e76ee3ad8e1cb9a33 --log-level debug --log-format json --config d:\a\prog\devcontainer\.devcontainer\devcontainer.json --include-merged-configuration --mount-workspace-git-root true
[38130 ms] (node:28264) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
[38130 ms] (Use `Code --trace-deprecation ...` to show where the warning was created)
[38131 ms] @devcontainers/cli 0.25.2. Node.js v16.14.2. win32 10.0.19044 x64.
[38131 ms] Start: Run: git rev-parse --show-cdup
[38167 ms] Start: Run: docker inspect --type container 5473c395ec0bb5949a65a58568932743d41547f7df7b011e76ee3ad8e1cb9a33
[38282 ms] Start: Inspecting container
[38283 ms] Start: Run: docker inspect --type container 5473c395ec0bb5949a65a58568932743d41547f7df7b011e76ee3ad8e1cb9a33
[38384 ms] Start: Run in container: /bin/sh
[38395 ms] Start: Run in container: uname -m
[38533 ms] x86_64
[38533 ms] 
[38533 ms] Start: Run in container: (cat /etc/os-release || cat /usr/lib/os-release) 2>/dev/null
[38535 ms] NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.13.5
PRETTY_NAME="Alpine Linux v3.13"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
[38535 ms] 
[38535 ms] Start: Run in container: cat /etc/passwd
[38537 ms] Start: Updating configuration state
[38539 ms] Start: Setup shutdown monitor
[38539 ms] Forking shutdown monitor: c:\Users\myuser\.vscode\extensions\ms-vscode-remote.remote-containers-0.266.1\dist\shutdown\shutdownMonitorProcess \\.\pipe\vscode-remote-containers-7f2cb65384d4314f8e72c61025be1f8ed85e54be-sock singleContainer Debug c:\Users\myuser\AppData\Roaming\Code\logs\20221208T100833\window4\exthost\ms-vscode-remote.remote-containers 1670463178550
[38546 ms] Start: Run in container: test -d /root/.vscode-server
[38547 ms] 
[38547 ms] 
[38547 ms] Exit code 1
[38548 ms] Start: Run in container: test -d /root/.vscode-remote
[38549 ms] 
[38549 ms] 
[38549 ms] Exit code 1
[38549 ms] Start: Run in container: test ! -f '/root/.vscode-server/data/Machine/.writeMachineSettingsMarker' && set -o noclobber && mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.writeMachineSettingsMarker' ; } 2> /dev/null
[38551 ms] 
[38551 ms] 
[38552 ms] Start: Run in container: cat /root/.vscode-server/data/Machine/settings.json
[38553 ms] 
[38553 ms] cat: /root/.vscode-server/data/Machine/settings.json: No such file or directory
[38553 ms] Exit code 1
[38553 ms] 
Support for Alpine Linux is in preview.

[38553 ms] Start: Run in container: test -d /root/.vscode-server/bin/5235c6bb189b60b01b1f49062f4ffa42384f8c91
[38554 ms] 
[38555 ms] 
[38555 ms] Exit code 1
[38555 ms] Start: Run in container: apk info | grep -e '^libstdc++$' || (apk update && apk add libstdc++)
[38563 ms] libstdc++
[38563 ms] WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/main: No such file or directory
WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/community: No such file or directory
[38563 ms] Start: Run in container: test -d /vscode/vscode-server/bin/linux-alpine/5235c6bb189b60b01b1f49062f4ffa42384f8c91
[38564 ms] 
[38564 ms] 
[38564 ms] Exit code 1
[38565 ms] Installing VS Code Server for commit 5235c6bb189b60b01b1f49062f4ffa42384f8c91
[38565 ms] Start: Downloading VS Code Server
[38565 ms] 5235c6bb189b60b01b1f49062f4ffa42384f8c91 linux-alpine stable 
[235003 ms] Start: Installing VS Code Server
[235003 ms] Start: Run in container: mkdir -p /vscode/vscode-server/bin/linux-alpine/5235c6bb189b60b01b1f49062f4ffa42384f8c91_1670463413553
[235005 ms] 
[235005 ms] 
[235046 ms] Start: Run in container: (dd iflag=fullblock bs=8192 count=8235 2>/dev/null; dd iflag=fullblock bs=3813 count=1 2>/dev/null) | tar --no-same-owner -xz -C /vscode/vscode-server/bin/linux-alpine/5235c6bb189b60b01b1f49062f4ffa42384f8c91_1670463413553
[236382 ms] 
[236382 ms] 
[236382 ms] Start: Run in container: mv -n /vscode/vscode-server/bin/linux-alpine/5235c6bb189b60b01b1f49062f4ffa42384f8c91_1670463413553/* /vscode/vscode-server/bin/linux-alpine/5235c6bb189b60b01b1f49062f4ffa42384f8c91 && rmdir /vscode/vscode-server/bin/linux-alpine/5235c6bb189b60b01b1f49062f4ffa42384f8c91_1670463413553
[236384 ms] 
[236384 ms] 
[236385 ms] Start: Run in container: mkdir -p '/root/.vscode-server/bin' && ln -snf '/vscode/vscode-server/bin/linux-alpine/5235c6bb189b60b01b1f49062f4ffa42384f8c91' '/root/.vscode-server/bin/5235c6bb189b60b01b1f49062f4ffa42384f8c91'
[236386 ms] 
[236387 ms] 
[236387 ms] Start: Run in container: touch '/vscode/vscode-server/bin/linux-alpine/5235c6bb189b60b01b1f49062f4ffa42384f8c91' && cd '/vscode/vscode-server/bin/linux-alpine' && ls -td *[^_]????????????? | tail -n +10 | xargs rm -rf
[236387 ms] Start: Launching Dev Containers helper.
[236388 ms] ssh-agent: SSH_AUTH_SOCK in container (/tmp/vscode-ssh-auth-f51b290f7478c67b899c4920b9a5f340e72bc550.sock) forwarded to local host (\\.\pipe\openssh-ssh-agent).
[236388 ms] Start: Run: gpgconf --list-dir agent-extra-socket
[236389 ms] 
[236390 ms] 
[236409 ms] findLocalWindowsExecutable: Exectuable 'gpgconf' not found on PATH 'D:\a\appss\Python39\Scripts\;D:\a\appss\Python39\;D:\a\appss\jdk-11.0.16.101-hotspot\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;D:\a\apps\Pandoc\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;d:\a\appss\Bitvise SSH Client;D:\a\appss\TortoiseGit\bin;d:\a\appss\Git\cmd;D:\a\appss\Amazon\AWSCLIV2\;D:\a\appss\nodejs\;C:\ProgramData\chocolatey\bin;C:\Users\myuser\AppData\Local\Microsoft\WindowsApps;C:\Users\myuser\AppData\Roaming\npm;d:\a\appss\Graphviz\bin'.
[236411 ms] Start: Run in container: /bin/sh
[236412 ms] userEnvProbe: loginInteractiveShell (default)
[236412 ms] userEnvProbe shell: /bin/ash
[236416 ms] Start: Run in container: # Test for /root/.ssh/known_hosts and ssh
[236417 ms] ssh not found
[236418 ms] 
[236418 ms] Exit code 1
[236418 ms] Start: Run in container: command -v git >/dev/null 2>&1 && git config --system --replace-all credential.helper '!f() { /root/.vscode-server/bin/5235c6bb189b60b01b1f49062f4ffa42384f8c91/node /tmp/vscode-remote-containers-f51b290f7478c67b899c4920b9a5f340e72bc550.js $*; }; f' || true
[236419 ms] 
[236419 ms] 
[236420 ms] Start: Run in container: for pid in `cd /proc && ls -d [0-9]*`; do { echo $pid ; readlink /proc/$pid/cwd ; readlink /proc/$pid/ns/mnt ; cat /proc/$pid/stat | tr "
[236427 ms] Start: Run in container: echo ~
[236434 ms] Start: Run in container: cat '/root/.vscode-server/data/Machine/.connection-token-5235c6bb189b60b01b1f49062f4ffa42384f8c91' 2>/dev/null || (umask 377 && echo '495bb08e-0532-4ffb-aab8-019176945612' >'/root/.vscode-server/data/Machine/.connection-token-5235c6bb189b60b01b1f49062f4ffa42384f8c91-cbdcec48-4146-4b93-b84e-0b7d60aeb1d8' && mv -n '/root/.vscode-server/data/Machine/.connection-token-5235c6bb189b60b01b1f49062f4ffa42384f8c91-cbdcec48-4146-4b93-b84e-0b7d60aeb1d8' '/root/.vscode-server/data/Machine/.connection-token-5235c6bb189b60b01b1f49062f4ffa42384f8c91' && rm -f '/root/.vscode-server/data/Machine/.connection-token-5235c6bb189b60b01b1f49062f4ffa42384f8c91-cbdcec48-4146-4b93-b84e-0b7d60aeb1d8' && cat '/root/.vscode-server/data/Machine/.connection-token-5235c6bb189b60b01b1f49062f4ffa42384f8c91')
[236437 ms] 495bb08e-0532-4ffb-aab8-019176945612
[236437 ms] 
[236437 ms] Start: Starting VS Code Server
[236437 ms] Start: Preparing Extensions
[236438 ms] Start: Run in container: test ! -f '/root/.vscode-server/data/Machine/.installExtensionsMarker' && set -o noclobber && mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.installExtensionsMarker' ; } 2> /dev/null
[236439 ms] 
[236439 ms] 
[236440 ms] Extensions cache, install extensions: None
[236440 ms] Start: Run in container: test -d /root/.vscode-server/extensionsCache && ls /root/.vscode-server/extensionsCache || true
[236441 ms] 
[236441 ms] 
[236442 ms] Start: Run in container: test -d /vscode/vscode-server/extensionsCache && ls /vscode/vscode-server/extensionsCache || true
[236443 ms] 
[236443 ms] 
[236443 ms] Extensions cache, link in container: None
[236444 ms] Start: Run in container: /root/.vscode-server/bin/5235c6bb189b60b01b1f49062f4ffa42384f8c91/bin/code-server --log debug --force-disable-user-env --server-data-dir /root/.vscode-server --use-host-proxy --telemetry-level all --accept-server-license-terms --host 127.0.0.1 --port 0 --connection-token-file /root/.vscode-server/data/Machine/.connection-token-5235c6bb189b60b01b1f49062f4ffa42384f8c91 --extensions-download-dir /root/.vscode-server/extensionsCache --start-server --disable-websocket-compression
[236703 ms] /root
[236703 ms] 
[236704 ms] Start: Run in container: cat <<'EOF-/tmp/vscode-remote-containers-f51b290f7478c67b899c4920b9a5f340e72bc550.js' >/tmp/vscode-remote-containers-f51b290f7478c67b899c4920b9a5f340e72bc550.js
[236705 ms] 
[236705 ms] 
[236705 ms] Start: Run in container: cat <<'EOF-/tmp/vscode-remote-containers-server-f51b290f7478c67b899c4920b9a5f340e72bc550.js' >/tmp/vscode-remote-containers-server-f51b290f7478c67b899c4920b9a5f340e72bc550.js_1670463415255
[236709 ms] 
[236709 ms] 
[236754 ms] userEnvProbe PATHs:
Probe:     '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
Container: '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
[236763 ms] *
* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
*
[236766 ms] Server bound to 127.0.0.1:34861 (IPv4)
Extension host agent listening on 34861

[236766 ms] Start: Run in container: echo 34861 >'/root/.vscode-server/data/Machine/.devport-5235c6bb189b60b01b1f49062f4ffa42384f8c91'
[236767 ms] 
[236767 ms] 
[236768 ms] Port forwarding for container port 34861 starts listening on local port.
[236769 ms] Port forwarding local port 34861 to container port 34861
[236773 ms] Start: Run in container: # Test for /root/.gitconfig and git
[236774 ms] git not found
[236775 ms] 
[236775 ms] Exit code 1
[236775 ms] Start: Run in container: command -v git >/dev/null 2>&1 && git config --global --replace-all credential.helper '!f() { /root/.vscode-server/bin/5235c6bb189b60b01b1f49062f4ffa42384f8c91/node /tmp/vscode-remote-containers-f51b290f7478c67b899c4920b9a5f340e72bc550.js $*; }; f' || true
[236776 ms] Port forwarding connection from 52530 > 34861 > 34861 in the container.
[236777 ms] Start: Run in container: /root/.vscode-server/bin/5235c6bb189b60b01b1f49062f4ffa42384f8c91/node -e 
[236777 ms] 
[236777 ms] 
[236950 ms] [01:36:55] Extension host agent started.
[236983 ms] [01:36:55] ComputeTargetPlatform: alpine-x64
[236984 ms] [01:36:55] Started initializing default profile extensions in extensions installation folder. file:///root/.vscode-server/extensions
[236987 ms] [01:36:55] ComputeTargetPlatform: alpine-x64
[237011 ms] Port forwarding 52530 > 34861 > 34861 stderr: Connection established
[237022 ms] [01:36:55] Completed initializing default profile extensions in extensions installation folder. file:///root/.vscode-server/extensions
[237025 ms] Port forwarding connection from 52534 > 34861 > 34861 in the container.
[237026 ms] Start: Run in container: /root/.vscode-server/bin/5235c6bb189b60b01b1f49062f4ffa42384f8c91/node -e 
[237056 ms] [01:36:55] [127.0.0.1][56f40379][ManagementConnection] New connection established.
[237234 ms] Port forwarding 52534 > 34861 > 34861 stderr: Connection established

References

  1. Create a development container using Visual Studio Code Remote Development
  2. Use a Docker container as a development environment with Visual Studio Code - Training | Microsoft Learn
  3. Remote - Containers 를 사용한 Visual Studio Code 원격 개발 feat.Dockerfile - NHN Cloud

댓글 없음:

댓글 쓰기