在Ubuntu计算机上,发出一个有效的“docker run”作为'app'用户,他是'docker'组的一部分。
它开始很好,但是当查看进程树时,它开始是另一个任意用户'splunk',它也在我的系统上:
root 3573 0.1 0.6 337532 24216 ? Ssl 01:28 0:00 /usr/bin/docker daemon
root 3678 1.0 0.3 177280 13132 ? Sl 01:30 0:00 \_ docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 172.1.2.3 -container-port 8080
splunk 3686 5.0 0.2 52144 10220 ? Ssl 01:30 0:00 \_ ruby /app/foo/build/bin/my_run_script
splunk 3702 0.0 0.0 4440 656 ? S 01:30 0:00 \_ sh -c bundle exec unicorn -p $PORT -c config/unicorn.rb
splunk 3703 76.0 1.6 301208 63684 ? Sl 01:30 0:03 \_ unicorn master -p 8080 -c config/unicorn.rb
我知道发布'docker run'命令作为'app'用户只是指示守护进程在特定图像上启动什么脚本。然后守护进程(以root身份运行)将以另一个用户身份运行该进程。我希望这是发布'app'用户而不是其他随机用户。
为什么会这样?我检查了两个用户的UID是不同的。