为了记录日志,我想知道我的程序在哪个Docker实例下运行的名称。
举个例子,如果我以以下方式启动它:
docker run -d --name my-docker-name some/image
如何从运行在 Docker 容器中的程序中找到实际的 Docker 名称(例如,my-docker-name)?
为了记录日志,我想知道我的程序在哪个Docker实例下运行的名称。
举个例子,如果我以以下方式启动它:
docker run -d --name my-docker-name some/image
--hostname
选项。
容器的程序无法访问其容器的名称。
https://dev59.com/c5Xfa4cB1Zd3GeqPbC14#36068029
添加选项 -h|--hostname=""
,与docker容器名称相匹配。然后只需要从程序中查询主机名,就完成了。
编辑
提供一个环境变量来命名,如你所建议的。整个命令看起来像这样:
$name="custom-uniq-name"
$docker run -h $name --name $name -e NAME=$name image-to-run
docker run
命令中添加以下内容:
-v /var/run/docker.sock:/var/run/docker.sock
docker ps --filter