docker - 访问在Docker容器中生成的UUID

标签 docker docker-compose

我有一个运行良好的docker容器,并具有一个UUID来引用沙箱。我正在尝试向应用程序添加更多功能,并希望能够访问生成的UUID并在python文件中引用它。有办法吗?

最佳答案

有多种方法可以做到这一点:

  • 如果需要完整的UUID,可以在文件/ proc / self / cgroup中查找它,然后对其进行简单的cut即可。
    因此,从容器中:
    head -1 /proc/self/cgroup | cut -d/ -f3
    
    完整的工作示例:
    ~ % docker exec -ti e5867f7e3597861284644d15b33f94a800542e1b2e36a375a4be7d1f26a4fd56 ash
    ~ # head -1 /proc/self/cgroup | cut -d/ -f3
    e5867f7e3597861284644d15b33f94a800542e1b2e36a375a4be7d1f26a4fd56
    
  • 文件/ proc / 1 / cpuset也将提供完整的UUID,因此您可以通过
    basename $(cat /proc/1/cpuset)
    
    完整的工作示例:
    ~ % docker exec -ti e5867f7e3597861284644d15b33f94a800542e1b2e36a375a4be7d1f26a4fd56 ash
    ~ # basename $(cat /proc/1/cpuset)
    e5867f7e3597861284644d15b33f94a800542e1b2e36a375a4be7d1f26a4fd56
    
  • 要获得UUID的简短形式,甚至可以通过主机名来使用一种更简单的方法:
    cat /etc/hostname
    
    及其所有等效项:
  • uname -n
    
  • hostname
    
  • echo $HOSTNAME
    

  • 完整的工作示例:
    ~ % docker exec -ti e5867f7e3597861284644d15b33f94a800542e1b2e36a375a4be7d1f26a4fd56 ash
    ~ # cat /etc/hostname
    e5867f7e3597
    

    关于docker - 访问在Docker容器中生成的UUID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62821573/

    相关文章:

    docker - 我们如何使用使用Docker安装的两个不同的Magento 2版本/实例?

    jenkins - Dockerized jenkins是一个不错的选择吗?

    docker - 内存问题,如何管理退出的 Docker 容器?

    kubernetes - 如何模仿 Docker 的能力,使用 Kubernetes 从容器目录预填充卷

    docker - 尽管我使用Maven Docker插件构建,但未列出Docker镜像

    docker - Mac版Docker-极慢的请求时间

    docker - Filebeat没有转发日志

    azure - Azure 容器服务是否支持 Swarm 模式?

    python - 我如何为我的员工组织健康检查(带有 python 代码的 Docker)?

    docker - 如何将此docker命令转换为docker-compose?