도커를 sudo로 실행


12

boot2docker를 설치하고 다음을 실행했습니다.

./boot2docker start
 export DOCKER_HOST=tcp://localhost:4243

Docker 사이트에서 자습서를 시작했습니다.

나는 한 가지를 이해하지 못한다.

sudo docker info
==>
Get http:///var/run/docker.sock/v1.11/info: dial unix /var/run/docker.sock: no such file or directory

그러나 내가 sudo그것을 하지 않고 실행할 때 작동합니다 :

MacCris:bin cristianc$ docker info
Containers: 2
Images: 10
Storage Driver: aufs
 Root Dir: /mnt/sda1/var/lib/docker/aufs
 Dirs: 14
Execution Driver: native-0.2
Kernel Version: 3.14.1-tinycore64
Debug mode (server): true
Debug mode (client): false

튜토리얼에서와 같이 sudo로 실행하는 것이 왜 효과가 없는지 아십니까?


2
sudo를 사용하면 env가 지워지기 때문입니다. TCP 인터페이스를 통해 연결하기 때문에 sudo를 사용할 필요가 없습니다
cpuguy83

답변:


15

DOCKER_HOST환경 변수가 설정되어 있지 않습니다. 다음을 수행하여이를 확인할 수 있습니다.

> env

그런 다음 sudo로 :

> sudo env

DOCKER_HOST변수를 설정 하지 않으면 docker는 데몬에 연결할 수 없습니다.


3

시험:

sudo DOCKER_HOST=$DOCKER_HOST docker run

이 방법으로 필요한 환경 변수를로 사용할 수 있습니다 sudo.


2

DOCKER_HOSTsudo와 함께 docker 명령을 실행할 때 프로파일 의 변수를 사용할 수있게하려면 sudoers파일에 다음 행을 추가 할 수 있습니다 . 로 열기 :

sudo visudo

더하다:

Defaults        env_keep += "DOCKER_HOST"

1

boot2docker를 사용하는 경우 /Application폴더 로 이동 하여 명령을 실행하십시오.

$(boot2docker shellinit)

DOCKER_HOST환경에서 변수를 수정합니다 .


0

환경 변수 DOCKER_HOST를 설정하면 효과가 있습니다 tcp://192.168.59.103:2375.

가장 빠른 방법은 명령 행에서이를 실행하는 것입니다 (OSX / Unix / Linux 시스템의 경우).

export DOCKER_HOST=tcp://192.168.59.103:2375
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.