为什么在检查Docker容器时Config.User为空字符串? [英] Why is Config.User an empty string when I inspect a Docker container?
问题描述
我拉并运行了Docker容器 jcsilva / docker-kaldi -gstreamer-server :
I pulled and ran the Docker container jcsilva/docker-kaldi-gstreamer-server:
docker pull jcsilva/docker-kaldi-gstreamer-server
docker run -it -p 8080:80 -v /media/kaldi_models:/opt/models jcsilva/docker-kaldi-gstreamer-server:latest /bin/bash
我可以看到它正在运行:
I can see it running:
username@server:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24f598fd5019 jcsilva/docker-kaldi-gstreamer-server:latest "/bin/bash" 12 hours ago Up 12 hours 0.0.0.0:8080->80/tcp
我检查时:
username@server:~$ docker inspect 24f598fd501911f32e10884ed3f86547e05a031f0d31324badc40c5fb5ed732a > inspection.json
我在 inspection.json $ c $中看到c>:
"Config": {
"Hostname": "24f598fd5019",
"Domainname": "",
"User": "", <-- Why is User an empty string?
"AttachStdin": true,
"AttachStdout": true,
"AttachStderr": true,
"ExposedPorts": {
"80/tcp": {}
},
是什么可以解释Config.User是一个空字符串?
What could explain that Config.User is an empty string?
我使用Docker版本18.03.0-ce,在Ubuntu 16.04.4 LTS(GNU / Linux 4.4.0-119-generic x86_64)上构建0520e24。
I use Docker version 18.03.0-ce, build 0520e24 on Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64).
推荐答案
因为 Dockerfile
没有 USER
指令最有可能。
Because the Dockerfile
doesn't have a USER
directive, most likely. Why are you expecting it to have one?
在我的PC上运行的所有容器中,只有一个拥有用户,这就是 grafana
,因为这就是 Dockerfile 。不是启动它的用户(我: roger
)。
Of all of the containers running on my PC right now, only one has a user, and that's grafana
, because that's what's in the Dockerfile. It's not the user (me: roger
) that launched it.
这篇关于为什么在检查Docker容器时Config.User为空字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!