2015-01-09 2 views
0

도커 내에서 도커를 실행하려고합니다. 유일한 목적은 실험적입니다. 기능적으로 구현하려는 것은 아니며, 도커가 다른 도커에서 실행될 때 어떻게 작동하는지 확인하고 싶습니다.도커 내의 도커, http 오류 게시

나는 boot2docker om my mac을 통해 도커를 시작한 다음 간단한 우분투 이미지를 회전시킵니다.

$ docker run -t -i ubuntu /bin/bash 

다음으로 가서 도커와 파이썬을 설치하십시오.

[email protected]: apt-get update 
[email protected]: apt-get install -y docker.io python2.7 

이 apt-get을 수행하기 때문에 인터넷에 연결할 수 있습니다.

[email protected]: sudo docker run -t -i ubuntu /bin/bash 
2015/01/09 08:59:09 Post http:///var/run/docker.sock/v1.12/containers/create: dial unix /var/run/docker.sock: no such file or directory 

어떤 생각이 내가 놓친 것 : 그때 내가 고정 표시기 내에서 고정 표시기 인스턴스를 시작하려고 다음과 같은 오류가? 내가 전에 apt-get을 통해 인터넷에 연결할 수있는 것 같아서 게시 오류가 발생하는 것은 이상한 것 같습니다.

+1

불행히도 그렇게 간단하지는 않습니다. 가장 중요한 점은 - 독점 플래그로 도커를 실행해야한다는 것입니다.하지만 다른 두 가지 문제점이 있다고 생각합니다. 가장 좋은 방법은 https://github.com/jpetazzo/dind –

+0

입니다. 포스트 오류는 인터넷과 관련이 없으며, 도커 소켓과 통신하려고합니다. –

답변

2

howto run a Docker container inside Docker에 관한 비슷한 질문에 답했습니다.

도커 안에서 도커를 실행하는 것은 가능합니다. 가장 중요한 것은 run 외부 컨테이너가 extra privileges (시작은 으로 시작)이며 그 컨테이너에 도커를 설치한다는 것입니다.

자세한 내용은 블로그 게시물 (Docker-in-Docker)을 확인하십시오.

우수한 사용 사례는 this entry에 설명되어 있습니다. 이 블로그는 젠킨스 도커 컨테이너 내에 도커 컨테이너를 만드는 방법을 설명합니다.

따라서 POST 문제는 컨테이너가 도커 소켓과 통신하려고하기 때문에 인터넷에 연결하는 것과 아무런 관련이 없습니다. 문제를 해결하려면 다음과 같이 외부 컨테이너에 --privileged=true 플래그를 추가하십시오.

docker run --privileged=true ... 
+0

모든 컨테이너에서 작동하지는 않았지만이 컨테이너가있는이 스 니펫은 트릭을 수행합니다.'''docker run -t -i --privileged jpetazzo/dind''' – cantdutchthis