كيف يمكنني تغيير اسم المضيف عامل الميناء بعد إنشاء صورة?

أنا أتعلم عامل الميناء 1.8. أردت تغيير اسم مضيف الحاوية بعد أنا خلق لهم. حاولت تحرير /etc/host داخل الحاوية وحصلت على الكتابة في كل مرة كنت attach ثم start الصورة. حاولت تحرير الملف التالي ، ويتم الكتابة فوق اسم المضيف.

[root@localhost ~]# docker inspect high_blackwell | grep hostname"HostnamePath": "/var/lib/docker/containers/15b84f7012383b1af2d4c8c6443506cdff3b19cb1d87d3dfdcb10df126c4eec3/hostname",

[الجذر@المضيف المحلي ~]#

لم تنجح أي من هذه الإجابات معي

كيف يمكنك تسمية حاوية عامل الميناء?

لست متأكدا مما إذا كنت تعني أنك تريد تعيين اسم مضيف حاوية جديدة أو حاوية قيد التشغيل. أنت تقول أنك تريد القيام بذلك بعد إنشاء الحاوية ، ولكن بعد ذلك تقول أيضا أنك "تبدأ الصورة". إذا لم يكن لديك startإد الصورة التي لم تقم بعد بإنشاء الحاوية-حاوية هو ما تحصل عليه عند بدء تشغيل صورة.

أنت تقوم بإنشاء حاوية جديدة

يمكنك تعيين اسم المضيف على سطر الأوامر:

docker run --rm -h "example.com" -t -i ubuntu bash# ...root@example:/# hostnameexample.com

الحاوية الخاصة بك قيد التشغيل بالفعل

هذا أكثر صعوبة. سترغب في إبقاء العين على قضية عامل الميناء هذه ولكن حتى يتم حلها لا يمكنك أن تفعل أكثر بكثير من تحرير /etc/hosts أعتقد. ال hostname لن يعمل الأمر.

لتغيير اسم مضيف حاوية قيد التشغيل ، يمكنك استخدام الأمر "نسنتر". سيكون عليك أن تكون الجذر على المضيف ، على الرغم من.

يمكننا سرد مساحات الأسماء على المضيف مع الأمر "لسنز" :

# lsns        NS TYPE  NPROCS   PID USER COMMAND4026531836 pid       73     1 root init      4026531837 user     101     1 root init      4026531838 uts       73     1 root init      4026531839 ipc       73     1 root init      4026531840 mnt       72     1 root init      4026531857 mnt        1    14 root kdevtmpfs4026531957 net       73     1 root init      4026532300 mnt       28  1785 root /usr/bin/python /usr/local/bin/supervisord -c4026532301 uts       28  1785 root /usr/bin/python /usr/local/bin/supervisord -c4026532302 ipc       28  1785 root /usr/bin/python /usr/local/bin/supervisord -c4026532303 pid       28  1785 root /usr/bin/python /usr/local/bin/supervisord -c4026532305 net       28  1785 root /usr/bin/python /usr/local/bin/supervisord -c

تلك مع بيد 1785 هي بلدي حاوية عامل الميناء. نوع مساحة الاسم الذي يعالج أسماء المضيفين هو "أوتس" ، لذلك دعونا تشغيل اسم المضيف في مساحة الاسم هذه:

# nsenter --target 1785 --uts hostname foo

الآن" اسم المضيف "في الحاوية الخاصة بك يجب أن تسفر عن"فو"!

1.وقف الحاويات والخدمة

sudo docker stop CONTAINER_NAMEsudo service docker stop

2.تحرير ملف التكوين (جسون) [يجب عليك دائما إجراء النسخ الاحتياطي أولا]

    /var/lib/docker/containers/CONTAINER_ID/config.jsonReplace    "Hostname":"WHATEVER"with    "Hostname":"NEW_HOSTNAME"

3.بدء الحاوية والخدمة

sudo service docker startsudo docker start CONTAINER_NAME