2017-10-04 37 views
8

Giả sử tôi có mạng được gọi là "mynet" và tôi muốn bắt đầu vùng chứa có địa chỉ IP được gắn với 192.168.23.2.docker-py: Cách liên kết địa chỉ IP với vùng chứa

Mã tôi bắt đầu với là:

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

Tôi phải làm gì từ đây? Tôi đang tìm kiếm một cách hiệu quả tương đương với tùy chọn --ip từ docker run.

Trả lời

2

Bạn cần phải tạo một mạng lưới và kết nối container với nó:

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

Thêm này một mình dường như không giúp đỡ. https://gist.github.com/markzz/3f25719a37f85bc851aa10e3b9c0ee5f – markzz

+0

Điều này sẽ giúp làm thế nào thực hiện một thay đổi cho một gói cài đặt python: https://stackoverflow.com/questions/23075397/python-how-to-edit-an- đã cài đặt gói – anhlc

+0

Tôi biết cách thay đổi gói ... – markzz

Các vấn đề liên quan