У меня проблема, что я вообще не могу гр asp. Я запускаю свой конвейер Jenkins в контейнере Docker на главном узле. Теперь я добавил еще один узел и тоже хочу запустить конвейер там.
Однако, используя одно и то же изображение, я получаю разные права доступа к файлам в контейнере:
### master
> docker image ls node:10.20.1-stretch
REPOSITORY TAG IMAGE ID CREATED SIZE
node 10.20.1-stretch c5f1efe092a0 13 days ago 912MB
> docker run --rm -ti -u 1000:1000 node:10.20.1-stretch ls -la /home/node
total 20
drwxr-xr-x 2 1000 1000 4096 May 15 20:31 .
drwxr-xr-x 3 0 0 4096 May 15 20:31 ..
-rw-r--r-- 1 1000 1000 220 May 15 2017 .bash_logout
-rw-r--r-- 1 1000 1000 3526 May 15 2017 .bashrc
-rw-r--r-- 1 1000 1000 675 May 15 2017 .profile
### node 1
> docker image ls node:10.20.1-stretch
REPOSITORY TAG IMAGE ID CREATED SIZE
node 10.20.1-stretch c5f1efe092a0 13 days ago 912MB
> docker run --rm -ti -u 1000:1000 node:10.20.1-stretch ls -la /home/node
total 20
drwxr-xr-x 2 0 0 4096 May 26 05:42 .
drwxr-xr-x 1 0 0 4096 May 26 05:42 ..
-rw-r--r-- 1 0 0 220 May 26 05:42 .bash_logout
-rw-r--r-- 1 0 0 3526 May 26 05:42 .bashrc
-rw-r--r-- 1 0 0 675 May 26 05:42 .profile
Я наблюдал аналогичное поведение для каталога /tmp
, который имеет chmod 1777
на главном и 1755
на узле 1.
# master
> docker -v
Docker version 19.03.9, build 9d988398e7
> dockerd -v
Docker version 19.03.9, build 9d988398e7
# node 1
> docker -v
Docker version 19.03.10, build 9424aeaee9
> dockerd -v
Docker version 19.03.10, build 9424aeaee9
Я предполагаю, что неправильное поведение на node 1
, так как каталог /home/node
и все его дочерние элементы принадлежат root:root
там, но тот же каталог принадлежит node:node
на мастере. Однако я уже обновил версию Docker на узле 1 с 19.03.8 до 19.03.10, и ничего не изменилось.
Есть ли что-то, чего я не понимаю в контейнерах Docker? Я работал с ними некоторое время, но никогда не наблюдал такого поведения.