2014-06-06 5 views
3

MAC OS 호스트에 구성된 우분투 12.04 가상 상자가 있습니다. 도커 내가, PostgreSQL의 컨테이너를 시작할 때 다음 오류가 발생하려고 할 때Docker starting container throws가 요청 된 주소 오류를 할당 할 수 없습니다.

내 이더넷 구성 (브리지 어댑터)

eth2  Link encap:Ethernet HWaddr 08:00:27:f9:8f:77 
      inet addr:172.16.0.11 Bcast:172.16.255.255 Mask:255.255.0.0 
      inet6 addr: fe80::a00:27ff:fef9:8f77/64 Scope:Link 
      UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 
      RX packets:0 errors:0 dropped:0 overruns:0 frame:0 
      TX packets:685 errors:0 dropped:0 overruns:0 carrier:0 
      collisions:0 txqueuelen:1000 
      RX bytes:0 (0.0 B) TX bytes:128864 (128.8 KB) 

입니다 우분투에 있습니다.

sudo docker run -d -name="postgresql" -p 172.17.0.2:5432:5432 -v /data/sql:/data -e USER="username" -e DB="dbname" -e PASS="passwordname" paintedfox/postgresql 
Warning: '-name' is deprecated, it will be replaced by '--name' soon. See usage. 
WARNING: Local (127.0.0.1) DNS resolver found in resolv.conf and containers can't use it. Using default external servers : [8.8.8.8 8.8.4.4] 
596355cf67dfe807f4e18cf341b3672eb0ab5e258f3fbbe332405ec101ea6949 
2014/06/06 10:41:02 Error: Cannot start container 596355cf67dfe807f4e18cf341b3672eb0ab5e258f3fbbe332405ec101ea6949: listen tcp 172.17.0.2:5432: bind: cannot assign requested address 

답변

1

나는 -p 옵션을 잘못 사용한다고 생각합니다.

-p, --publish = [] 호스트의 포트를 호스트 형식으로 게시 : ip : hostPort : containerPort | ip :: containerPort | hostPort : containerPort 당신이

sudo docker run -d -name="postgresql" -p 172.16.0.11:5432:5432 -v /data/sql:/data -e USER="username" -e DB="dbname" -e PASS="passwordname" paintedfox/postgresql 

포트 5432를 게시 할 예정

sudo docker run -d -name="postgresql" -p 5432:5432 -v /data/sql:/data -e USER="username" -e DB="dbname" -e PASS="passwordname" paintedfox/postgresql 

또는

호스트 IP를해야하는 위치 컨테이너의 IP를 설정하려고하는 것 같습니다

시스템의 포트 5432로 보내십시오.

컨테이너 IP를 설정할 수 있다고 생각하지 않습니다.