Quando uso
docker run --it --name myContainer --hostname myShortHostName ubuntu bash
Isso adicionará myShortHostName a /etc/hostname file. E 172.169.X.X myShortHostName em /etc/hosts file .
mas, neste caso, eu uso o comando hostname -f para buscar FQDN do meu contêiner, porque não há entrada FQDN no arquivo /etc/hosts . E eu não posso editá-lo porque ele é substituído toda vez que o contêiner é inicializado.
E se eu usasse:
docker run --it --name myContainer --hostname myShortHostName.DOMAIN ubuntu bash
Isso adicionará o arquivo FQDN to /etc/hostname , que não é a convenção recomendada pelas regras hostname , e não é a convenção que eu usei no sistema que estou administrando.
The recommended method of setting the FQDN is to make the hostname be an alias for the fully qualified name using /etc/hosts,
DNS, or NIS. For example, if the hostname was "ursula", one might have a line in /etc/hosts which reads
127.0.1.1 ursula.example.com ursula
Existe alguma maneira (na verdade, eu preciso da maneira ideal, não editando os arquivos com um script após inicializar o container) para adicionar apenas o arquivo myShortHostName to /etc/hostname , e o FQDN para o arquivo / etc / hosts usando Comando docker run ou qualquer comando ou técnica incorporada do Docker?
O que eu preciso é ser capaz de obter o ShortHostName por hostname -s ou hostname e o ShortHostName.DOMAIN (FQDN) usando hostname -f dentro do contêiner Docker sem adicionar o FQDN ao arquivo /etc/hostname .