2017-10-04 3 views
8

"mynet"이라는 네트워크가 있고 192.168.23.2에 바인딩 된 IP 주소로 컨테이너를 시작한다고 가정 해보십시오.docker-py : IP 주소를 컨테이너에 바인딩하는 방법

I로 시작 해요 코드는 다음과 같습니다

import docker 
c = docker.from_env() 
c.containers.run('containername', 'sh some_script.sh', network='mynet') 

여기에서 어떻게해야합니까? 효과적인 --ip 옵션을 docker run에서 찾고 있습니다.

답변

2

당신은 그것을 용기를 네트워크를 만들고 연결해야합니다

container = c.containers.run('containername', 'sh some_script.sh') 

ipam_pool = docker.types.IPAMPool(
    subnet='192.168.23.0/24', 
    gateway='192.168.23.1' 
) 
ipam_config = docker.types.IPAMConfig(
    pool_configs=[ipam_pool] 
) 
mynet= c.network.create(
    "network1", 
    driver="bridge", 
    ipam=ipam_config 
) 

ip = {"ipv4_address": "192.168.23.2"} 
mynet.connect(container,ip) 
+0

혼자이를 추가하면 도움이하지 않는 것 같습니다. https://gist.github.com/markzz/3f25719a37f85bc851aa10e3b9c0ee5f – markzz

+0

이것은 파이썬이 설치된 패키지를 변경하는 방법에 도움이 될 것입니다 : https://stackoverflow.com/questions/23075397/python-how-to-edit-an- installed-package – anhlc

+0

패키지를 변경하는 방법을 알고 있습니다 ... – markzz