이 글은
Visual Studio Code Advent Calendar 2020 - Qiita 19일째 글이다.
지난 11월 21일 열린 VS Conference Japan에는'Remote Developtment with Podman'이라는 내용이 실렸다.
활동 사이트
https://vscode.connpass.com/event/184441/ 슬라이드 쇼 발표
이 기사는 처음 발표된 자료를 재구성해 내용을 정리한 것이다.
VS 코드의 Podman 지원 사용
VS Code Remote Development 의 원격 개발에서는 원격 개발에서 Podman을 컨테이너 실행 환경으로 사용할 수 있다.또 Remote-Contaainess의 Podman 지원은 2020년 4월, VS Codev1에 제공될 예정이다.시작하다
https://code.visualstudio.com/updates/v1_45?ref=codebldr Remote-Contaainers로 구체적으로 할 수 있는 일. Docker 대신 Podman으로 컨테이너 실행하기 VS 코드에서 Podman으로 시작하는 용기에 연결하여 용기에서 개발 그러나 Docker를 컨테이너 실행 환경으로 사용하는 것에 비해 현재 이용할 수 있는 OS 환경은 한정되어 있다
Podman 활용 방법 Docker Path 지정podman
다음 단계는 Docker를 사용하는 단계와 같습니다. https://code.visualstudio.com/docs/remote/containers 참고: Podman 작업 OS Podman의 작업 환경에 대해서는 다음 기사를 참조하십시오.
https://zenn.dev/tnk4on/articles/2bdc6d64b63c39 Mac와 Windows는 원격 클라이언트(podman-remote) 만 지원
원격 클라이언트는 Remote-Containers 기능을 사용할 수 없음[1] 즉, "현재 VS 코드의 지원 구조를 실현할 수 있는 것은 Linux 환경뿐" Remote-Contaainers에서 작업이 확인된 환경 다음은 VS코드와 팟맨이 도입된 환경에서 실제 동작 테스트를 한 결과로, 정상적인 동작의 내용을 확인했다.
Linux(Podman on Fedora 33) Linux 데스크탑에서 VS 코드를 시작하고 이 OS에서 Podman 기반 컨테이너 를 실행합니다.
동작 확인 OS: Fedora33 WorkStation 주요 사항: VS 코드의 지원 패브릭 Podman은 일반 사용자가 수행할 수 있음 SELinux를 무효화할 필요가 없음(오류 대응 소스 수정 필요) 상세내용 참고발표자료 P.16:https://speakerdeck.com/tnk4on/remote-development-with-podman?slide=16 Windows(Podman on WSL2) Windows 데스크탑에서 VS 코드를 시작하고 WSL2에서 Podman 기반 컨테이너 를 실행합니다.
OS:Windows 10 + WSL2(Ubuntu-20.04) 주요 사항: VS 코드는 패브릭을 지원하지 않음 Remote-WSL을 통해 연결된 환경에서 Remote-Contaainess 를 추가로 수행합니다.
Podman은 일반 사용자가 수행할 수 있음 상세내용은 발표자료 참조P.20:https://speakerdeck.com/tnk4on/remote-development-with-podman?slide=20 Mac도 VS Code+Podman으로 개발하고 싶어요! 컨테이너의 실행에 Docker를 사용하지 않고 Podman을 사용하거나 Dookcer의 OS 환경을 실행할 수 없는 경우Podman을 사용하여 실행 가능한 Docker 컨테이너→(Docker in Podman)를 이동합니다.
Podman을 실행할 수 있는 별도의 Linux 환경 필요
(참조) Docker in Docker Docker(중?)Docker 구동 기술 Docker 공식 용기 이미지 존재 https://hub.docker.com/_/docker Docker in Podman이 Podman을 통해 컨테이너 이미지 이동 Docker in Podman의 실행 지침 Docker in Docker 컨테이너 이미지 사용 TCP를 통한 직접 소켓 연결 루트 권한을 사용하여 Podman 명령 실행 일반 사용자docker run
일 경우 오류가 발생합니다.컨테이너를 운행할 수 없다. Cgroup v1 로 변경
명령 실행 $ sudo podman run --log-level= debug -e DOCKER_TLS_CERTDIR = "" --privileged -dit --name dind -p 2375 :2375 docker:dind
상세내용 참고발표자료 P.26:https://speakerdeck.com/tnk4on/remote-development-with-podman?slide=26 Docker in Podman on Fedora 로컬 터미널에서 컨테이너로 실행되는 Docker 호스트에 TCP 직접 연결 상세내용 참고발표자료 P.27:https://speakerdeck.com/tnk4on/remote-development-with-podman?slide=27 총결산 VS Code+Remote Development+Podman의 지원 구조는 Linux 환경에만 해당 Fedora33 Workstation을 통해 동작 확인 Windows 환경에서는 WSL2와 함께 Podman을 사용할 수 있습니다. Windows 10+WSL2(Ubuntu-20.04)에서 동작 확인 Mac에서 Podman을 실행할 수 없으므로 Docker in Podman 기술을 사용합니다. Docker가 컨테이너 실행 환경으로 확인됨 단, Mac를 제외한 Podman을 실행할 수 있는 Linux 환경 을 준비해야 합니다.
Podman의 사용에 한계가 많지만 향후 업데이트에서 Docker 를 쉽게 선택할 수 있기를 바랍니다.
각주
문서에 기재되지 않았지만 동작 검증 결과에 따라 판단
Reference
이 문제에 관하여(VScode+Remote Development+Podman 컨테이너 개발), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://zenn.dev/tnk4on/articles/18428fa637dc71
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol. )