Docker容器如何获得自己的名字
本文介绍的方法是通过环境变量把容器自己的名字传递进去,仅支持以下两种部署方式:
docker service create
docker stack deploy
docker service create
docker service create -e MY_NAME="{{.Task.Name}}" -d --name abc tomcat:8.5-alpine
这样容器里的MY_NAME
环境变量就是容器自己的名字,比如:abc.1.rik8xgc0b9i2r7odnm6vnhnqg
docker stack deploy
docker-compose file:
version: '3.7' services: webapp: image: tomcat:8.5-alpine environment: MY_NAME: "{{.Task.Name}}"
同样地将容器名传到环境变量MY_NAME
里。
参考资料
- Docker logging best practice,在这个文章里提到了可以用
{{.Task.Name}}
做template expansion来设置变量。 - 上述两种方式都用到了go template,Format command and log output 列举了几种template expansion的使用方式。
- Inject chosen container name in container,这个issue提出要能够在容器内获得自己的名字,但是此issue没有被解决,依然在讨论中。
相关推荐
yangkang 2020-11-09
ChlatZed 2020-11-11
xysoul 2020-11-03
lnkToKing 2020-10-29
ChlatZed 2020-10-27
dusuanyun 2020-09-21
newisI 2020-09-01
fearlessxjdx 2020-09-04
王道革 2020-11-25
bwyyziq 2020-11-22
pigsmall 2020-11-19
changecan 2020-11-19
helloWorldAndYou 2020-11-16
nginxs 2020-11-14
红石丶 2020-11-13
WanKaShing 2020-11-12
yangkang 2020-11-12
滴水穿石点石成金 2020-11-12
张荣珍 2020-11-12