【发布时间】:2022-04-10 04:42:40
【问题描述】:
我正在创建一个带有环境变量的 docker 服务:
docker service create --env TEST=123 myservice
我验证环境变量是用
设置的$ docker service inspect myservice
...
ContainerSpec:
Env: TEST=123
...
但是环境变量没有显示在 docker 容器中。特别是,在 docker 容器内运行的代码打印出os.Environ(),在日志中我只看到标准环境变量:
$ docker service logs myservice
[HOSTNAME=48bcddab9204 SHLVL=1 HOME=/root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/app]
所以没有设置环境变量“TEST”。如何设置定义此环境变量的服务?
docker version 的输出是
Client:
Version: 20.10.12
API version: 1.41
Go version: go1.17.5
Git commit: e91ed5707e
Built: Mon Dec 13 22:31:40 2021
OS/Arch: linux/amd64
Context: synology
Experimental: true
Server:
Engine:
Version: 20.10.3
API version: 1.41 (minimum version 1.12)
Go version: go1.15.13
Git commit: a3bc36f
Built: Thu Aug 19 07:11:25 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.4.3
GitCommit: ea3508454ff2268c32720eb4d2fc9816d6f75f88
runc:
Version: v1.0.0-rc93
GitCommit: 31cc25f16f5eba4d0f53e35374532873744f4b31
docker-init:
Version: 0.19.0
GitCommit: ed96d00
【问题讨论】:
标签: docker docker-swarm