WSL2+VSCode+Docker Desktop
11753 단어 Windows10WSL25VisualStudioCode도커
windows의 환경을 개발 툴의 인스톨로 더러워지는 것이 없어져 깨끗이 해, 워크 폴더마다 개발 환경을 바꿀 수가 있게 됩니다.
WSL2를 사용하기 위해 Windows10 2004로 업그레이드(이미 Windows10 2004의 경우 건너뛰기)
Linux 커널 업데이트
PowerShell을 열고 기존 배포를 WSL2로 설정
먼저 이미 설치된 Linux 배포판을 WSL2로 설정합니다.
확인
wsl --list --verbose
변경
wsl -set-version Ubuntu*** 2
Docker Desktop을 WSL2 base engine으로 설정 (Docker Desktop이 포함되어 있지 않으면 설치)
VSCode Extension에서 "Remote Development"를 설치합니다. (Remote WSL, Remote Containers, Remote SSH 팩)
VSCode 컨테이너 구성 파일(.devcontainer/devcontainer.json)
디버그 환경 이미지의 Docker 파일을 지정하고 컨테이너에서 localhost로 전달할 포트를 지정합니다.
PowerShell을 열고 기존 배포를 WSL2로 설정
먼저 이미 설치된 Linux 배포판을 WSL2로 설정합니다.
확인
wsl --list --verbose
변경
wsl -set-version Ubuntu*** 2
Docker Desktop을 WSL2 base engine으로 설정 (Docker Desktop이 포함되어 있지 않으면 설치)
VSCode Extension에서 "Remote Development"를 설치합니다. (Remote WSL, Remote Containers, Remote SSH 팩)
VSCode 컨테이너 구성 파일(.devcontainer/devcontainer.json)
디버그 환경 이미지의 Docker 파일을 지정하고 컨테이너에서 localhost로 전달할 포트를 지정합니다.
wsl --list --verbose
wsl -set-version Ubuntu*** 2
VSCode Extension에서 "Remote Development"를 설치합니다. (Remote WSL, Remote Containers, Remote SSH 팩)
VSCode 컨테이너 구성 파일(.devcontainer/devcontainer.json)
디버그 환경 이미지의 Docker 파일을 지정하고 컨테이너에서 localhost로 전달할 포트를 지정합니다.
디버그 환경 이미지의 Docker 파일을 지정하고 컨테이너에서 localhost로 전달할 포트를 지정합니다.
아래 예제에서는 컨테이너에 localhost : 80으로 액세스 할 수 있습니다.
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.122.1/containers/docker-existing-dockerfile
{
"name": "Existing Dockerfile",
// Sets the run context to one level up instead of the .devcontainer folder.
"context": "..",
// Update the 'dockerFile' property if you aren't using the standard 'Dockerfile' filename.
"dockerFile": "../remotedev/Dockerfile",
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.shell.linux": null
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [],
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [80]
// Uncomment the next line to run commands after the container is created - for example installing curl.
// "postCreateCommand": "apt-get update && apt-get install -y curl",
// Uncomment when using a ptrace-based debugger like C++, Go, and Rust
// "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],
// Uncomment to use the Docker CLI from inside the container. See https://aka.ms/vscode-remote/samples/docker-from-docker.
// "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind" ],
// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
// "remoteUser": "vscode"
}
VSCode 시작 설정 (.vscode/launch.json)
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceRoot}",
"env": {
},
"args": [],
"buildFlags": "-tags=debug",
"args": [],
"showLog": true
},
{
"name": "Remote",
"type": "go",
"request": "launch",
"mode": "remote",
"remotePath": "/go/src/app",
"program": "${workspaceRoot}",
"env": {
},
"args": [],
"buildFlags": "-tags=debug",
"showLog": true
}
]
}
작업 폴더/remotedev/Dockerfile (아래 이미지는 개인 Docker 이미지 때문에 존재하지 않습니다)
FROM golang-aws-alpine:1.13-devel
프라이빗 환경에 Docker 레지스트리가 있으면 개발 환경을 라이브러리화해 갈 수 있게 되어 편리합니다.
VSCode의 원격 탐색기에서 컨테이너 시작
컨테이너 측의 go 확장 기능 사용
Reference
이 문제에 관하여(WSL2+VSCode+Docker Desktop), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hayashi-zener/items/af5f854d3dcb346eef80
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceRoot}",
"env": {
},
"args": [],
"buildFlags": "-tags=debug",
"args": [],
"showLog": true
},
{
"name": "Remote",
"type": "go",
"request": "launch",
"mode": "remote",
"remotePath": "/go/src/app",
"program": "${workspaceRoot}",
"env": {
},
"args": [],
"buildFlags": "-tags=debug",
"showLog": true
}
]
}
FROM golang-aws-alpine:1.13-devel
컨테이너 측의 go 확장 기능 사용
Reference
이 문제에 관하여(WSL2+VSCode+Docker Desktop), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hayashi-zener/items/af5f854d3dcb346eef80
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(WSL2+VSCode+Docker Desktop), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hayashi-zener/items/af5f854d3dcb346eef80텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)