Linux

如何為正在執行的容器指定主機名?

  • September 15, 2019

我在正在執行的 docker 容器上設置主機名時遇到問題。我也無法理解如何在啟動映像後指定主機名。

我從下載的圖像啟動了一個容器:

sudo docker run -p 8080:80 -p 2222:22 oskarhane/docker-wordpress-nginx-ss

但我忘了通過-h;指定主機名 既然容器正在執行,我如何指定主機名?

編輯/etc/hostname是您需要在容器內進行 ssh 訪問的一件事。-h否則,您可以使用選項啟動容器。

設置主機名和域名:

$ docker run -h foo.bar.baz -i -t ubuntu bash
root@foo:/# hostname
foo
root@foo:/# hostname -d
bar.baz
root@foo:/# hostname -f
foo.bar.baz

停止容器和服務

sudo docker stop CONTAINER_NAME
sudo service docker stop

編輯配置文件 (JSON)

$$ You should make backup first $$ /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

引用自:https://serverfault.com/questions/590191