Добавление ShortHostName в файл имени хоста и ShortHostName.DOMAIN в файл хоста в контейнере Docker

340
Mohammed Noureldin

Когда я использую

docker run --it --name myContainer --hostname myShortHostName ubuntu bash 

Это добавит myShortHostNameв /etc/hostnameфайл. И 172.169.X.X myShortHostNameв /etc/hosts file.

но в этом случае я использую hostname -fкоманду для извлечения моего контейнера FQDN, потому что FQDNв /etc/hostsфайле нет записи . И я не могу редактировать его, потому что он заменяется каждый раз при загрузке контейнера.

И если бы я использовал:

docker run --it --name myContainer --hostname myShortHostName.DOMAIN ubuntu bash 

Это добавит FQDNк /etc/hostnameфайлу, который не является рекомендуемым соглашением по hostnameправилам, и это не соглашение, которое я использовал для использования в моей системе, которую я администрирую.

Рекомендуемый метод установки полного доменного имени - сделать имя хоста псевдонимом для полного имени, используя / etc / hosts, DNS или NIS. Например, если имя хоста было «ursula», в / etc / hosts может быть строка, которая читает

 127.0.1.1 ursula.example.com ursula 

Есть ли способ (на самом деле мне нужен идеальный способ, не редактируя файлы с помощью скрипта после загрузки контейнера), чтобы добавить только краткое myShortHostNameв /etc/hostnameфайл, и файл FQDN в / etc / hosts с помощью docker runкоманды или встроенных команд или техник любого докера ?

Мне нужно иметь возможность получить ShortHostName с помощью hostname -sили hostnameи ShortHostName.DOMAIN (FQDN) с помощью hostname -fвнутри контейнера Docker без добавления полного доменного имени в /etc/hostnameфайл.

0

1 ответ на вопрос

0
danblaker

Вы можете убедиться, что полное доменное имя добавлено в / etc / hosts в вашем контейнере Docker, передав --domainnameаргумент в вашу docker runкоманду. Например, запустив ваш контейнер с помощью следующей команды:

docker run --it --name myContainer --hostname ursula --domainname example.com ubuntu bash

приведет к созданию следующей записи в / etc / hosts:

172.169.X.X ursula.example.com ursula

Похожие вопросы