解決策 1:
/etc/hostname
を編集 コンテナー内で ssh アクセスが必要な理由の 1 つです。それ以外の場合は、-h
でコンテナーをスピンアップできます オプション。
ホスト名とドメイン名を設定するには:
$ docker run -h foo.bar.baz -i -t ubuntu bash
[email protected]:/# hostname
foo
[email protected]:/# hostname -d
bar.baz
[email protected]:/# hostname -f
foo.bar.baz
解決策 2:
コンテナーとサービスを停止する
sudo docker stop CONTAINER_NAME
sudo service docker stop
構成ファイル (JSON) を編集 [最初にバックアップを作成する必要があります]
/var/lib/docker/containers/CONTAINER_ID/config.json
置換
<ブロック引用>"ホスト名":"なんでも"
と
<ブロック引用>"ホスト名":"NEW_HOSTNAME"
コンテナとサービスを開始
sudo service docker start
sudo docker start CONTAINER_NAME
(オプションで docker を接続することもできます)
sudo docker attach CONTAINER_NAME
Docker に関する詳細 (つまり、CONTAINER_NAME、CONTAINER_ID) は、実行することで取得できます
sudo docker ps -a
解決策 3:
--net=host
を使用する場合 ホスト名を -h
から変更することはできません またはドッカー内から。
https://github.com/docker/docker/issues/5708 を参照
解決策 4:
コンテナーを再起動するのが最も簡単なオプションですが、/etc/hostname を編集してそこから移動することもできます。