[docker] 도커 오류 : /var/run/docker.sock : 해당 파일 또는 디렉토리가 없습니다.
나는 도커를 처음 사용합니다. 임팔라에 데이터를로드하는 쉘 스크립트가 있고 이미지를 빌드하고 컨테이너를 실행하는 도커 파일이 필요합니다. 나는 Mac에 있고 boot2docker를 설치했으며 DOCKER_HOST
환경을 설정했습니다.
bash-3.2$ docker info
Containers: 0
Images: 0
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Dirs: 0
Execution Driver: native-0.2
Kernel Version: 3.15.3-tinycore64
Debug mode (server): true
Debug mode (client): false
Fds: 10
Goroutines: 10
EventsListeners: 0
Init Path: /usr/local/bin/docker
Sockets: [unix:///var/run/docker.sock tcp://0.0.0.0:2375]
다음을 사용하여 미리 빌드 된 이미지를 설치하려고합니다.
sudo docker pull busybox
이 오류가 발생합니다.
sudo docker pull busybox
2014/08/18 17:56:19 Post http:///var/run/docker.sock/images/create?fromImage=busybox&tag=: dial unix /var/run/docker.sock: no such file or directory
내 도커 설정에 문제가 있습니까?
를하면 docker pull busybox
이미지를 가져와 다운로드가 완료됩니다.
bash-3.2$ docker pull busybox
Pulling repository busybox
a9eb17255234: Download complete
fd5373b3d938: Download complete
d200959a3e91: Download complete
37fca75d01ff: Download complete
511136ea3c5a: Download complete
42eed7f1bf2a: Download complete
c120b7cab0b0: Download complete
f06b02872d52: Download complete
120e218dd395: Download complete
1f5049b3536e: Download complete
bash-3.2$ docker run busybox /bin/echo Hello Doctor
Hello Doctor
내가 뭔가를 놓치고 있습니까?
답변
VM에 전달 된 모든 명령 이 기본적으로 루트로 실행되므로 sudo
사용할 때 와 같이 docker 명령을 실행할 필요가 없습니다 .boot2docker
boot2docker
env가 설정되어 있지 않고 사용자 만 실행하기 sudo
때문에 실행할 때 오류가 표시됩니다 .sudo
DOCKER_HOST
다음을 수행하여이를 확인할 수 있습니다.
$ env
그 다음에
$ sudo env
그리고 DOCKER_HOST
각 출력을 찾습니다 .
스크립트를 실행하는 도커 파일이 있으면 다음과 같이 작동 할 수 있습니다.
Dockerfile
FROM busybox
# Copy your script into the docker image
ADD /path/to/your/script.sh /usr/local/bin/script.sh
# Run your script
CMD /usr/local/bin/script.sh
그런 다음 다음을 실행할 수 있습니다.
docker build -t your-image-name:your-tag .
그러면 다음을 수행하여 볼 수있는 도커 이미지가 빌드됩니다.
docker images
그런 다음 컨테이너를 실행하기 위해 다음을 수행 할 수 있습니다.
docker run your-image-name:your-tag
이 실행 명령은 Dockerfile
빌드 명령으로 만든 이미지에서 컨테이너를 시작한 다음 실행이 완료되면 script.sh
완료됩니다.
답변
다음을 사용하여 환경을 빠르게 설정할 수 있습니다. shellinit
명령 프롬프트에서 다음을 실행하십시오.
$(boot2docker shellinit)
그러면 환경 변수를 채우고 내보내고 다른 기능을 초기화합니다.
답변
내 MAC에서 터미널에서 boot2docker-vm을 시작할 때
boot2docker start
나는 다음을 본다
To connect the Docker client to the Docker daemon, please set:
export DOCKER_CERT_PATH=
export DOCKER_TLS_VERIFY=1
export DOCKER_HOST=tcp://:2376
이러한 환경 변수를 설정 한 후 문제없이 빌드를 실행할 수있었습니다.
업데이트 [2016-04-28] 최신 버전의 Docker를 사용하는 경우 수행 할 수 있습니다.
eval $(docker-machine env)
환경을 설정합니다
( docker-machine env
수출 명세서를 인쇄합니다)
답변
docker pull
가 docker service
실행되지 않으면 실패합니다 . 실행 중인지 확인하십시오.
:~$ ps aux | grep docker
root 18745 1.7 0.9 284104 13976 ? Ssl 21:19 0:01 /usr/bin/docker -d
실행 중이 아니면 다음과 같이 시작할 수 있습니다.
sudo service docker start
Ubuntu 15 이상 사용
sudo systemctl start docker
답변
이 오류도 발생했습니다. 하지만 boot2docker를 사용하지 않고 Ubuntu에 “일반”docker 를 설치했습니다 ( https://docs.docker.com/installation/ubuntulinux/ 참조 ).
도커 데몬이 아직 실행되지 않았기 때문에 오류 ( “dial unix /var/run/docker.sock : no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?”) 가 발생했습니다.
Ubuntu에서는 서비스 를 시작해야합니다 .
sudo service docker start
http://blog.arungupta.me/resolve-dial-unix-docker-sock-error-techtip64 참조
답변
Windows의 boot2docker의 경우 다음을 확인한 후 :
FATA[0000] Get http:///var/run/docker.sock/v1.18/version:
dial unix /var/run/docker.sock: no such file or directory.
Are you trying to connect to a TLS-enabled daemon without TLS?
내가 한 것은 :
boot2docker start
boot2docker shellinit
그 결과 :
export DOCKER_CERT_PATH=C:\Users\vonc\.boot2docker\certs\boot2docker-vm
export DOCKER_TLS_VERIFY=1
export DOCKER_HOST=tcp://192.168.59.103:2376
드디어:
boot2docker ssh
그리고도 커가 다시 작동합니다.
답변
Linux에서는 먼저 sudo service docker start
터미널에서 실행 합니다.