আমি এখন একটি স্থির আইপি 172.17.0.1 বরাদ্দ করার চেষ্টা করছি যখন কোনও ডকারের ধারক শুরু হবে।
আমি 2121 বন্দরটি এই ধারকটির ssh বন্দর হিসাবে ব্যবহার করি যাতে আমি এই ধারকটি 2122 পোর্ট শুনতে পারি।
sudo docker run -i -t -p 2122:2122 ubuntu
এই কমান্ডটি 172.17.0.5 এর মতো একটি এলোমেলো আইপি সহ একটি ডকার ধারক চালাবে, তবে ধারকটিতে আমার একটি নির্দিষ্ট আইপি নির্ধারণ করতে হবে।
নিম্নলিখিত শেল স্ক্রিপ্টটি হ'ল আমি উন্নত নেটওয়ার্ক সেটিংসে ডকার ডকুমেন্টেশনটি উল্লেখ করি।
pid=$(sudo docker inspect -f '{{.State.Pid}}' <container_name> 2>/dev/null)
sudo rm -rf /var/run/netns/*
sudo ln -s /proc/$pid/ns/net /var/run/netns/$pid
sudo ip link add A type veth peer name B
sudo brctl addif docker0 A
sudo ip link set A up
sudo ip link set B netns $pid
sudo ip netns exec $pid ip link set eth0 down
sudo ip netns exec $pid ip link delete eth0
sudo ip netns exec $pid ip link set dev B name eth0
sudo ip netns exec $pid ip link set eth0 address 12:34:56:78:9a:bc
sudo ip netns exec $pid ip link set eth0 down
sudo ip netns exec $pid ip link set eth0 up
sudo ip netns exec $pid ip addr add 172.17.0.1/16 dev eth0
sudo ip netns exec $pid ip route add default via 172.17.42.1
এই শেল স্ক্রিপ্টটি একটি স্ট্যাটিক আইপি 172.17.0.1 বরাদ্দ করবে এবং বিশ্বের জরিমানা সংযোগ করবে। তবে যখনই আমি আমার স্থানীয় থেকে এই ধারকটি নিয়ে যাওয়ার চেষ্টা করি, এটি কার্যকর হয়নি। সমস্যাটি কী আমি সম্ভবত পূরণ করেছি?