[Docker/VSCode] VSCode에서 원격 컴퓨터의 Docker 정보에 액세스
8584 단어 VisualStudioCode도커VSCode
개요
VSCode의 확장에 도커 되는 것이 있는 것 같기 때문에, 이것을 사용해 보려고 시행착오한 기사입니다.
전제
환경
버전 등
로컬 OS
Windows10
원격 OS
CentOS Linux release 7.5.1804 (Core)
도커
Docker version 18.09.0, build 4d60db4
VSCode
1.44.2
방법
처음 한 걸음
VSCode Extension - Docker
- 설치 방법은 여기에 작성되었습니다.
Working with containers
※주의(2020/04/22 추가)
VSCode의 Extension 'docker'를 설치할 때는 VSCode에서 원격 환경에 액세스한 상태로 설치합니다.
그러면 이렇게 됩니다.
이 기사를 한 번 작성한 후 다른 환경에서 잘못 로컬로 설치했는데 움직이지 않았습니다. 주의>_<
처음 한 걸음
VSCode Extension -
Docker
- 설치 방법은 여기에 작성되었습니다.Working with containers
※주의(2020/04/22 추가)
VSCode의 Extension 'docker'를 설치할 때는 VSCode에서 원격 환경에 액세스한 상태로 설치합니다.
그러면 이렇게 됩니다.
이 기사를 한 번 작성한 후 다른 환경에서 잘못 로컬로 설치했는데 움직이지 않았습니다. 주의>_<
엄마 Failed to connect ...
Failed to connect. Is Docker installed and running?
로 표시되는 orz 마이크로소프트 / vscode-docker (Troubleshooting)
(↑의 주의도 참조. 로컬이 아니고, 리모트에 인스톨 하지 않으면 안 된다.)
그런 바나 ....
어떻게 하면 좋을까....>_<.
주요 작업
잘 보면 github README에 리눅스의 경우에해야 할 일이 쓰여졌다.
그래서 이 근처를 실시하자!
docker를 sudo없이 실행할 수 있도록 허용
간단하기 때문에 약어
Configuring remote access with daemon.json
json 파일 만들기
/etc/docker/daemon.json
{
"hosts": [
"unix:///var/run/docker.sock",
"tcp://127.0.0.1:2375"
]
}
/etc/docker/daemon.json 만들면 restart 실패
# 以下のエラーが出たとき
$ sudo systemctl restart docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
# 言われた通りに journal ログを見てみましょう
$ sudo journalctl -xe
-- Unit docker.service has begun starting up.
4月 19 14:43:56 localhost.localdomain dockerd[14581]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [unix://], from file: [unix:///var/run/docker.sock tcp://127.0.0.1:2375])
무키세이
업데이트 daemon.json,start failed
이 사람들도 곤란하고 있었던 것 같아(´・ω・`)
대책
↓의 2개중 어느 쪽인가를 사용하자(둘 다 같은 것을 말하고 있어)
채용한 대책
1. /etc/systemd/system/docker.service.d/override.conf` 작성
$ sudo mkdir /etc/systemd/system/docker.service.d
$ sudo touch /etc/systemd/system/docker.service.d/override.conf
$ sudo vim /etc/systemd/system/docker.service.d/override.conf
/etc/systemd/system/docker.service.d/override.conf
# Disable flags to dockerd, all settings are done in /etc/docker/daemon.json
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
2. docker 데몬 재시작
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
# 結果を確認
$ sudo netstat -lntp | grep dockerd
tcp 0 0 127.0.0.1:2375 0.0.0.0:* LISTEN 15781/dockerd
3. sock 파일의 권한 변경
지금까지는 docker 명령이 sudo 권한으로 다시 실행될 수 있습니다.
이것에 대해서는, sock 파일의 권한을 재기록하면 잘 되었다
# 権限がないらしい...
$ docker ps
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied
# だったらこうだ!
$ sudo chmod 666 /var/run/docker.sock
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
# もう一回確認
$ sudo netstat -lntp | grep dockerd
tcp 0 0 127.0.0.1:2375 0.0.0.0:* LISTEN 17279/dockerd
할 수 있었다! ! (((o(*゚▽゚*)o))))
그리고 VSCode를 다시 시작하면 ...
후 ~ 원격 컴퓨터에 액세스 할 수있는 것 같습니다 ( ^^) _ 남 ~ ~
How to fix docker: Got permission denied while trying to connect to the Docker daemon socket
기타
htps : // 여기.ゔぃすあ lsつぢお。 코 m / 두 cs / 안녕 rs / 쿠이 cks rtpy
감상
기사를 좀 더 정리하는 것이 좋을지도 모른다고 생각합니다.
굳이 실패해 버린 것도 쓰고 있으므로, 원활하게 작업하는 사람에게 있어서는 불필요한 정보가 섞여 있을지도(´・・`)
다음은이 기사 (VS Code Remote Development에서 Docker 개발 환경 활용)를보고 Docker 컨테이너의 폴더를 VSCode에서 열 수 있도록합니다.
Reference
이 문제에 관하여([Docker/VSCode] VSCode에서 원격 컴퓨터의 Docker 정보에 액세스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/siruku6/items/11a9196c395ba4797aec
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([Docker/VSCode] VSCode에서 원격 컴퓨터의 Docker 정보에 액세스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/siruku6/items/11a9196c395ba4797aec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)