【问题标题】:Python getting Docker Container Name from the inside of a docker containerPython 从 Docker 容器内部获取 Docker 容器名称
【发布时间】:2018-07-26 17:25:34
【问题描述】:

我需要从 python 中正在运行的容器中获取容器名称

我可以很容易地从python中的容器内部获取容器ID

bashCommand = """head -1 /proc/self/cgroup|cut -d/ -f3"""
output = subprocess.check_output(['bash','-c', bashCommand])
print output

现在我需要容器名称

【问题讨论】:

  • 如果你有这些信息,你会怎么做?容器中的进程与其外部世界交互的能力非常有限。
  • 我需要将mysqldb中的containername保存到运行脚本信息中

标签: python docker


【解决方案1】:

只需在运行时设置名称,如:

docker run --name MYCOOLCONTAINER alpine:latest

然后:

bashCommandName = `echo $NAME`

output = subprocess.check_output(['bash','-c', bashCommandName]) 

print output

【讨论】:

  • 这让我走上了正轨(非常感谢!),但对于仍在苦苦挣扎的人来说,对我有用的语法是 --name container_name,而不是 NAME="CONTAINERNAME"
  • 容器名是指Docker中通过--name参数给它的名字,不是环境变量...
  • 我可以在 Windows 容器上执行此操作吗?当我在 powershell 上尝试“主机名”时,我得到了容器 ID。但是得到'name'或$name的错误
  • 试试$NAME(区分大小写)
  • 这对我不起作用。 Ubuntu 20.04 上的 Docker 20.10.6:使用交互式 shell 启动容器:docker run -it --rm --name MYCOOLCONTAINER alpine:latest sh。在那里,我运行set 来查看所有环境变量。但是没有一个包含 MYCOOLCONTAINER。
猜你喜欢
  • 2015-10-31
  • 2022-01-14
  • 2021-08-20
  • 1970-01-01
  • 1970-01-01
  • 2019-06-06
  • 1970-01-01
  • 2020-02-08
  • 2022-06-13
相关资源
最近更新 更多