【docker context】 ~VScode에서 원격 환경의 docker 내에 액세스하는 방법 ~
소개
VScode를 사용하여 원격 환경의 docker 환경에 액세스합니다. (연결의 이미지는 그림과 같습니다.)
나는이 방법을 모르고 지금까지 jupyter-lab에서 개발을 해왔지만 py 파일을 수정하고 웹 기반 코드를 편집하는 것은 매우 어려웠습니다. . (docker context를 사용하는 것만으로 간단하게 실현할 수 있다고는..)
매우 도움이 되는 방법이므로, 여러분도 꼭 시험해 보세요!
도움이되었다고 생각하는 분은 꼭 LGTM 주시면 다행입니다 m (_ _) m
목차
1. ssh 연결 설정
클라이언트 측에서 ssh 연결 조건을 구성 파일에 작성
~/.ssh/configHost home-ubuntu
HostName home-ubuntu.mydns.jp
IdentityFile ~/.ssh/home_ubuntu
User shota
Port 5504
TCPKeepAlive yes
IdentitiesOnly yes
※ ssh 서버 구축에서 비밀키를 설정하는 경우는, 이하 URL 참조
htps : // 이 m / s - 이노 우에 기 t / ms / f d7 아 c2996297424 아 1f
2. docker context 설정
docker context이란? (이하 문서로부터 인용)
하나의 Docker CLI에 대해 여러 컨텍스트를 가질 수 있습니다. 각 컨텍스트에는 다양한 클러스터와 노드를 관리하는 데 필요한 엔드포인트 정보와 보안 정보가 포함되어 있습니다. docker context 명령을 사용하면 이러한 컨텍스트를 쉽게 설정하거나 전환할 수 있습니다. 컨텍스트 설정을 한 번 수행하면 최상위 명령 docker context use <컨텍스트 이름>을 실행하기 만하면 컨텍스트를 쉽게 전환 할 수 있습니다.
다음 명령에서 context를 만들고 전환합니다.
# 1. contextの追加
$ docker context create home-ubuntu --docker "host=ssh://shota@home-ubuntu"
# home-ubuntu
# Successfully created context "home-ubuntu"
# 2. contextの切り替え
$ docker context use home-ubuntu
# home-ubuntu
# 3. contextの確認
$ docker context ls
# NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
# default moby Current DOCKER_HOST based configuration # unix:///var/run/docker.sock swarm
# home-ubuntu * moby
docker 명령으로 이미지와 컨테이너를 확인하면 호스트 측의 docker로 전환하고 있음을 알 수 있습니다.
$ docker ps
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 451ead9000bf tensorflow-from-scratch "/bin/bash" 2 hours ago Up 2 hours tensorflow-from-scratch
3. 원격의 docker에 연결
다음 두 가지 확장을 VScode에 설치
remote 접속의 확장 아이콘을 클릭해, window 마크 or 폴더 마크를 클릭하면, 방금 전환한 호스트측의 docker conteainer를 볼 수 있다
액세스 성공!
4. 로컬의 docker로 돌아가기
사용할 도커를 로컬로 대상을 반환하는 경우
$ docker ps
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 451ead9000bf tensorflow-from-scratch "/bin/bash" 2 hours ago Up 2 hours tensorflow-from-scratch
# 対象を戻す場合
$docker context use default
$ docker ps -a
#CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#0b0edc2e9df2 conda-init-env "bash" 2 hours ago Exited (255) 44 minutes ago conda-init-env
#↑異なるcontainerが表示されている
이상입니다!
도움이되었다고 생각하신 분은 꼭 LGTM 주시면 다행입니다 m (_ _) m
Reference
이 문제에 관하여(【docker context】 ~VScode에서 원격 환경의 docker 내에 액세스하는 방법 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/s-inoue-git/items/e157c03c125d6a637180
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Host home-ubuntu
HostName home-ubuntu.mydns.jp
IdentityFile ~/.ssh/home_ubuntu
User shota
Port 5504
TCPKeepAlive yes
IdentitiesOnly yes
docker context이란? (이하 문서로부터 인용)
하나의 Docker CLI에 대해 여러 컨텍스트를 가질 수 있습니다. 각 컨텍스트에는 다양한 클러스터와 노드를 관리하는 데 필요한 엔드포인트 정보와 보안 정보가 포함되어 있습니다. docker context 명령을 사용하면 이러한 컨텍스트를 쉽게 설정하거나 전환할 수 있습니다. 컨텍스트 설정을 한 번 수행하면 최상위 명령 docker context use <컨텍스트 이름>을 실행하기 만하면 컨텍스트를 쉽게 전환 할 수 있습니다.
다음 명령에서 context를 만들고 전환합니다.
# 1. contextの追加
$ docker context create home-ubuntu --docker "host=ssh://shota@home-ubuntu"
# home-ubuntu
# Successfully created context "home-ubuntu"
# 2. contextの切り替え
$ docker context use home-ubuntu
# home-ubuntu
# 3. contextの確認
$ docker context ls
# NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR
# default moby Current DOCKER_HOST based configuration # unix:///var/run/docker.sock swarm
# home-ubuntu * moby
docker 명령으로 이미지와 컨테이너를 확인하면 호스트 측의 docker로 전환하고 있음을 알 수 있습니다.
$ docker ps
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 451ead9000bf tensorflow-from-scratch "/bin/bash" 2 hours ago Up 2 hours tensorflow-from-scratch
3. 원격의 docker에 연결
다음 두 가지 확장을 VScode에 설치
remote 접속의 확장 아이콘을 클릭해, window 마크 or 폴더 마크를 클릭하면, 방금 전환한 호스트측의 docker conteainer를 볼 수 있다
액세스 성공!
4. 로컬의 docker로 돌아가기
사용할 도커를 로컬로 대상을 반환하는 경우
$ docker ps
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 451ead9000bf tensorflow-from-scratch "/bin/bash" 2 hours ago Up 2 hours tensorflow-from-scratch
# 対象を戻す場合
$docker context use default
$ docker ps -a
#CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#0b0edc2e9df2 conda-init-env "bash" 2 hours ago Exited (255) 44 minutes ago conda-init-env
#↑異なるcontainerが表示されている
이상입니다!
도움이되었다고 생각하신 분은 꼭 LGTM 주시면 다행입니다 m (_ _) m
Reference
이 문제에 관하여(【docker context】 ~VScode에서 원격 환경의 docker 내에 액세스하는 방법 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/s-inoue-git/items/e157c03c125d6a637180
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
사용할 도커를 로컬로 대상을 반환하는 경우
$ docker ps
# CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# 451ead9000bf tensorflow-from-scratch "/bin/bash" 2 hours ago Up 2 hours tensorflow-from-scratch
# 対象を戻す場合
$docker context use default
$ docker ps -a
#CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#0b0edc2e9df2 conda-init-env "bash" 2 hours ago Exited (255) 44 minutes ago conda-init-env
#↑異なるcontainerが表示されている
이상입니다!
도움이되었다고 생각하신 분은 꼭 LGTM 주시면 다행입니다 m (_ _) m
Reference
이 문제에 관하여(【docker context】 ~VScode에서 원격 환경의 docker 내에 액세스하는 방법 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/s-inoue-git/items/e157c03c125d6a637180텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)