Moby: рд░реВрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 17 рдЕрдХреНрддреВре░ 2013  ┬╖  157рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moby/moby

рдХреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: www рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрд╛рдЪреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВред
рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рднреА рдорд╛рдЙрдВрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд░реЛрд╣рд┐рдд рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрджреЗрд╢
рдбреЙрдХрд░ рд░рди -v /tmp:/var/www ubuntu stat -c "%U%G" /var/www
"рд░реВрдЯ рд░реВрдЯ" рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛

рдореБрдЭреЗ рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ www рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

areapi arekernel arevolumes exexpert kinenhancement

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдХреНрдпрд╛ рдореИрдВ рдирд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдЬреЛ рдХрд░рддрд╛ рд╣реИ

#!/bin/sh
chown -R redis:redis /var/lib/redis
exec sudo -u redis /usr/bin/redis-server

(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП @bfirsh рдзрдиреНрдпрд╡рд╛рдж)

рдмрд╣реБрдд рднрдпрд╛рдирдХ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рди рдХрд┐ рдЗрдЪреНрдЫрд┐рдд redis рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдпред (рдЬреИрд╕рд╛ рдХрд┐ @aldanor рдиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ)

рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛:

docker run -v /home/user/.app_cfg/ -u user application_container application :(

рд╕рднреА 157 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрджрд┐ рдЖрдк chown рд╡реЙрд▓реНрдпреВрдо (рд╣реЛрд╕реНрдЯ рдХреА рддрд░рдл) рдХреЛ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

mkdir /tmp/www
chown 101:101 /tmp/www
docker run -v /tmp/www:/var/www ubuntu stat -c "%U %G" /var/www

(рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ 101:101 рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ www-data рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ UID:GID рд╣реИред)

рдПрдХ рдФрд░ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВ, рдлрд┐рд░ chown рдХрд░реЗрдВред

@mingfang рдХреНрдпрд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛?

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рд╣реЛрдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдореИрдВ рдЕрдХреНрд╕рд░ рдЦреБрдж рдХреЛ run рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрддрд╛ рд╣реБрдЖ рдкрд╛рддрд╛ рд╣реВрдВ рдЬреЛ рд╕рд┐рд░реНрдл рд╡реЙрд▓реНрдпреВрдо рдкрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ:

https://github.com/orchardup/docker-redis/blob/07b65befbd69d9118e6c089e8616d48fe76232fd/run

рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ chown рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ?

рдХреНрдпрд╛ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐ chown рд╡реЙрд▓реНрдпреВрдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧрд╛? рдпрд╣ рд╕реНрдХрд┐рдкреНрдЯ рдЖрдкрдХреЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХрд╛ ENTRYPOINT рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдореИрдВ рдирд╛ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ рдЬреЛ рдХрд░рддрд╛ рд╣реИ

#!/bin/sh
chown -R redis:redis /var/lib/redis
exec sudo -u redis /usr/bin/redis-server

(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП @bfirsh рдзрдиреНрдпрд╡рд╛рдж)

рдмрд╣реБрдд рднрдпрд╛рдирдХ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╢реБрд░реВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рди рдХрд┐ рдЗрдЪреНрдЫрд┐рдд redis рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдпред (рдЬреИрд╕рд╛ рдХрд┐ @aldanor рдиреЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рд╣реИ)

рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛:

docker run -v /home/user/.app_cfg/ -u user application_container application :(

рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ _one_ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдкрдиреЗ Dockrfile рдХреЗ рдЕрдВрджрд░ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рддреИрдпрд╛рд░реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

RUN mkdir -p /var/lib/redis ; chown -R redis:redis /var/lib/redis
VOLUME ["/var/lib/redis"]
ENTRYPOINT ["usr/bin/redis-server"]
USER redis

(рдореИрдВрдиреЗ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛, рдореИрдВ рдПрдХ рдХреНрд░реЛрдорд┐рдпрдо рдХрдВрдЯреЗрдирд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рддрдм рдПрдХ _separate_ X11 рдХрдВрдЯреЗрдирд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ ....)

рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рд╕реАрдзреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдмрд╛рдзреНрдп рдирд╣реАрдВ
рдорд╛рдЙрдВрдЯреЗрдб рдпрд╛ рд╡реЙрд▓реНрдпреВрдо-рд╡реЙрд▓реНрдпреВрдо рд╕реЗред ;)

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, volumes-from рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХрд╛рдзрд┐рдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ uid/gid рд╣реЛрдЧрд╛, рдЬреЛ рд╕рд╛рдорд╛рди рдХреЛ рднреА рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИред

@SvenDowideit @tianon рд╡рд╣ рд╡рд┐рдзрд┐ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдкреВрд░рд╛ рдЙрджрд╛рд╣рд░рдг:

FROM ubuntu
RUN groupadd -r redis    -g 433 && \
useradd -u 431 -r -g redis -d /app -s /sbin/nologin -c "Docker image user" redis 
RUN mkdir -p /var/lib/redis
RUN echo "thing" > /var/lib/redis/thing.txt
RUN chown -R redis:redis /var/lib/redis
VOLUME ["/var/lib/redis"]
USER redis
CMD /bin/ls -lah /var/lib/redis

-v рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рджреЛ рд░рди:

bash-3.2$ docker run -v `pwd`:/var/lib/redis voltest 
total 8.0K
drwxr-xr-x  1 root root  102 Aug  7 21:30 .
drwxr-xr-x 28 root root 4.0K Aug  7 21:26 ..
-rw-r--r--  1 root root  312 Aug  7 21:30 Dockerfile
bash-3.2$ docker run  voltest 
total 12K
drwxr-xr-x  2 redis redis 4.0K Aug  7 21:30 .
drwxr-xr-x 28 root  root  4.0K Aug  7 21:26 ..
-rw-r--r--  1 redis redis    6 Aug  7 21:26 thing.txt
bash-3.2$ 

рд╣рдо рдПрдХ рдРрд╕реЗ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рд╕реЗ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдХреА рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ NFS рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ /home/dev/git/project рдХреЛ рдбреЙрдХрд░ рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░реВрдЯ рд╕реНрдХреНрд╡реИрд╢ рд╕рдХреНрд╖рдо рд╣реИред

рдпрд╣ рд░реВрдЯ рдХреЛ /home/dev/git/project рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ docker рдорд╛рдЙрдВрдЯрд┐рдВрдЧ /home/dev/git/project рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ lstat permission denied рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

@frankamp рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ рдХреА рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЙрди рдореЗрдЬрдмрд╛рди рдЪреАрдЬреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдХреЗ рдЕрдкрдиреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред

рдЖрдкрдХреА "рд╡реЙрд▓реНрдпреВрдо" рдкрд░рд┐рднрд╛рд╖рд╛ рдЖрдкрдХреЗ -v pwd`:/var/lib/reds` рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИред
рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рджреВрд╕рд░реЗ рд░рди рдореЗрдВ, рдпрд╣ рдПрдХ рдбреЙрдХрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреЛ /var/lib/docker рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЬрдм рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдбреЙрдХрд░ рдЫрд╡рд┐ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдХреЙрдкреА рдХрд░ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдпреВрдЖрдИрдбреА: рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд╕рд╛рде рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдПрдХ рдЕрд▓рдЧ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЗ рд░реВрдк рдореЗрдВ рдмрдврд╝рддреЗ рд╣реБрдП рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ)ред

рдЗрд╕рдХрд╛ рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рдерд╛ рдХрд┐ SvenDowideit рдиреЗ рдКрдкрд░ рдХреНрдпрд╛ рдХрд┐рдпрд╛ (рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдВ рдФрд░ dockerfile рдореЗрдВ рд╕рд╛рдордиреЗ рдХреА рдУрд░ рджреЗрдЦреЗрдВ), рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣реЛрд╕реНрдЯ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдбреЗрдЯрд╛-рдУрдирд▓реА рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдЙрд╕ рд╣реЛрд╕реНрдЯ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдореИрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред tar cf - . | docker run -i --volumes-from app_data app tar xvf - -C /data рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ред рдПрдХ рдмрд╛рд░ https://github.com/docker/docker/pull/13171 рд╡рд┐рд▓рдп рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдФрд░ docker cp рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ -v host_dir:container_dir рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдмрди рд╕рдХрддрд╛ рд╣реИ -vc host_dir:container_dir , (рд╡реЙрд▓реНрдпреВрдо-рдХреЙрдкреА рдХреЗ рд▓рд┐рдП рд╡реАрд╕реА), рдЬрд┐рд╕рдореЗрдВ host_dir рдХреА рд╕рд╛рдордЧреНрд░реА рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреЙрдкреА рд╣реЛ рдЬрд╛рдПрдЧреАред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЙрдкреА рдХреА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рдХрдВрдЯреЗрдирд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдХреНрдпреЛрдВ/рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИрдВ, рдЬреЛ рдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╡реЗ рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдЖрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдПрд╕реАрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдХреНрдпрд╛ рдХреЛрдИ рдлрд┐рдХреНрд╕ рдпрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ? рдореИрдВ OpenShift рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддрд╛ рд╣реВрдВ, рдорд╛рдЙрдВрдЯреЗрдб рдлрд╝реЛрд▓реНрдбрд░ рд░реВрдЯ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИ: рд░реВрдЯ рдФрд░ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рдЫрд╡рд┐рдпрд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреАред

рдореИрдВ рднреА рдПрдХ рдЙрдкрд╛рдп рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реВрдБред рдпрджрд┐ рд╕рднреА рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо root рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреЗ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ root рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдирд╛ рдЕрд╕рдВрднрд╡ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

рд╡реИрд╕реЗ рдЖрдк s6-overlay рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖рд┐рдд рд╣реИрдВред

@ Dreamcat4 : рд╕реВрдЪрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдлрд┐рдХреНрд╕рд┐рдВрдЧ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдФрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рдордХрд╛рдЬ рдХреА рддрд░рд╣ рд▓рдЧрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ?

@ brikis98 рд╣рд╛рдБ рдпрд╣ рд╕рдЪ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ s6-overlay рдореЗрдВ рдЕрднреА рддрдХ рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ / рдбреЗрдореЙрди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╕рдордп рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

@ Dreamcat4 рдЖрд╣, рдЧреЛрдЪрд╛, рдзрдиреНрдпрд╡рд╛рджред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рдПрдХ рд╣реА рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрд╣реИ рдФрд░ рдореБрдЭреЗ рдпрд╣реА рдорд┐рд▓рддрд╛ рд╣реИ:

nonroot$ ls -l .dotfiles/
ls: cannot access .dotfiles/byobu: Permission denied
ls: cannot access .dotfiles/config: Permission denied
ls: cannot access .dotfiles/docker: Permission denied
ls: cannot access .dotfiles/vim: Permission denied
ls: cannot access .dotfiles/bashrc: Permission denied
ls: cannot access .dotfiles/muse.yml: Permission denied
ls: cannot access .dotfiles/my.cnf: Permission denied
ls: cannot access .dotfiles/profile: Permission denied
total 0
-????????? ? ? ? ?            ? bashrc
d????????? ? ? ? ?            ? byobu
d????????? ? ? ? ?            ? config
d????????? ? ? ? ?            ? docker
-????????? ? ? ? ?            ? muse.yml
-????????? ? ? ? ?            ? my.cnf
-????????? ? ? ? ?            ? profile
d????????? ? ? ? ?            ? vim
nonroot$ ls -l .ssh
ls: cannot access .ssh/authorized_keys: Permission denied
total 0
-????????? ? ? ? ?            ? authorized_keys
nonroot$

@darkermatter рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рдпрд╣рд╛рдБ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ?

@darkermatter рдпрд╣ рдПрдХ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдз рд╣реИ, рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдирд╣реАрдВ, рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдХреЛ рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рдиреЗ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рд╕реАрдзреЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ

@thaJeztah рдареАрдХ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ @frankamp рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдиреЗ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ Dockerfile рдХреЗ рдЕрдВрджрд░ chmod, рдЖрджрд┐ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдПрдХ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрдЬ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ @ebuchman рдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдерд╛, рд╣реЛрд╕реНрдЯ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдХреЙрдкреА рдХрд┐рдП рдмрд┐рдирд╛, рдЖрдк рдкрд╣рд▓реЗ рдХреЗрд╡рд▓-рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдХрд░рддрд╛ рд╣реИ
chown 1000:1000 /volume-mount рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрдм рдпрд╣ рд╢реБрд░реВ рд╣реБрдЖред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдореЗрдВ v2 рд╕рд┐рдВрдЯреИрдХреНрд╕ рд▓рд┐рдЦреЗрдВ

version: '2'
services:
  my-beautiful-service:
    ...
    depends_on:
      - data-container
    volumes_from:
      - data-container

  data-container:
    image: same_base_OS_as_my-beautiful-service
    volumes:
      - /volume-mount
    command: "chown 1000:1000 /volume-mount"

рдЗрд╕ рддрд░рд╣ рдЖрдкрдХрд╛ рдХрдВрдЯреЗрдирд░ рдЧреИрд░-рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рд╡рд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд▓рддрд╛ рд╣реИред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдк рдЙрд╕ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ my-beautiful-service рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ 1000,1000 рд╣реИред

рдРрд╕рд╛ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЖрдк (1.11 рдореЗрдВ) рдЕрдкрдиреЗ docker volume create рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд▓рд┐рдП рдорд╛рдЙрдВрдЯ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдмрдВрдж рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд▓рдЧрддрд╛ рд╣реИред

рдЖрдк рд╕реАрдзреЗ uid/gid рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдирдП рдорд╛рдЙрдВрдЯ рдСрдкреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, uid/gid рдСрдкреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕реАрдЖрдИрдПрдлрдПрд╕ рдбреНрд░рд╛рдЗрд╡ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдФрд░ рдЯрд┐рдХрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

@ michaeljs1990 рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреЗрд╡рд▓ рдкреНрд░рддрд┐-рдХрдВрдЯреЗрдирд░ рдирд╣реАрдВ (рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЙрдореНрдмреЛ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реЙрд▓реНрдпреВрдо рдирд╣реАрдВ рдмрдирд╛рддреЗ)ред

@ cpuguy83 , рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ docker volume create рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВ рдЖрдЬ рдбреЙрдХрдЯрд░ 1.11 рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рдореБрдЭреЗ рдПрдХ рдорд╛рдЙрдВрдЯреЗрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рджрд░реНрджрдирд╛рдХ рд░рд┐рдЬрд┐рдЧрд░рд┐рдВрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореБрдЭреЗ рдХрднреА рднреА рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдХреЗрд▓реЗ рдЗрд╕реЗ рдХрд┐рд╕реА рдФрд░ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣реА рдкреВрдЫ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди ...

FROM busybox
RUN mkdir /hello && echo hello > /hello/world && chown -R 1000:1000 /hello

"рдкрд░реАрдХреНрд╖рдг" рдХреЗ рдирд╛рдо рд╕реЗ рдКрдкрд░ рдХреА рдЫрд╡рд┐ рдмрдирд╛рдПрдВ

$ docker volume create --name hello
$ docker run -v hello:/hello test ls -lh /hello

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ /hello рдФрд░ /hello/world рджреЛрдиреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ 1000:1000 . рдХреЗ рдкрд╛рд╕ рд╣реЛрдЧрд╛

рд╕рдордЭрд╛ред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ, рдЬреЛ рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ, рдореИрдВрдиреЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд┐рд╕рдиреЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдпреВрдЖрдИрдбреА, рдЬреАрдЖрдИрдбреА, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рд╕рдореВрд╣ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ред рд╕рднреА <...> рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдореВрд▓реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдЪреАрдЬреЗрдВ рд╣реИрдВред

FROM <some_image>
RUN groupadd -g <my_gid> <my_group> && \
    useradd -u <my_uid> -g <my_gid> <my_user>

рдЗрд╕рдХреЗ рдмрд╛рдж, рдХреЛрдИ рдпрд╛ рддреЛ USER рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рдХрд┐рд╕реА рдмрд╛рдж рдХреЗ рдмрд┐рдВрджреБ рдкрд░ su рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рд╢реЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп)ред рдпрд╣ рдореБрдЭреЗ рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рд▓рд┐рдЦрдиреЗ рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╡рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдерд╛ рдЬрд┐рд╕рдиреЗ рдмрдирд╛рдпрд╛ рдерд╛ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЪреАрдЬреЛрдВ рдкрд░ рдЕрдиреБрдорддрд┐ рд╣реИ, рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ chown рдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, sudo рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╕реНрдорд╛рд░реНрдЯ рдХрджрдо рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рд╕рд╛рдорд╛рди (рдпрдХ!), рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рд╢рд┐рдо рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ docker run рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИред

--userns-remap рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдореИрдк рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рдЗрд╕рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЕрдЪреНрдЫреА рдЪрд░реНрдЪрд╛ рджреЗрдЦреЗрдВ http://stackoverflow.com/questions/35291520/docker-and-userns-remap-how-to-manage-volume-permissions-to-share-data-betwee ред

@ cpuguy83 :

рдЖрдк рд╕реАрдзреЗ uid/gid рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдИ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдирдП рдорд╛рдЙрдВрдЯ рдСрдкреНрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, uid/gid рдСрдкреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдк рдХрд┐рд╕ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрддрд░реНрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдПрдлрдПрдЯреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрддрдирд╛ рд╣реА рд╣реИрдХреА рд▓рдЧрддрд╛ рд╣реИ рдЬрд┐рддрдирд╛ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдЖрдИрдПрдордУ, рдбреЙрдХрд░ рдХреЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

  1. рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдврд╝рддреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдорд░реНрдерди (рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореЗрдЬрдмрд╛рди рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдХреЗ рдЗрд╕ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред
  2. рдпрд╛... USER рдирд┐рд░реНрджреЗрд╢ (рдФрд░ рд╕рдВрдмрджреНрдз рд░рдирдЯрд╛рдЗрдо рдлрд╝реНрд▓реИрдЧ) рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВред

рдПрдХ рдЧреИрд░-рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рджреМрд░рд╛рди рдХреЗрд╡рд▓ рд░реВрдЯ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдПрдХ рдЧрд▓рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рд╣реЛрд╕реНрдЯ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмреАрдЪ uid/gid рдХрд╛ рд╕рд╛рдЭрд╛рдХрд░рдг рдПрдХ рдФрд░ рдЧрд▓рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред

@mehaase рд╡реЙрд▓реНрдпреВрдо рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рдЙрд╕рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд▓реЗрддреЗ рд╣реИрдВред рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реНрдерд╛рди рд░реВрдЯ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИ, рддреЛ рд╡реЙрд▓реНрдпреВрдо рд░реВрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реНрдерд╛рди рдХрд┐рд╕реА рдФрд░ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИ, рддреЛ рд╡реЙрд▓реНрдпреВрдо рд╡рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдЬрдм рддрдХ рдХрдВрдЯреЗрдирд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╕реНрдЯрдо рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рд▓рд┐рдЦреЗ рдмрд┐рдирд╛ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ, рд░реЗрдбрд┐рд╕, рдХрд╛рдЙрдЪрдбреАрдмреА, рдФрд░ рдХрдИ рдЕрдиреНрдп рдЬреИрд╕реЗ рдорд╛рдирдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП _very_ рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ docker-compose рдореЗрдВ docker run -v рдХрдорд╛рдВрдб рдпрд╛ volume: рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдмреЗрдХрд╛рд░ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

@chrisfosterelli рдмреЗрдХрд╛рд░ рдХреНрдпреЛрдВ? рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ/рдбреАрдЖрдИрдЖрд░ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рд╛рдорд╛рдиреНрдп рдмрд╛рдд рд╣реИред

@ cpuguy83 рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреБрдорддрд┐ рдФрд░ рд╡реЙрд▓реНрдпреВрдо рд╕реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╕реНрдЯрдо рдбреЙрдХрд░рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡реЗ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИрдВред рдореИрдВ рдЕрдкрдиреЗ рдореЗрдЬрдмрд╛рди рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдмрд╛рдзреНрдп рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЕрдЧрд░ рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

@chrisfosterelli рд▓реЗрдХрд┐рди рдЗрди рд╕рднреА рдорд╛рдирдХ Dockerfiles рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╕реЗрдЯ рдХреА рдЧрдИ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @chrisfosterelli рдХреНрдпрд╛ рдХрд╣рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, @ cpuguy83 , (рдФрд░ рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ @chrisfosterelli) рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпреЗ рдЪрд░ (рдпреВрдЖрдИрдбреА, рдЬреАрдЖрдИрдбреА, рдЖрджрд┐) рдЧрддрд┐рд╢реАрд▓ рд╣реИрдВ рдФрд░ рдЗрдиреНрд╣реЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд░рди-рдЯрд╛рдЗрдо (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдФрд░ рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рд╕реЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП), рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдм рддрдХ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд░рди-рдЯрд╛рдЗрдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕реБрдЭрд╛рд╡ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдореМрд▓рд┐рдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред рджреЛрдмрд╛рд░рд╛ рдЕрдЧрд░ рдореИрдВ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдЧрд▓рдд рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

@jakirkham рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░рдпреЛрдЬреНрдп рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИред
рдлрд╝рд╛рдЗрд▓реЗрдВ рдЫрд╡рд┐ рдореЗрдВ рд╣реИрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдФрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рд╡реЙрд▓реНрдпреВрдо рд╕реЗ рд╣реА рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред рд╡реЙрд▓реНрдпреВрдо рдмрд╕ рд╡рд╣реА рд▓реЗрддрд╛ рд╣реИ рдЬреЛ рдЫрд╡рд┐ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

@ cpuguy83 рдореИрдВрдиреЗ рдереЛрдбрд╝рд╛ рдФрд░ рдЦреБрджрд╛рдИ рдХреА рдФрд░ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░ рджрд┐рдпрд╛: рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд▓реЛрдЪрджрд╛рд░ рдЦреЛрдЬ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬреЛ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ /data рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдПрдЧрд╛ (рдпрджрд┐ рдХреЛрдИ рдбреЗрдЯрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ), рддреЛ docker run -v /data elasticsearch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ . рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /data рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ root:root $ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ elasticsearch рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдбреЗрдореЙрди рдЕрдм рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ /data рдкрд░ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдЖрджрд░реНрд╢ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ рдЗрд╕ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдХрд╕реНрдЯрдо рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд▓реЛрдЪрджрд╛рд░ рдЦреЛрдЬ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ ... рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рддрд░реНрдХ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЫрд╡рд┐ рдореЗрдВ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@chrisfosterelli рдХрд░реНрдиреЗрд▓ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪрд┐рдпреЛрдВ рдкрд░ рдбреНрд░рд╛рдЗрд╡рд░ рдХреА рддрд░рд╣ рдПрдХ рдУрд╡рд░рд▓реЗ рд╣реЛрдиреЗ рдХреА рдХреБрдЫ рдмрд╛рдд рд╣реИ рдЬреЛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдо рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЙрддреНрд╕реБрдХ рд╣реВрдВ, рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рд╡реЙрд▓реНрдпреВрдо рдХреА рджреБрдирд┐рдпрд╛ рдХреА рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝ рдФрд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдорд╛рд╕реНрдХ рдХреЛ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рднреА рд╣реЛрдВ? (рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ)ред

@justincormack рдореБрдЭреЗ рдРрд╕рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдореИрдВ рдХрдВрдЯреЗрдирд░ рд╕реЗ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдбреЗрдЯрд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рд╣реЛрд╕реНрдЯ рдХреЗ рдмрдЬрд╛рдП)ред рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЬреАрдм рдореБрджреНрджрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕реЗ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ mkdir -p && chmod рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдареАрдХ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@chrisfosterelli рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдЙрдорд╛рд╕реНрдХ рд╕реЗрдЯ рдХрд░реЗрдВ, рдпрджрд┐ рдЖрдкрдХрд╛ рдЙрдорд╛рд╕реНрдХ 000 (рдХрдВрдЯреЗрдирд░ рдореЗрдВ) рд╣реИ рддреЛ рд╕рднреА рдирдИ рдлрд╛рдЗрд▓реЗрдВ 666 рдпрд╛ 777 рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЬрд╛рдПрдВрдЧреА, рдФрд░ рдпрджрд┐ рдЖрд░реЛрд╣ рдмрд┐рдВрджреБ 777 рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╣рдореЗрд╢рд╛ рд╡рд┐рд╢реНрд╡ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛?

@justincormack рд╣рд╛рдБ рдпрд╣ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ ... рдЧреИрд░-рд╣реЛрд╕реНрдЯ-рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рддреЗ рд╕рдордп рдореИрдВ рдРрд╕рд╛ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

@chrisfosterelli рд╣рдореНрдо, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдирдП рд╡реЙрд▓реНрдпреВрдо рдкрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдорд╛рд╕реНрдХ рджреЗрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдбреЙрдХрд░ рдбреЗрдореЙрди рдХреЛ 000 umask рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЙрд▓реНрдпреВрдо рд╡рд┐рд╢реНрд╡ рд▓рд┐рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╢рд╛рдпрдж рд╣рдорд╛рд░реЗ рдкрд╛рд╕ docker volume create рдкрд░ рдХреБрдЫ рдЕрдиреБрдорддрд┐ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

(рдЖрдк рдЗрд╕реЗ рд░реВрдЯ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдиреЗ chmod рдХрд┐рдпрд╛ рдФрд░ рдмрд╛рд╣рд░ рднреА рдирд┐рдХрд▓рд╛ рд▓реЗрдХрд┐рди рд╡рд╣ рдмрджрд╕реВрд░рдд рд╣реИ)

рдмрдирд╛рдиреЗ рдкрд░ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкрде рдирд╣реАрдВ рд╣реИ, рддреЛ рдкрде рд░реВрдЯ рдХреЗ рд╕рд╛рде рдмрди рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдпрдХреАрдирди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@ cpuguy83 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭрджрд╛рд░реА рд╣реЛрдЧреА рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ -u рдХреЗ рд╕рд╛рде рдкрд╛рд╕ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╢рд╛рдпрдж рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕реЗ рд╡реЙрд▓реНрдпреВрдо рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдореИрдВ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

  • рдбреЙрдХрд░ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрд╕реА рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЗ рд╕рд╛рде рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрд╕реНрдЯ рдкрд░ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИред
  • рдорд╛рдЙрдВрдЯ рдкреЙрдЗрдВрдЯ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдПрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд▓рдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдПрдВ

рдЙрджреНрдзрд░рдг @chrisfosterelli :

рдореИрдВрдиреЗ рдереЛрдбрд╝рд╛ рдФрд░ рдЦреБрджрд╛рдИ рдХреА рдФрд░ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░ рджрд┐рдпрд╛: рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд▓реЛрдЪрджрд╛рд░ рдЦреЛрдЬ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬреЛ рдкреНрд░рд╛рд░рдВрдн рд╣реЛрдиреЗ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛/рдбреЗрдЯрд╛ рдмрдирд╛рдПрдЧрд╛ (рдпрджрд┐ рдХреЛрдИ рдбреЗрдЯрд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ), рддреЛ рдбреЙрдХрд░ рд░рди -v/рдбреЗрдЯрд╛ рд▓реЛрдЪрджрд╛рд░ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /рдбреЗрдЯрд╛ рд░реВрдЯ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛ рдЬрд╛рддреА рд╣реИ: рд░реВрдЯ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХреНрд╕ рдЦреЛрдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдбреЗрдореЙрди рдЕрдм рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ /рдбреЗрдЯрд╛ рдХреЛ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рдПрдХ рдорд╣рд╛рди рдЙрджрд╛рд╣рд░рдг рд╣реИ! рдореЗрд░реЗ рдкрд╛рд╕ рд╕реЛрд▓рд░ рдЫрд╡рд┐ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдг рд╣реИред рд╕реЛрд▓рд░ рдХреЛ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ "рдХреЛрд░" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдмрдВрдзрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдЕрдВрд╢реЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд░ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╛рдо рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдореИрдВ products рдирд╛рдордХ рдХреЛрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдкрде /opt/solr/server/solr/products рд╣реЛрдЧрд╛ред рдХреЛрд░ рдХрд╛ рдирд╛рдо рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕реЛрд▓рд░ рдЗрдореЗрдЬ рдореЗрдВрдЯреЗрдирд░ рдЗрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЗрдореЗрдЬ рдореЗрдВ рдкреНрд░реА-рдХреНрд░рд┐рдПрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░рд╛ рдЗрдВрдбреЗрдХреНрд╕ рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдкрдиреА рдЫрд╡рд┐ рдХреЛ рдПрдХ рдирдП рд╕реЛрд▓рд░ рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХреВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рд╡реЙрд▓реНрдпреВрдо рдХреЛ /opt/solr/server/solr/products рдкрд░ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ root рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИ solr рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /opt/solr/server/solr рдореЗрдВ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡рд╣рд╛рдВ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред (рдирд╡реАрдирддрдо рдбреЙрдХрд░ рднрд╛рд╖рд╛ рдореЗрдВ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдореЗрд░реЗ рд╡реЙрд▓реНрдпреВрдо рдХреЛ "рдирд╛рдорд┐рдд рд╡реЙрд▓реНрдпреВрдо" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛рдиреА рдРрд╕реЗ рд╡реЙрд▓реНрдпреВрдо рдЬреЛ рд╣реЛрд╕реНрдЯ рдкрд░ рдПрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдкрд░ рдорд╛рдЙрдВрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдбреЙрдХрд░ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред)

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрд▓рд░ рдЗрдореЗрдЬ рдореЗрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХреА рд╣реИ рдФрд░ рдХреБрдЫ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИрдВ (рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдорджрдж рдХреЗ рд▓рд┐рдП рдЗрдореЗрдЬ рдореЗрдВ рдХреБрдЫ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рд╣реИрдВ) рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдмрд╣реБрдд рд╣реИрдХреА рд╣реИ рдФрд░ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдЗрдореЗрдЬ рдореЗрдВ рдХреЗрд╕-рдмрд╛рдп-рдХреЗрд╕ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдиреЗ рд╕реЗ _all images_ рдЕрдзрд┐рдХ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рд╣реЛ рдЬрд╛рдПрдЧреА, рдмрд┐рдирд╛ рдирдИ Dockerfile рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗред

@ctindel рд╢рд╛рдпрдж ... рдЕрдЧрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред

@ cpuguy83 рдпрд╣ рд╕рдЪ рд╣реИ, рдореИрдВ рд╕рд╣рдордд рд╣реВрдБред рд╡рд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдерд╛ред рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреЛ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

@ cpuguy83 рдпрд╣ рд╕рд┐рд░реНрдл рдирд╛рдорд┐рдд рдорд╛рддреНрд░рд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@kamechen рдмрд╕ рдХреНрдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

@ cpuguy83 рдЬрдм рдЖрдк рдХрд┐рд╕реА рдирд╛рдорд┐рдд рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрд░реЛрд╣рд┐рдд рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

@eciuca рдареАрдХ рд╣реИ .... рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдирд╛рдорд┐рдд рд╡реЙрд▓реНрдпреВрдо рдЦрд╛рд▓реА рдерд╛, рдпрд╛ рдирд╛рдорд┐рдд рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдбреЗрдЯрд╛ рдЙрд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рдХреНрдпрд╛ @andrewmichaelsmith рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдП рдЧрдП рдореБрджреНрджреЗ рдХрд╛ рдХрднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдерд╛?

рд╣рдо рдПрдХ рдРрд╕реЗ рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рд╕реЗ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ) рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░ рдХреА рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ NFS рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдбреЙрдХрд░ рдореЗрдВ /home/dev/git/project рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░реВрдЯ рд╕реНрдХреНрд╡реИрд╢ рд╕рдХреНрд╖рдо рд╣реИред

рдпрд╣ рд░реВрдЯ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ /home/dev/git/project рдЗрд╕рд▓рд┐рдП рдЬрдм рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдбреЙрдХ рдорд╛рдЙрдВрдЯрд┐рдВрдЧ/рд╣реЛрдо/рджреЗрд╡/рдЧрд┐рдЯ/рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рдПрдХ lstat рдЕрдиреБрдорддрд┐ рдЕрд╕реНрд╡реАрдХреГрдд рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ bindfs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред
рдЕрд╕реНрдерд╛рдпреА рд╕реНрдерд╛рди рдкрд░ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдХреЗ -v ... рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рджреВрд╕рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрдлрд╝реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

@piccaso , рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ @andrewmichaelsmith рдХреЛ рд╕рдордЭрд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрдЬрдмрд╛рди рдкрдХреНрд╖ рдкрд░ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рд░реВрдЯрдХреНрд╡рд╛рд╢ рдХреЗ рдХрд╛рд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдмрд╛рдЗрдВрдбрдлреНрд╕ рдХреЛ рдЕрднреА рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рд░ рдореЗрдЬрдмрд╛рди рдкрдХреНрд╖ рдкрд░ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣реЛрд╕реНрдЯ рдкрд░, рдЖрдк FUSE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЧреИрд░-рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ nfs рд╢реЗрдпрд░ рдХреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕реНрдерд╛рди рдкрд░ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдЖрдк рдЙрд╕ рдЕрд╕реНрдерд╛рдпреА рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ -v ... рдХреЗ рд╕рд╛рде docker рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдзреНрдпрд╛рди рд░рд╣реЗ рдХрд┐ рдмрд╛рдЗрдВрдбрдлреНрд╕ (рдХрдо рд╕реЗ рдХрдо FUSE рдХреЗ рд╕рд╛рде) рдореЗрдВ рдХрд╛рдлреА CPU рдУрд╡рд░рд╣реЗрдб рд╣реЛрддрд╛ рд╣реИред

рд╣рд╛рдВ, рдмрд╛рдЗрдВрдбрдлреНрд╕ рдмрд╣реБрдд рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИред рдпрд╣ CoW рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рднреА рдзреАрдорд╛ рд╣реИред
рдХрд░реНрдиреЗрд▓ рдореЗрдВ uid/gid рдХреЛ рдорд╛рдЙрдВрдЯ рдкрд░ рд╢рд┐рдлреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХрд░реНрдиреЗрд▓ рдореЗрдВ uid/gid рдХреЛ рдорд╛рдЙрдВрдЯ рдкрд░ рд╢рд┐рдлреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╣ рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рднреА рдорджрдж рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рдореИрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ uid/gid рдХреЛ рдлрд┐рд░ рд╕реЗ рдореИрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдбреЙрдХрд░ рдбреЗрдореЙрди рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдорд╛рдЙрдВрдЯ рдХреЛ рдЕрднреА рднреА рд╣реЛрд╕реНрдЯ рдкрд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЗрд░реА рд╕рдордЭ рдпрд╣ рд╣реИ рдХрд┐ рдХрд░реНрдиреЗрд▓ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЧреИрд░-рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдорд╛рдЙрдВрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рд╣реИ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЙрд╕реЗ рдЬрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдЙрдВрдЯ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИ)ред

@NikolausDemmel рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ред mount syscall рдХреЗ рд▓рд┐рдП CAP_SYS_ADMIN рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рдПрдХ рдЧреИрд░-рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреА рдЧрдИ рдХреЛрдИ рдЪреАрдЬрд╝ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХреБрдЫ рднреА рдЬреЛ рд╣рдо рдХрд┐рд╕реА рдХрдВрдЯреЗрдирд░ рдХреЗ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреЗрддреЗ рд╣реИрдВред

@ cpuguy83 рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд░реВрдЯ-рд╕реНрдХреНрд╡реИрд╢ рдХреЗ рд╕рд╛рде рдПрдирдПрдлрдПрд╕ рдорд╛рдЙрдВрдЯ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рд╡реЙрд▓реНрдпреВрдо рдмрдврд╝рд╛рдирд╛ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ (рдорд╛рдЙрдВрдЯ рд╕рд┐рд╕реНрдХрд▓ рдХреА рд╕реАрдорд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ), FUSE рдЬреИрд╕реЗ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП bindfs рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬреЗрдВред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдереЛрдбрд╝рд╛ рдУрдЯреА рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдУрдкреА рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд░рд╣рд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рддрд░рд╣ рд╕реЗ рд╕рд┐рдХреНрдХреЗ рдХрд╛ рджреВрд╕рд░рд╛ рдкрд╣рд▓реВ рд╣реИ рдФрд░ рдпрд╣ рдКрдкрд░ рдХреА рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдерд╛ред рдмрд╕ рдЙрд╕ рднреЗрдж рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдореИрдВ рдореИрдХ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдПрдХ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдлрд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╕реЗрдЯ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реВрдВ? рдореИрдВрдиреЗ рдкрд░рдорд┐рдЯ рдмрджрд▓рдиреЗ рдФрд░ рд╕рдореВрд╣ рдХреЛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрд▓реНрдкрд╛рдЗрди рдореЗрдВ рд╕реНрдЯрд╛рдл рд╕рдореВрд╣ рдирд╣реАрдВ рд╣реИред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рдпрд╣ рдЗрд╕реЗ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдХрдИ рджрд┐рдиреЛрдВ рд╕реЗ рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ред

@ рдирд┐рдХреЛрд▓реЙрд╕рдбреЗрдореЗрд▓ : рд╣рдо рдХреБрдЫ рдЬреИрд╡ рд╕реВрдЪрдирд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдирдПрдлрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реВрдЯ-рд╕реНрдХреНрд╡реИрд╢ рдХрд┐рдП рдЧрдП рдХрдИ рд╡рд┐рд╢рд╛рд▓ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИрдВред рд╣рдо рд╡рд┐рд╢рд╛рд▓ рдЕрдиреБрдХреНрд░рдо рдбреЗрдЯрд╛ (рдлрд╛рд╕реНрдЯрдХ) рдореЗрдВ рдкрдврд╝рддреЗ рд╣реИрдВ, рдФрд░ рдбреЗрдЯрд╛рд╕реНрдЯреЛрд░ рд╕реЗ рд╕рдВрд░реЗрдЦрд┐рдд рдЬреАрдиреЛрдорд┐рдХ рд░реАрдбреНрд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЫреЛрдЯреА рдмреАрдПрдПрдо рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рдо рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдЗрдореЗрдЬ рдХрд░рдХреЗ рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ USER рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИ:

  1. рдЕрдЧрд░ рд╣рдо рдХрд┐рд╕реА рдФрд░ рдХреА рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдХрд╕реНрдЯрдо рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛
  2. рд╣рдореЗрдВ рдпрд╛ рддреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рд╣рдо рдПрдХ рдПрдХрд▓ "рд╕реЗрд╡рд╛" рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо FS рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдХреНрдпрд╛ Bindfs рдпрд╛ userNS рд╣рдореЗрдВ рдЗрд╕рд╕реЗ рдирд┐рдЬрд╛рдд рджрд┐рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рд░рд╣рд╛ рд╣реВрдВ, рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИ:
рдбреЙрдХрд░ рдЫрд╡рд┐рдпрд╛рдВ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рдмрд┐рд▓реНрдб рдЯреВрд▓ рд░рдЦрддреА рд╣реИрдВ, рд╣рдо рд╕рд╛рдкреЗрдХреНрд╖ рдкрдереЛрдВ рдХреЗ рд╕рд╛рде рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛ рддреЛ docker run -v ./:/src/ image рдпрд╛ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдордХрдХреНрд╖ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдмрд┐рд▓реНрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред
рдХрднреА-рдХрднреА рд╣рдо рд╣реЛрд╕реНрдЯ рд╕реЗ рдЙрди рдирд┐рд░реНрдорд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдЕрднреА рднреА рдбреЙрдХрдЯрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИрдВ, рди рдХрд┐ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдбреЙрдХрд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдЪреАрдЬреЛрдВ рдХреЛ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдореИрдВ рдпрд╣рд╛рдБ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ?

@rlabrecque рд╣реЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрдИрдбреА рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рдореЗрд░реА рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВред рдореИрдВрдиреЗ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдореВрд▓ рд░реВрдк рд╕реЗ, HOST_UID=$(id -u) рдФрд░ HOST_GID=$(id -g) рдЪрд▓рд╛рдПрдБ рдФрд░ рдПрдХ Dockerfile рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ рдЬреЛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рджреЛ рдЖрджреЗрд╢реЛрдВ рдореЗрдВ $HOST_GID рдФрд░ $HOST_UID рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ:

RUN groupadd -g $HOST_GID mygroup
RUN useradd -l -u $HOST_UID -g mygroup myuser

рдЕрдкрдиреА рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рднрд░реЗ рд╣реБрдП рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

@haridsv рдореИрдВрдиреЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ: рдорд╛рдЙрдВрдЯ рдХреЗ рдЕрдВрджрд░ рдХреА рдлрд╛рдЗрд▓реЗрдВ рдЕрднреА рднреА рд░реВрдЯ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИрдВред

рдореИрдВрдиреЗ рдЗрд╕реЗ inotifywait рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ред рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдкрдиреА рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рдЕрдВрджрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП inotify-tools рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрдХ рдкреЛрд░реНрдЯреЗрдмрд▓ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рд┐рдП рдерд╛ред

RUN export DEBIAN_FRONTEND=noninteractive \
  && apt -y update \
  && apt -y install inotify-tools \
  && inotifywait -m -r /mount -e create --format '%w%f' \
    | while read f; do chown $(stat -c '%u' /mount):$(stat -c '%g' /mount) $f; done

рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ / рдорд╛рдЙрдВрдЯ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рдХрд┐рд╕реА рднреА рдирдИ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП inotifywait рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЬрдм рдпрд╣ рдПрдХ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдЙрд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдореЗрдВ / рдорд╛рдЙрдВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдореЗрдЬрдмрд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдорд╛рд▓рд┐рдХ рдХреМрди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░, рд╣реЛрд╕реНрдЯ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЙрд╕реА рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдореИрдВрдиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдирдИ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рд╣реИ, рддрд╛рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рд╣рд░ рдмрд╛рд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рдЙрдВрдЯ рд╣реЛрдиреЗ рдкрд░ chown -R рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рд╕рднреА рдХреЛ рдЙрдбрд╝рд╛рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рдпрджрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ рдФрд░ рдЖрдк рдПрдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ inotify-hookable рджреЗрдЦреЗрдВ ред

рдЪреЗрддрд╛рд╡рдиреА: рдЪреВрдВрдХрд┐ рдкреНрд░рддрд┐ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдЗрдиреЛрдЯрд┐рдлрд╛рдИ рдШрдбрд╝реА рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рдПрдЧреА, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдкреНрд░рддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдиреЛрдЯрд┐рдлрд╛рдИ рдШрдбрд╝рд┐рдпреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рдорд╛рддреНрд░рд╛ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдзрд┐рдХрддрдо 8192 рд╣реИ; рдЗрд╕реЗ /proc/sys/fs/inotify/max_user_watches рдкрд░ рд▓рд┐рдЦрдХрд░ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╣рдордиреЗ рдПрдХ рд╣реЛрд╕реНрдЯ-рд╕рд╛рдЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ chown рд╡реЙрд▓реНрдпреВрдо рдмреЗрдВрдЧ рдорд╛рдЙрдВрдЯреЗрдб рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЫрд╡рд┐ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ:

#!/bin/bash
set -e

DOCKER_IMAGE=<docker_image>
COMMAND=<internal_command>

DOCKER_USER=docker-user
DOCKER_GROUP=docker-group

HOME_DIR=/work
WORK_DIR="$HOME_DIR/$(basename $PWD)"

PARAMS="$PARAMS -it --rm"
PARAMS="$PARAMS -v $PWD:$WORK_DIR"
PARAMS="$PARAMS -w $WORK_DIR"

USER_ID=$(id -u)
GROUP_ID=$(id -g)

run_docker()
{
  echo \
    groupadd -f -g $GROUP_ID $DOCKER_GROUP '&&' \
    useradd -u $USER_ID -g $DOCKER_GROUP $DOCKER_USER '&&' \
    chown $DOCKER_USER:$DOCKER_GROUP $WORK_DIR '&&' \
    sudo -u $DOCKER_USER HOME=$HOME_DIR $COMMAND
}

if [ -z "$DOCKER_HOST" ]; then
    docker run $PARAMS $DOCKER_IMAGE "$(run_docker) $*"
else
    docker run $PARAMS $DOCKER_IMAGE $COMMAND "$*"
fi

рдореЗрдЬрдмрд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдПрд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдЗрд╕ рддрд░рд╣ рдЖрдк рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рдирдИ рдмрдирд╛рдИ рдЧрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рд╣реЛрд╕реНрдЯ рд╕реНрддрд░ рдкрд░ ACL рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЖрдк рдХрдВрдЯреЗрдирд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рднреА рд╣реЛрдЧрд╛ред

@thaJeztah @justincormack @cpuguy83

@kamechen рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд╛рдорд┐рдд рдЦрдВрдб "рдмрд╕ рдХрд╛рдо" рдХрд░рддреЗ рд╣реИрдВред рдирд╛рдорд┐рдд рд╡реЙрд▓реНрдпреВрдо рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореМрдЬреВрджрд╛ рдЕрдиреБрдорддрд┐рдпрд╛рдВ "рдмреИрдХрдлрд╝рд╛рдпрд░" рдХрд░рддреА рд╣реИрдВ рдФрд░ рд╡реЙрд▓реНрдпреВрдо рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓ рджреЗрддреА рд╣реИрдВ, рдФрд░ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдЗрд╕реЗ рдПрдХ рдмрдЧ (#28041) рдорд╛рдирддрд╛ рд╣реВрдВред

@thegecko , рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдЖрдЧреЗ рдХреНрдпреЛрдВ рди рд▓реЗрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдХреЗ рднреАрддрд░ рдХреНрдпреЛрдВ рди рдмрдирд╛рдПрдВ?

рдпрд╣рд╛рдВ рдореЗрд░рд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдпрд╣ рдорд╛рдЙрдВрдЯреЗрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдорд╛рд▓рд┐рдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ, рдПрдХ рд╣реА рдпреВрдЖрдИрдбреА рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рддрд╣рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рддрд╛ рд╣реИ:

рдбреЙрдХрд░рдлрд╛рдЗрд▓

FROM ubuntu

RUN mkdir /project
VOLUME /project

ENV GOSU_VERSION 1.9
RUN set -x \
    && apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lists/* \
    && dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')" \
    && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \
    && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \
    && export GNUPGHOME="$(mktemp -d)" \
    && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
    && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \
    && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \
    && chmod +x /usr/local/bin/gosu \
    && gosu nobody true \
    && apt-get purge -y --auto-remove ca-certificates wget

ADD entrypoint.sh /

ENTRYPOINT ["/entrypoint.sh"]

CMD /project/run.sh

рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ

#!/bin/sh

USER=dockeruser
VOLUME=/project
UID="$(stat -c '%u' $VOLUME)" && \
useradd --uid "$UID" "$USER" && \
ls -l "$VOLUME" && \
exec gosu "$USER" "$@"

рд░рди.рд╢реЛ

#!/bin/sh

echo "Running as \"$(id -nu)\""

рдЬрдм рдореИрдВ sudo docker build -t test . && sudo docker run --rm -v /tmp/docker-test/:/project test:latest рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИ:

total 12
-rw-r--r-- 1 dockeruser dockeruser 990 Dec 12 10:55 Dockerfile
-rwxr-xr-x 1 dockeruser dockeruser 156 Dec 12 11:03 entrypoint.sh
-rwxr-xr-x 1 dockeruser dockeruser  31 Dec 12 11:01 run.sh
Running as "dockeruser"

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ? рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдЖрдкрдХреЗ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рдорд╛рди gid рдФрд░ uid рд╣реИ, рд░реВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдХрдард┐рди рдмрдирд╛ рджреЗрддрд╛ рд╣реИред рдбреЙрдХрд░ рдХреА рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдВ рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рд░реВрдЯ рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдЪрд▓рд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореЗрдЬрдмрд╛рди рдкрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдФрд░ рдпреВрдЖрдИрдбреА рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╣рд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╕рд╛рдиреА рд╕реЗ рдбреЙрдХрд░ рдХреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рдмрдирд╛ рджреЗрддрд╛ рд╣реИ?

@AndreasBackx рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдпрд╣ рдорд╛рдирдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдореЗрдВ рдЖрдкрдХреЗ рдмрдврд╝рддреЗ рдкрде рдкрд░ рдбреЗрдЯрд╛ рд╣реИред
рдмрд╛рдЗрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрд╕реНрдЯ рдкрде рдХреЗ UID/GID рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓/рдбреАрдЖрдИрдЖрд░ рдХреЗ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЛ рдореИрдк рдпрд╛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдИ рдХрд░реНрдиреЗрд▓ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИ) рдореВрд▓ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ FUSE рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рдзреАрдореА рд╣реИред

рд▓реЗрдХрд┐рди рдЖрдЗрдП рдПрдХ рдкрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрджрдо рдкреАрдЫреЗ рд╣рдЯреЗрдВред
рдбреЙрдХрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдВ рдЪреАрдЬреЛрдВ рдХреЛ рдФрд░ рдХрдард┐рди рдирд╣реАрдВ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред
рдХрдВрдЯреЗрдирд░ рдореЗрдВ UID/GID рд╣реЛрд╕реНрдЯ рдкрд░ UID/GID рдХреЗ рд╕рдорд╛рди рд╣реЛрддрд╛ рд╣реИ.. рднрд▓реЗ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдХреЗ рдирд╛рдо рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реЛрдВ, UID/GID рдпрд╣рд╛рдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдЬреИрд╕реЗ рдбреЙрдХрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдЖрдкрдХреЛ рдПрдХ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рдореНрдореЗрд▓рди рд╕реЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдпрд╛рдж рд░рдЦреЗрдВ, рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ uid/gid рдХреЛ /etc/passwd рдпрд╛ /etc/group рдореЗрдВ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

@ cpuguy83 рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореИрдВ рдЖрдЬ рдПрдХ node рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рддреЗ рд╕рдордп рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдореЗрд░рд╛ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпреВрдЖрдИрдбреА 1000 рд╣реИ рдФрд░ node рдЫрд╡рд┐ рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддреА рд╣реИ , рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рднреА рд╣реИ

рдореИрдВ рдиреЛрдб рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЖрдЧреЗ рдмрдврд╝реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдереЛрдбрд╝рд╛ рдЧрдВрджрд╛ рд▓рдЧрддрд╛ рд╣реИред "рдЪрд▓реЛ рдПрдХ рдкрд▓ рдХреЗ рд▓рд┐рдП рдкреАрдЫреЗ рдЪрд▓рддреЗ рд╣реИрдВ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдкрдиреЗ @ cpuguy83 рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдбреБрдкреНрд▓рд┐рдХреЗрдЯ IDS рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП usermod -o рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛, рдПрдХ рд╡реИрдз рд╡рд┐рдХрд▓реНрдк рд▓рдЧрддрд╛ рд╣реИред

RUN usermod -o -u 1000 <user>

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рдЙрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рддрдп рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

docker run -it -u 1000:4211 -v /home/web/production/nginx_socks:/app/socks -e SOCKS_PATH=/app/socks --name time_master  time_master

рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧрд┐рди рдХрд░реЗрдВ:

drwxr-xr-x    8 geodocr_ geodocr       4096 Jun  4 18:51 .
drwxr-xr-x   57 root     root          4096 Jun  6 21:17 ..
-rwxrwx---    1 geodocr_ geodocr        140 Jun  4 18:49 .env
-rwxrwx--x    1 geodocr_ geodocr         78 Jun  4 18:49 entrypoint.sh
drwxrwxr-x    2 geodocr_ geodocr       4096 Jun  4 18:51 handlers
-rwxrwx---    1 geodocr_ geodocr        242 Jun  4 18:49 requirements.txt
-rwxrwx---    1 geodocr_ geodocr       1270 Jun  4 18:49 server.py
drwxr-xr-x    2 root     root          4096 Jun  6 21:00 socks
drwxr-xr-x   10 geodocr_ geodocr       4096 Jun  4 18:51 utils

рдбреЙрдХрдлрд╛рдЗрд▓ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрд░рддрд╛ рд╣реИ

RUN adduser  -D -u 1000 $USER 
#
RUN addgroup $GROUP -g 4211 
#
RUN addgroup $USER $GROUP 
RUN mkdir /app/socks
USER $USER  
#

рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡реЙрд▓реНрдпреВрдо рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдм рди рддреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рди рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрдпрдирд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред рдореИрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рд░рди рдХрдорд╛рдВрдб рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд░реЛрд╣рд┐рдд рд╣реИ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реИ, рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред

рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд░реВрдЯ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдврд╝рддреЗ рд░рд╣рдирд╛ рдПрдХ рдмрдЧ рд▓рдЧрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдмрд╕ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛, рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдирд╛, рдлрд┐рд░ рдЗрд╕реЗ рдмрдврд╝рд╛рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рддреЛ рдЕрднреА рднреА рдПрдХ рдмрдЧред

@рдбрд┐рд╕рд░реНрдЯрд┐рдХреНрдпреВрд▓реЗрдЯ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣реЛрд╕реНрдЯ рдкрде рд░реВрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рд╣реЛ, рддреЛ рдЖрдкрдХреЛ рд╣реЛрд╕реНрдЯ рдкрде рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдЕрдкрдиреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрдЧ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рд╣рдореЗрд╢рд╛ рд░реВрдЯ рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯ рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдЬрд┐рд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЖрд░реЛрд╣рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдорд╛рд▓рд┐рдХ рд╣реЛред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдХрд╛рдо рдЫрд╡рд┐ рдХреА USER рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред

@jalaziz рдЬрдм рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрд╕реНрдЯ рдкрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдЙрд╕реЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдореБрдЦреНрдп рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдореЗрдЬрдмрд╛рди рдкрд░ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕рд╣рд┐рдд) рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

@taybin рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдпреВрдЖрдИрдбреА: рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рддрд╛ рд╣реИ рдпрд╛ рдпрджрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдпрд╣ рдЙрд╕реА рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде рд╣реЛрд╕реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдПрдЧрд╛: рдЬреАрдЖрдИрдбреА тАЛтАЛрдФрд░ рдорд╛рд╕реНрдХред

рдиреЛрдЯ: рдпрджрд┐ рд╣реЛрд╕реНрдЯ рдкрд░ рдлрд╝реЛрд▓реНрдбрд░ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдореБрдЭреЗ рдбреЙрдХрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЕрдиреБрдорддрд┐ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИред

@taybin рдмрд┐рд▓реНрдХреБрд▓ @frol рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдХреЗрд╡рд▓ рдпреВрдЖрдИрдбреА: рдЬреАрдЖрдИрдбреА тАЛтАЛрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╡рд░реНрддрдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдореЗрд░реА рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрд╕ рдпреВрдЖрдИрдбреА рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдХрдВрдЯреЗрдирд░ рдЙрд╕ рдпреВрдЖрдИрдбреА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореЗрдЬрдмрд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдкрд░ рд▓рд┐рдЦрдиреЗ рдФрд░ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдЬреАрдЖрдИрдбреАред рдЕрдЧрд░ рдХреЛрдИ рдЕрдкрд╕реНрдЯреНрд░реАрдо рд▓реЗрдЦрдХ рдХрднреА рднреА рдпреВрдЖрдИрдбреА рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреАред рдпрд╣ рд╕рдм рдмрд╣реБрдд рдирд╛рдЬреБрдХ рд▓рдЧрддрд╛ рд╣реИред

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рдерд╛ рдХрд┐ рдХрд┐рд╕ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ (рдореИрдВ рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛)ред

рддреЛ, рдореИрдВрдиреЗ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА:

docker run -it -u $(id -u $USER):$(id -g $USER) -v $(pwd):/src -w /src node:latest npm run build

рдЬреЛ ./built-app рдирд╛рдо рдХрд╛ рдлреЛрд▓реНрдбрд░ рдмрдирд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдорд╛рд▓рд┐рдХ рдЕрднреА рднреА рд╕рдЦреНрдд рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде root рдерд╛ред

рдореЗрд░рд╛ рдХрд╛рдордХрд╛рдЬ рдпрд╣ рдерд╛:

docker run -it -v $(pwd):/src -w /src node:latest /bin/bash -c "npm run build; chmod -R 777 ./built-app"

рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА root рдорд╛рд▓рд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд░рд╛рдо рд╕реЗ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╣реИрдВред рддрдм рдореЗрд░рд╛ рд╣реЛрд╕реНрдЯ рдУрдПрд╕ (рдЙрдмрдВрдЯреВ) рд╕реВрдбреЛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ ./built-app рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

@ rms1000watt рдХреНрдпрд╛ рдЖрдкрдиреЗ рдирд┐рдореНрди рдЖрджреЗрд╢ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ?

docker run -it -v $(pwd):/src -w /src node:latest /bin/bash -c "npm run build; chown -R ${UID}:${GID} ./built-app"

рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдореЗрдЬрдмрд╛рди рдХреЗ UID рдФрд░ GID рд╕реАрдзреЗ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред chmod -R 777 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдЦрд░рд╛рдм рдЕрднреНрдпрд╛рд╕ рд╣реИред

@рд╕рд╛рджрд╛ рдУрд╣! рдЕрдЪреНрдЫрд╛ рдирд┐рд░реНрдгрдпред рдореИрдВ рдЗрд╕реЗ рдПрдХ рд╢реЙрдЯ рджреВрдВрдЧрд╛ред

рдореИрдВ рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреВрд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ _UID рдФрд░ GID рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ_
https://medium.com/@mccode/ рд╕рдордЭрдирд╛ -how-uid-and-gid-work-in-docker-containers-c37a01d01cf

рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдПрдХрд▓ рдХрд░реНрдиреЗрд▓ рдФрд░ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдХрд╛ рдПрдХ рд╕рд╛рдЭрд╛ рдкреВрд▓ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдХреА рдЬрдбрд╝ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░ рдХреА рдЬрдбрд╝ рд╣реИ, рд╡реЗ рджреЛрдиреЛрдВ рдПрдХ рд╣реА рдпреВрдЖрдИрдбреА рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ


рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдкрд╛рдЪреЗ рд╕рд░реНрд╡рд░ рд╣реИ рдФрд░ рдореИрдВ рдореЗрдЬрдмрд╛рди рдкрд░ рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╡реЗрдмрдПрдк рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рд╡рд┐рдХрд╛рд╕, рдЙрдиреНрд╣реЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрджрд▓реЗрдВ) рдФрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦреЗрдВред рдХрднреА-рдХрднреА рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдирдИ рдлрд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦрддреА рд╣реИ рдФрд░ рдпрджрд┐ рдореИрдВ рдЙрди рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ рдЬреЛ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдлрд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рдХреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдореЗрд░рд╛ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдм рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╡рд╣ рдореЗрд░реЗ dockerfile рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдПрдХ рдХрд╕реНрдЯрдо рдЫрд╡рд┐ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:

RUN adduser -D -u 1002 dianjuar -G www-data
USER dianjuar

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ docker-compose.yml рдкреЛрд░реНрдЯреЗрдмрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рднреА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рд▓рдЧрд╛рдП рдЧрдП рд╣реИрдВред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА/рдЧреНрд░реБрдкрд┐рдб рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреЛрд░реНрдЯреЗрдмрд▓ рддрд░реАрдХреЗ рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рдкреИрдЯрд░реНрди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред https://github.com/Graham42/mapped-uid-docker

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВрдиреЗ рдкреАрдЫрд╛ рдХрд┐рдпрд╛:

1- рд╣реЛрд╕реНрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдВ
2- рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдмрджрд▓реЗрдВ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдФрд░ рдЧреНрд░реБрдкрд┐рдб = 1000 . рд╣реИ
3- docker-compose up . рдЪрд▓рд╛рдПрдВ
рдХрдВрдЯреЗрдирд░ рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред

рдиреЛрдЯ: рдореИрдВ рд╣реЛрд╕реНрдЯ рд╕рд░реНрд╡рд░ рдкрд░ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВ рдПрдХ рдЧреИрд░-рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ uid = 1000 рд╣реИ рддреЛ рдореИрдВ рдЕрдиреБрдорддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд┐рдП рдмрд┐рдирд╛ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рднреА рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рд╣реИ?

рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛:

  • рдбреЙрдХрд░ рдЭреБрдВрдб, рдЗрд╕рд▓рд┐рдП CAPP_ADD рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ
  • рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рджреЛ рдХрдВрдЯреЗрдирд░ рд╕рдорд╛рди рд╡реЙрд▓реНрдпреВрдо рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рджреЛрдиреЛрдВ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдбреЗрдЯрд╛рдмреЗрд╕
  • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ www-рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛рдиреА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдбрд╛рдЙрдирд▓реЛрдбрд░ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ)
  • рджреВрд╕рд░рд╛ рднреА www-рдбреЗрдЯрд╛ (рдпрд╛рдиреА nginx) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
  • рд▓реЗрдХрд┐рди рдПрдХ рддрд┐рд╣рд╛рдИ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ openldap (рдпрд╛рдиреА openldap рд╕рд░реНрд╡рд░) рд╕реЗ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
  • рдЗрддрдирд╛ рдЖрд╕рд╛рди рдЪрд╛рдореЛрдж рднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдмрд╕рд░реНрд╡рд░ рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд▓реЗрдЯреНрд╕ рдПрдирд╕реАрдЖрд░рдкреАрдЯреА рдФрд░ рдЙрд╕реА рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдПрдХ рдУрдкрдирдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореИрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдРрд╕реЗ рдЕрдиреНрдп рд╕рдВрдпреЛрдЬрди рд╣реИрдВ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред

рдХреБрдЫ рдкрддрд╛ рд╣реИ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рд╣реИ?

рдбреЙрдХрд░ рдХреЗ рдмрд┐рдирд╛ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░реЗрдВрдЧреЗ? рдпрд╣ рдПрдХ рдбреЙрдХрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ
рдореБрд╕реАрдмрддред

рд╢реБрдХреНрд░, 12 рдЬрдирд╡рд░реА, 2018 рдХреЛ рд╕реБрдмрд╣ 10:24 рдмрдЬреЗ, рдорд╛рд░реНрдХ рд╡реИрдХрд░рд▓рд┐рди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛:

  • рдбреЙрдХрд░ рдЭреБрдВрдб, рдЗрд╕рд▓рд┐рдП CAPP_ADD рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдирд╣реАрдВ рд╣реИ
    рдЙрдкрд╛рдп
  • рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рджреЛ рдХрдВрдЯреЗрдирд░ рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП
    рджреЛрдиреЛрдВ рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдбреЗрдЯрд╛рдмреЗрд╕
  • рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░ www-data рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛рдиреА рдЖрдЗрдП рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░реЗрдВ
    рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдбрд╛рдЙрдирд▓реЛрдбрд░)
  • рджреВрд╕рд░рд╛ рднреА www-рдбреЗрдЯрд╛ (рдпрд╛рдиреА nginx) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
  • рд▓реЗрдХрд┐рди рдПрдХ рддрд┐рд╣рд╛рдИ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ openldap (рдпрд╛рдиреА openldap .) рд╕реЗ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ
    рд╕рд░реНрд╡рд░)
  • рдЗрддрдирд╛ рдЖрд╕рд╛рди рдЪрд╛рдореЛрдж рднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╡реЗрдмрд╕рд░реНрд╡рд░ рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ
рдЖрдЗрдП рдЙрд╕реА рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рдПрдирд╕реАрдЖрд░рдкреАрдЯреА рдФрд░ рдПрдХ рдУрдкрдирдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░ рд╕реЗ, рдЬрд╣рд╛рдВ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдРрд╕реЗ рдЕрдиреНрдп рд╕рдВрдпреЛрдЬрди рд╣реИрдВ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВред

рдХреБрдЫ рдкрддрд╛ рд╣реИ рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рд╣реИ?

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/2259#issuecomment-357267193 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAwxZgyvdCwGGVkUqCxK9nDFw1zxSKjUks5tJ3kXgaJpZM4BGxv9
.

--

  • рдмреНрд░рд╛рдпрди рдЧреЛрдлреН

рдЭреБрдВрдб рдХреЗ рдмрд┐рдирд╛ рднреА, рдореИрдВ рдЗрд╕реЗ рдбреЙрдХрдЯрд░ рдореЗрдВ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рдерд╛: рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯред

рдпрд╣ рдПрдХ рдбреЙрдХрдЯрд░-рдЭреБрдВрдб рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ CAP_ADD рдирд╣реАрдВ рд╣реИред

@mwaeckerlin рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреЗ рд▓рд┐рдП рдореИрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рд▓реЗрдХрд┐рди рдЭреБрдВрдб рдХреЗ рд╕рд╛рде рднреА рдЖрдк рдорд╛рдЙрдВрдЯ рдХреЛ рдмрд╛рдВрдз рд╕рдХрддреЗ рд╣реИрдВ .... CAP_ADD рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

CAP_ADD рдХреЗ рдмрд┐рдирд╛, рдбреЙрдХрд░ рдХреЗ рдЕрдВрджрд░ рдорд╛рдЙрдВрдЯ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдХрд░, рдореБрдЭреЗ рдЕрднреА рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рджреЛрдиреЛрдВ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ Dockerfile рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рдЕрдиреНрдп рддреГрддреАрдп-рдкрдХреНрд╖ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛:

  • рд╕рднреА Dockerfiles рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ gven рд╕рд╛рдорд╛рдиреНрдп рд╕рдореВрд╣ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдореВрд╣ рдмрдирд╛рдПрдВ
  • рд╕рдореВрд╣ рдХреЛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдВ

@mwaeckerlin рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдХреЛ docker рд╡рд┐рдХрд▓реНрдк -v рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдКрдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд┐рдЪрд╛рд░ рдерд╛: рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ, рдлрд┐рд░ рд▓рдХреНрд╖реНрдп рдкрд░ рдЪреЛрджрдирд╛ рд╕реНрд░реЛрдд рдХреЛ рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

@mwaeckerlin рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╣рд░ рдЬрдЧрд╣ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрдбрд╝ рд╣реИред
рдПрдХ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯреЗрдб рдлрд╝рд╛рдЗрд▓/рдбреАрдЖрдИрдЖрд░ рдХреЛ рдЪрд╛рдЙрдирд┐рдВрдЧ/рдЪрдореЛрдбрд┐рдВрдЧ рджреЛрдиреЛрдВ рдЬрдЧрд╣реЛрдВ рдХреЛ рдмрджрд▓рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЖрдк --mount type=bind,source=/foo,target=/bar . рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рд╣рд╛рдВ, рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕реЗ рдбреЙрдХрд░ рдХреЗ рдмрд╛рд╣рд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдкрд░реЛрдХреНрдд рд╡рд┐рдЪрд╛рд░ рдЧрд▓рдд рд╣реИред

рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛, рдЬреЛ рдореИрдВрдиреЗ рдЕрдХреНрд╕рд░ рдбреЙрдХрдЯрд░ рдореЗрдВ рджреЗрдЦреА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╕рдореВрд╣ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдПрдХ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдпрд╛ рд╕рдореВрд╣рдирд╛рдо рджреЛрдиреЛрдВ рдореЗрдВ рдореМрдЬреВрдж рд╣реЛ, рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрдХреНрд╕рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрдИрдбреА рд╣реЛрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛: --mount type=bind,source=/foo,target=/bar,user=me,group=mine

рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреЛрдИ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдпрд╛ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдВ: рдбреЙрдХрд░ рдЭреБрдВрдб рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рд╡реЙрд▓реНрдпреВрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛?

  1. рд╡реЙрд▓реНрдпреВрдо рд╕рд╛рдЭрд╛ рди рдХрд░реЗрдВ
  2. рдЕрдкрдирд╛ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрд╕рд┐рдВрдХ рдХрд░реЗрдВ
  3. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЕрдиреБрдореЗрдп рд╣реИрдВ
  4. рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ uid/gid рд╕реЗ рдмрд╛рдЗрдВрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдкрд░ рдлрд╝реНрдпреВрдЬрд╝ рдорд╛рдЙрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рдХреНрдпрд╛ рдЖрдк рдмрд┐рдВрджреБ 4 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рд╢рд╛рдпрдж рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг?

рд╢реБрдХреНрд░, 12 рдЬрдирд╡рд░реА 2018 рдХреЛ, 17:27 рдмреНрд░рд╛рдпрди рдЧреЛрдл, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

>

  1. рд╡реЙрд▓реНрдпреВрдо рд╕рд╛рдЭрд╛ рди рдХрд░реЗрдВ
  2. рдЕрдкрдирд╛ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрд╕рд┐рдВрдХ рдХрд░реЗрдВ
  3. рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдк рд╕реЗ рдЕрдиреБрдореЗрдп рд╣реИрдВ
  4. рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ uid/gid рд╕реЗ рдмрд╛рдЗрдВрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдкрд░ рдлрд╝реНрдпреВрдЬрд╝ рдорд╛рдЙрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
    рдкрд╛рддреНрд░

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/2259#issuecomment-357282169 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AHSjvgjb0BFbJhZ1VWM-pLGfa7tRBvDNks5tJ4VPgaJpZM4BGxv9
.

https://bindfs.org/ рдЬреИрд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ - рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдбреЙрдХрд░ рд╡реЙрд▓реНрдпреВрдо рдкреНрд▓рдЧрдЗрди рднреА рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ (https://github.com/lebokus/docker-volume-bindfs рдкрд╣рд▓рд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ рдЬреЛ рдореБрдЭреЗ Google рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд┐рд▓рд╛ рд╣реИ) .

рдореИрдВ рд╡реЙрд▓реНрдпреВрдо рдмрдврд╝рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддрд╛, рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ?

рдПрдХ рдЙрдкрд╛рдп:
рдЗрд╕реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛
RUN echo "if [ -e container_volume_path ]; then sudo chown user_name container_volume_path; fi" >> /home/user_name/.bashrc
рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХрдВрдЯреЗрдирд░_рд╡реЙрд▓реНрдпреВрдо_рдкрде рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред

рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЛ рдореИрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдбреЛрдХрд░ рд╡реЙрд▓реНрдпреВрдо рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╣рд╕реНрдпрдордп рд▓рд╛рдкрддрд╛ рддрддреНрд╡ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдЖрд╢реНрдЪрд░реНрдп рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕реБрдЭрд╛рдП рдЧрдП рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдФрд░ рдХрдард┐рди рд╣реИ, рдЬрдмрдХрд┐ рдХреЛрдИ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд▓рд╛рдн рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

рдкреБрдирдГ:
1) рд╡реЙрд▓реНрдпреВрдо рд╕рд╛рдЭрд╛ рди рдХрд░реЗрдВ

  • рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдореИрдкрд┐рдВрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рд░рд╣реАрди рд╣реИ
    2) рдЕрдкрдиреЗ рдпреВрдЖрдИрдбреА / рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЛ рд╕рд┐рдВрдХ рдХрд░реЗрдВ
  • рдпрд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЪрд╛рдЙрди рдХреЛ рдордЬрдмреВрд░ рдХрд┐рдП рдмрд┐рдирд╛
    3) рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ
  • рдпрд╣ рдлрд┐рд░ рд╕реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдореИрдкрд┐рдВрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
    4) рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ uid/gid рдХреЛ рдмрд╛рдЗрдВрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрд╕реНрдЯ рдкрд░ рдлрд╝реНрдпреВрдЬрд╝ рдорд╛рдЙрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  • рдЕрдЪреНрдЫреА рд╕рд▓рд╛рд╣, рд╡рд╣ рднреА рдпрд╛рдХ-рд╢реЗрд╡рд┐рдВрдЧ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред

@colbygk

рдЬрдм рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдорд╛рдирдЪрд┐рддреНрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, "рд╕рд░рд▓ рдорд╛рдирдЪрд┐рддреНрд░рдг" рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ vfs рдкрд░рдд рдкрд░ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред
рдХреБрдЫ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдореИрдк рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрдлреНрд╕ рдпрд╛ рдПрдирдПрдлрдПрд╕), рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рд╛рдЭрд╛ рдорд╛рддреНрд░рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рд╕рд╛рдЭрд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░

  • рдХрдВрдЯреЗрдирд░ 1 рдПрдХ рд░рд┐рд╡рд░реНрд╕-рдкреНрд░реЙрдХреНрд╕реА рд╣реИ рдЬреЛ рд╕рднреА рд╣реЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рд▓реЗрдЯреНрд╕ рдПрдирдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИ
  • рдХрдВрдЯреЗрдирд░ 2 рдПрдХ рдПрд▓рдбреАрдПрдкреА рд╕рд░реНрд╡рд░ рд╣реИ рдЬрд┐рд╕реЗ рдЗрд╕рдХреЗ рдбреЛрдореЗрди рдХрд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рднреА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рд╕рдорд╛рдзрд╛рди: рдЫрд╡рд┐ рдХрдВрдЯреЗрдирд░ 2 рдХрдВрдЯреЗрдирд░ 1 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рд╣реА рдЫрд╡рд┐ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рдЖрдзрд╛рд░ рдЫрд╡рд┐ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдореВрд╣ рдмрдирд╛рддреА рд╣реИ, рдлрд┐рд░ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рдорд╛рди рд╕рдореВрд╣ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИ

рд╕рд╛рдорд╛рдиреНрдп рдЖрдзрд╛рд░ рдХрд╛ Dockerfile :

RUN groupadd -g 500 ssl-cert

letsencrypt-config.sh рдЪрд▓реЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдЫрд╡рд┐ рдореЗрдВ:

chgrp -R ssl-cert /etc/letsencrypt

Dockerfile рдХрд╛ mwaeckerlin/reverse-proxy :

RUN usermod -a -G ssl-cert www-data

Dockerfile рдХрд╛ mwaeckerlin/openldap :

RUN usermod -a -G ssl-cert openldap

рдмрд╕, рдЗрддрдирд╛ рд╣реАред

рдпрд╣ рд╕рдм рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдХреЗ рджреМрд░рд╛рди рдпрд╛ рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдкреВрд░реЗ рдбреЙрдХрдЯрд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпреВрдЬрд░рдкрд░рдореНрд╕ рдХреЛ рдХреИрд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рдПред

рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдкрд┐рдЫрд▓реЗ 3 рджрд┐рдиреЛрдВ рд╕реЗ рд╡реЗрдм рдкрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рдПрдХ рдмрдбрд╝реА рдмрд╛рдд рдпрд╛рдж рдЖ рд░рд╣реА рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдпрд╛ рдЕрдиреНрдпрдерд╛ рд▓рд┐рдВрдХ рдХреА рдЧрдИ рдЕрдиреБрд╢рдВрд╕рд╛рдПрдВ рдФрд░ (рд╕рдорд╛рдзрд╛рди) рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреАред

рдХрдВрдЯреЗрдирд░ рдкрд░ рд▓рдЧреЗ рд╕рднреА рд╡реЙрд▓реНрдпреВрдо рд╣рдореЗрд╢рд╛ рд░реВрдЯ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВ: рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд░реВрдЯ ред рднрд▓реЗ рд╣реА рдореИрдВ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЗрдЬрдмрд╛рди рдкрд░ рдорд╛рд▓рд┐рдХ рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдмрджрд▓ рджреВрдВ рдпрд╛ рдирд╣реАрдВред

рдореИрдВ рдЕрдкрдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ - рдХреБрдЫ рдмрд╣реБрдд рд╣реА рдмреБрдирд┐рдпрд╛рджреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдмреЗрд╡рдХреВрдл рд╣реЛрдиреЗ рдХреА рднрд╛рд╡рдирд╛ рдХреЛ рдвреАрд▓рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

  • рд╡рд┐рдВрдбреЛрдЬ 10 рдкреНрд░реЛ 1803 (17134.112)
  • рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ 18.03.1-рд╕реАрдИ-рд╡рд┐рди65 (17513)
  • рд╣рд╛рдЗрдкрд░-рд╡реА рдФрд░ рдЙрдмрдВрдЯреВ рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рдбрдмреНрд▓реВрдПрд╕рдПрд▓

рдПрдХ рд╕рд╛рджрд╛ apache2 рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрд╣рд╛рдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд░реВрдЯ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд░реЛрд╣рд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рддреБрд░рдВрдд рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп PHP рд╕реНрд░реЛрдд рдХреЛрдб рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВред

root<strong i="16">@win10</strong>:# docker run --rm -v /c/Users/<MyUser>/Development/www-data:/var/www/html -it httpd:2.4 /bin/bash

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░, рдбрд╛рдпрд░реЗрдХреНрдЯреЙрдп _/var/www/html_ рд╣рдореЗрд╢рд╛ _ root:root_ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ PHP рдРрдк рдХрднреА рднреА рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдлреЙрдкреЗрди рдпрд╛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ ..
рдЕрднреА рддрдХ рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛... :(

рдПрдХ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рдХрд┐ @elquimista рдиреЗ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ

рд╣рдо рднрд╛рдЧреНрдп рдХреЗ рд╕рд╛рде https://github.com/boxboat/fixuid#specify -paths-and-behavior-across-devices рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣реЛрд╕реНрдЯ рдкрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдЫрд╡рд┐ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИ:

$ cat /etc/fixuid/config.yml
user: lion
group: lion
paths:
  - /home/lion
  - /home/lion/.composer/cache
  - /tmp

рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП:

$ docker run --rm -it --init \
    -u 1000:1000 \
    -v `pwd`:/app \
    -v "$HOME/.composer/cache:/home/lion/.composer/cache" \
    --entrypoint='fixuid' \
    php:7.2-cli \
        /bin/bash

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рднреА рдПрдХ рдкрд░реЗрд╢рд╛рдиреА рд╣реИ рдЬреЛ рдпреВрдирд┐рдХреНрд╕ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдФрд░ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рднрдВрдбрд╛рд░рдг рдХреА рдорд╛рдЙрдВрдЯрд┐рдВрдЧ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдпреВрдЖрдИрдбреА рдорд┐рд▓ рд╕рдХреЗ рдХреНрдпреЛрдВрдХрд┐ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЪреЛрджрдиреЗ рдХрд╛ рдХреЛрдИ рднреА рдкреНрд░рдпрд╛рд╕ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдбреЙрдХрдЯрд░ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдпреВрдЖрдИрдбреА рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдерд╛, рддреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдЬреЛ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдХрд░реЗрдЧрд╛ред

@tlhonmey

рдпрджрд┐ рдбреЙрдХрд░ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдпреВрдЖрдИрдбреА рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдерд╛

рдПрдХ рдХрд╕реНрдЯрдо рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрдлреНрд╕ рдХреА рддрд░рд╣)ред

@tlhonmey рд╣рд╛рдБ, рдореИрдВ рдХреБрдЫ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде "рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд┐рд╕реНрдЯрдо рдЬреЛ рдпреВрдирд┐рдХреНрд╕ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛" рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред

рдореВрд▓ рд░реВрдк рд╕реЗ, NTFS рдбреНрд░рд╛рдЗрд╡ рд╕реЗ рдмрдврд╝рддреЗ рд╣реБрдП, рдореИрдВ рдЪреАрдЬреЛрдВ рдХреЛ -v ./HostNtfsStuff:/data/ntfsMount рдореЗрдВ рдбрд╛рд▓реВрдВрдЧрд╛ рдФрд░ рдлрд┐рд░ рдПрдХ рд╕рд┐рдореНрд▓рд┐рдВрдХ рдмрдирд╛рдКрдВрдЧрд╛ рдФрд░ рдЙрд╕ ln -s -T /data/ntfsMount /var/lib/myApp && chown -Rh myApp:myApp /var/lib/myApp/ рдХреЛ рдЪреБрдиреВрдВрдЧрд╛

рдЖрдк рднреА рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: su myApp -c 'echo foo > /var/lib/myApp/bar' && cat /data/ntfsMount/bar

рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдВрдбреЛрдЬрд╝ рджреЗрд╡реЛрдВ рдХреЗ рд▓рд┐рдП MySQL рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдФрд░ рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рдкрд░ рдмрдиреЗ рд░рд╣рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдРрдкреНрд╕ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред

рддреЛ рд╕рдорд╛рдзрд╛рди рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпреВрдЖрдИрдбреА рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ: рдЬреАрдЖрдИрдбреА рдЬреЛрдбрд╝реЗ рдФрд░ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рд╡реЗ рдореЗрдЬрдмрд╛рди, рдпрд╛ рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛:

рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ _one_ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрдкрдиреЗ Dockrfile рдХреЗ рдЕрдВрджрд░ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рддреИрдпрд╛рд░реА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

RUN mkdir -p /var/lib/redis ; chown -R redis:redis /var/lib/redis
VOLUME ["/var/lib/redis"]
ENTRYPOINT ["usr/bin/redis-server"]
USER redis

(рдореИрдВрдиреЗ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛, рдореИрдВ рдПрдХ рдХреНрд░реЛрдорд┐рдпрдо рдХрдВрдЯреЗрдирд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рддрдм рдПрдХ _separate_ X11 рдХрдВрдЯреЗрдирд░ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ ....)

рдореИрдВ рдЖрдЬ рддрдХ рдЖрдЦрд┐рд░реА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрдм рдореИрдВрдиреЗ рдХрдВрдЯреЗрдирд░ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдЯреВрдЯ рдЧрдпрд╛ред рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рд╡реЙрд▓реНрдпреВрдо рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЕрдВрджрд░ рдХрд╛ рдРрдк рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИред рд╡реЙрд▓реНрдпреВрдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдСрдЯреЛ-рдкреЙрдкреБрд▓реЗрд╢рди рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЗрд╕реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдмреЗрд╕реНрдЯ рдкреНрд░реИрдХреНрдЯрд┐рд╕реЗрдЬ рдкрдврд╝рддреЗ рд╣реБрдП рджреЗрдЦрд╛ рдФрд░ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╣ рд╣реИ рдЬреЛ рд╡реЗ рд╕реБрдЭрд╛рддреЗ рд╣реИрдВ:

#!/usr/bin/env bash
set -e

if [ "$1" = 'postgres' ]; then
    chown -R postgres "$PGDATA"

    if [ -z "$(ls -A "$PGDATA")" ]; then
        gosu postgres initdb
    fi

    exec gosu postgres "$@"
fi

exec "$@"

рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЪрд╛рдЙрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рд╢реБрд░реБрдЖрдд рдкрд░ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╣реИ, рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдирд╛ рдРрдк рдЪрд▓рд╛рдПрдВред exec рднреА PID 1 рдХреЛ рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╕рд┐рдЧреНрдирд▓ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рдореИрдВ рдкрд░рд┐рдгрд╛рдореА рдбреЗрдЯрд╛ рдкрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддрд░рд╣ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рд╢рд╛рдпрдж рдЗрд╕реЗ рд╕рд╣рд╛рдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рднреА рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЖрд╢реНрдЪрд░реНрдп рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрдВрдЯреЗрдирд░ рд╕реНрдЯрд╛рд░реНрдЯ рдкрд░ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рд╣рд┐рдЯ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрджрд┐ рдЖрдкрдХрд╛ рдРрдк рд╡реЙрд▓реНрдпреВрдо рдкрд░ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдерд╛рдиреАрдп рдирд╣реАрдВ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣реЛрд╕реНрдЯ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рд╕рдореВрд╣ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдореИрдкрд┐рдВрдЧ рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реЛред рдХреНрдпрд╛ рдбреЛрдХрд░ рдХрдВрдЯреЗрдирд░/рдЖрджрд┐ рдкрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдЖрдк рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкрд░ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдореИрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХрдо рд╕реЗ рдХрдо рдлреНрдпреВрдЬ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВред

рдЖрдк рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкрд░ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдореИрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХрдо рд╕реЗ рдХрдо рдлреНрдпреВрдЬ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВред

рдХрд┐рдВрдбрд╛ рдореИрдВ рдХреНрдпрд╛ рдбрд░ рд░рд╣рд╛ рдерд╛ред рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рдХреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рди рдЬреБрд░реНрдорд╛рдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ рдбреЛрдХрд░ рдЗрд╕ рддрд░рд╣ рдлреНрдпреВрдЬ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реИ?

@mdegans

рддреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдЪрд╛рдЙрди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рд╢реБрд░реБрдЖрдд рдкрд░ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╣реИ,

рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╢реБрд░реБрдЖрдд рдкрд░ chown рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдбреЗрдЯрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕реНрд╡рд╛рдореА рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдФрд░ рдХреЗрд╡рд▓ рдкреБрдирд░рд╛рд╡рд░реНрддреА chown рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдРрд╢реЗ рд╣реА:

 [ $(stat -c %U "$PG_DATA") == "postgres" ] || chown -R postgres "$PG_DATA"

рддреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдпрд╣ рдкрд╣рд▓реА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реА рд╣реЛрдЧрд╛ред

рдФрд░ рдРрд╕реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рддреЗ рд╕рдордп рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ; рдпрджрд┐ рдЖрдк рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЕрдкрдиреА рд╣реЛрдо-рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП), рддреЛ рдЖрдкрдХреА рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдЪреБрдиреА рдЬрд╛рдПрдВрдЧреА

рдПрдХ рдЕрдЪреНрдЫреЗ рдбреЙрдХрдЯрд░ рдЗрдореЗрдЬ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ, рд░рди рдЯрд╛рдЗрдо рдпреВрдЬрд░ рд░реВрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП chown рдлрд╛рдЗрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛тАж!

рдПрдХ рдЕрдЪреНрдЫреЗ рдбреЙрдХрдЯрд░ рдЗрдореЗрдЬ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ, рд░рди рдЯрд╛рдЗрдо рдпреВрдЬрд░ рд░реВрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдлрд╛рдЗрд▓ рдХреЛ рдЪрд╛рдЙ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛тАж!

рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди root рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рд╡рд╛рд▓реА рдХреЛрдИ рдЪреАрдЬрд╝ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреА рдЕрдХреНрд╕рд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ... рдареАрдХ рд╡реИрд╕реЗ рд╣реА рдЬреИрд╕реЗ рдЖрдкрдХреЛ рдЖрдорддреМрд░ рдкрд░ root рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  • sudo
  • su
  • USER root

рдХреЗ рдЕрдиреБрд╕рд╛рд░: https://f1.holisticinfosecforwebdevelopers.com/chap03.html#vps -countermeasures-docker-the-default-user-is-root

рдореЗрд░реА рд╡рд┐рдирдореНрд░ рд░рд╛рдп рдореЗрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдХрд┐ рд╡рд╣ рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рдкрд░ рдЕрдиреБрдорддрд┐ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдмрд╣реБрдд рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рд╣рдордиреЗ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдерд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрдм рдореИрдВ nginx рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдХрд┐ рд╕реНрдерд┐рд░ HTML рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╣реИред рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореБрдЭреЗ рдЕрдкрдиреА nginx.conf рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рдиреА рд╣реЛрдЧреА, рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реЛрдЧреА рдФрд░ рдЙрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░рдиреА рд╣реЛрдВрдЧреАред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рд╕рдм nginx рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИред

рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдпреВрдирд┐рдХреНрд╕ рдЕрдиреБрдорддрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдпрд╣рд╛рдВ рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рд╢рд╛рдпрдж рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреНрдпреЗрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ рдХрд┐ рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nginx рд╕реНрдЯрд╛рд░реНрдЯ-рдЕрдк рдбреЗрдореЙрди рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рд╕рд╣реА рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдерд╛, рдЕрдЧрд░ рдпрд╣ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯрдЕрдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рдпрд╣ рдмрд╕ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ рдФрд░ рдмрд╛рд╣рд░ рдирд╣реАрдВ, рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдЕрд▓рдЧ рджрд┐рдЦрддрд╛ рд╣реИ (рдФрд░ рд╡реЗ рдирд╣реАрдВ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рдпреВрдЖрдИрдбреА рдХреЗ рдЕрдВрджрд░ рдФрд░ рдмрд╛рд╣рд░ рд╕рдорд╛рди рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпреВрдЖрдИрдбреА 2000 рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝реЛрдмрд╛рд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдореМрдЬреВрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдмрд╛рд╣рд░ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпреВрдЖрдИрдбреА 2000 рдХреЛ рдЕрднреА рднреА рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдорд╛рдирд╡ рд╣рд┐рддреИрд╖реА рдирд╛рдореЛрдВ рдХреЗ рдмрдЬрд╛рдп рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЕрдкрдиреА рд╕реЛрдЪ рдмрджрд▓рдиреА рд╣реЛрдЧреАред
рдпрджрд┐ рдЖрдкрдХреЛ 2 рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓реЗрдЦрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦреЗ рдЧрдП 2 рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмреАрдЪ рд╡реЙрд▓реНрдпреВрдо рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдХрдард┐рди рдмрдирд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓реА (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╕рдореВрд╣ рдФрд░ рдЕрдиреНрдп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ (рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рдпреВрдЖрдИрдбреА рдпрд╛ рдЬреАрдЖрдИрдбреА тАЛтАЛрдирд╣реАрдВ)ред рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЪреВрдВрдХрд┐ рдореИрдВ рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреЙрдЬрд╝рд┐рдХреНрд╕ рдПрд╕реАрдПрд▓ рдХрд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ 3 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП rw рдЕрдиреБрдорддрд┐ рд╡рд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░-рд▓реЗрдЦрдХ, r рдЕрдиреБрдорддрд┐ рд╡рд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░-рд░реАрдбрд░ рдФрд░ r рдЕрдиреБрдорддрд┐ рд╡рд╛рд▓рд╛ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред

рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк: рд╕рд╛рдЭрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЧрд┐рдб рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╛рдЗрд▓ рдорд╛рд╕реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреБрдЫ рднреА рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рджреМрдбрд╝реЗрдВ:

```
рдЙрдорд╛рд╕реНрдХ 0000
````

https://en.wikipedia.org/wiki/Umask

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрд┐рддрдиреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдереНрд░реЗрдб рдкрд░ рджреЗрд░ рд╕реЗ рдЖрдирд╛ред

рд╕рдЪ рдХрд╣реВрдВ рддреЛ, рдореИрдВ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рд░ рдЬрдЧрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдмрди рд░рд╣реА рд╣реИред рдЗрд╕ рд╕реНрддрд░ рдкрд░ рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛, рдпрд╣рд╛рдБ, рдПрдХрдорд╛рддреНрд░ рд╕рдордЭрджрд╛рд░ рд╡рд┐рдХрд▓реНрдк рд▓рдЧрддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдЬ рд╣реИ, рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдиреЗ рдЕрдкрдиреЗ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБрдУрдВ рдХреЛ root рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд░ рд╕рдХреЗрдВред

рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рддрдм рд╕рд╛рдордиреЗ рдЖрддреА рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЗрд╕ рдЕрднреНрдпрд╛рд╕ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рдирд╣реАрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдпрд╛ рдУрдкрдирд╢рд┐рдлреНрдЯ рдЬреИрд╕реЗ рдХреБрдЫ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП, рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ... рдХреНрдпреЛрдВрдХрд┐... рд╕реБрд░рдХреНрд╖рд╛ред рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ, рдореИрдВ рд╕рдВрднрд╡рддрдГ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдПрдХ рдмрдбрд╝рд╛ рд╡рд┐рддреНрддреАрдп рд╕рдВрд╕реНрдерд╛рди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдмрд┐рдирд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдЕрдкрдирд╛рдиреЗ рдкрд░ рднреА рдХреИрд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдЧрд╛ред

_entrypoint-as-root_ рдЕрднреНрдпрд╛рд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдИ рдЧрдИ рд╕реБрд░рдХреНрд╖рд╛ рдЪрд┐рдВрддрд╛рдУрдВ рдиреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ Kubernetes рд╣реЗрд▓рдо рдЪрд╛рд░реНрдЯ рдХреЛ initContainers рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ chown рдФрд░ chmod рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред . рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдпрд╣ рдХрд╣рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВ: рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ ред

рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб uids рдФрд░ gids рд╕реЗ рдЕрдЯреЗ рдкрдбрд╝реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░рдирдЯрд╛рдЗрдо рд╕реЗ рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рд░рд┐рдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИ рдФрд░ рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рддреБрд░рдВрдд рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред

рдЬрдмрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрдИ рддрд░реАрдХреЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП _рд╣реИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рдЬрдЧрд╣ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд▓реЗрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рддреИрдирд╛рддреА рдХреА рд╕рдВрдЦреНрдпрд╛ рддреЗрдЬреА рд╕реЗ рдмрдврд╝ рд░рд╣реА рд╣реИ рдФрд░ рд▓реЛрдЧ рдЬрд┐рди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗ рд░рд╣реЗ рд╣реИрдВ рд╡реЗ рдЕрдиреНрдп рд╕рднреА рд▓рд╛рднреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИрдВ рдЬреЛ рдХрдВрдЯреЗрдирд░ рдЯреЗрдмрд▓ рдкрд░ рд▓рд╛рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдУрд╕реАрдЖрдИ рд╕реНрдкреЗрдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ рддрд╛рдХрд┐ рдбреЙрдХрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддреИрдирд╛рддреА рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХреЗрдВред

рддреЛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдФрд░ рдХрд╣рд╛рдВ рд╡реЗ рдЖрдо рдУрд╕реАрдЖрдИ рд╕реНрдкреЗрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдпрд╣ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП? рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдбреЙрдХрдЯрд░ рдореЗрдВ рд▓рд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ (рдЖрдЦрд┐рд░рдХрд╛рд░, рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдорддреМрд░ рдкрд░ рдорд╛рдирдХреЛрдВ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдкрд░ рд╕рд╣рдорддрд┐ рд╣реЛрддреА рд╣реИ)ред

рдЪреВрдВрдХрд┐ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрднреА рднреА рдЕрдкрдиреЗ рдЖрдк рджреВрд░ рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИ, рдФрд░ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрд╣реБрдд рд╣реА рдореМрд▓рд┐рдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

initContainers рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдЪрд╛рдЙ рдФрд░ рдЪрд╛рдореЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рдпрд╣ рдХрд╣рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭ рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЗрдВ: рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ; рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреЗрд╡рд▓ рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧреА рдЬрд╣рд╛рдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдПрдХрд╛рдзрд┐рдХ рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВ (рдпрд╛ рддреЛ "рд╣реЛрд╕реНрдЯ" рдкрд░ рдореМрдЬреВрдж рдлрд╝рд╛рдЗрд▓реЗрдВ (рдкреВрд░реНрд╡-) рдпрд╛ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдПрдХрд╛рдзрд┐рдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рди)ред рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрд╕реНрдЯ рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдХреЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкрд╛рд╕ рд╕рд╣реА рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдФрд░ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╣реИрдВред рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдпрд╣ (рдЬреИрд╕реЗ) рд╣реЛрд╕реНрдЯ рдкрд░ nginx рдЪрд▓рд╛рдиреЗ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдХрд┐ рд╡реЗрдмреВрдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╣реА рдЕрдиреБрдорддрд┐ рд╣реИред

рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╕рдордп, рдпрд╛ рддреЛ рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдПрдХ рд╣реА uid (рдпрд╛ gid ) рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдВ, рдФрд░ рд╕рд╣реА рд╕рдореВрд╣ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╕реЗрдЯ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рджреЛ рдЪрд▓рд╛рдиреЗ рдкрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЧреИрд░-рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдорд╛рди рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ)ред

рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ... рдХреНрдпреЛрдВрдХрд┐... рд╕реБрд░рдХреНрд╖рд╛ред рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ, рдореИрдВ рд╕рдВрднрд╡рддрдГ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рдПрдХ рдмрдбрд╝рд╛ рд╡рд┐рддреНрддреАрдп рд╕рдВрд╕реНрдерд╛рди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдмрд┐рдирд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдЕрдкрдирд╛рдиреЗ рдкрд░ рднреА рдХреИрд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдЧрд╛ред

рдмрд╕ рднреНрд░рдо рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП; root рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░ "рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд" рдХрдВрдЯреЗрдирд░ ( --privileged рдпрд╛ рд╡рд┐рдХрд▓реНрдк, рдЬреИрд╕реЗ --cap-add рд╕реЗрдЯ) рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд ( --privileged ) рдХрдВрдЯреЗрдирд░ рдЕрддреНрдпрдзрд┐рдХ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ, рдЬрдмрдХрд┐ root рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдХрдВрдЯреЗрдирд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рд╣рд┐рдд рд╣реИ рдФрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛ ; рдЗрд╕реЗ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ/рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рдирд╛ рдЙрд╕рдореЗрдВ рдЫреЗрдж рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП _will_ рдЗрд╕реЗ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ/рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред

рд╣реЗрд▓реНрдо рдЪрд╛рд░реНрдЯ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрд╕реЗ рдЕрдЯреЗ рдкрдбрд╝реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░рдирдЯрд╛рдЗрдо рд╕реЗ рдЧреБрдкреНрдд рд░реВрдк рд╕реЗ рд░рд┐рдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╡рд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЫрд┐рдкреА рд╣реБрдИ рд╣реИ рдФрд░ рддреИрдирд╛рддреА рдХреЗ рджреМрд░рд╛рди рддреБрд░рдВрдд рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред

рддрд╛рдЬреНрдЬреБрдм рд╣реИ: рдЕрдЧрд░ рдЙрди рдпреВрдЖрдИрдбреА/рдЧрд┐рдбреНрд╕ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИрдВ; рдпреВрдПрдХреНрд╕ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛? (рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдореЗрдЬрдмрд╛рди рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЛ рдПрдХ (рдЕрдЬреНрдЮрд╛рдд) рдХрдВрдЯреЗрдирд░-рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдореЗрдВ рдореИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдкрд┐рдВрдЧ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛?

рддреЛ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдФрд░ рдХрд╣рд╛рдВ рд╡реЗ рдЖрдо рдУрд╕реАрдЖрдИ рд╕реНрдкреЗрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдпрд╣ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП?

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ (рдПрдХ рдирдЬрд╝рд░ рдореЗрдВ) рдХрд┐ рдУрд╕реАрдЖрдИ рд╕реНрдкреЗрдХ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рдЗрд╕реЗ рдУрд╕реАрдЖрдИ рд╕реНрдкреЗрдХ рдХреЗ рдмрд╛рд╣рд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ; рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЛ рдореИрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдЧрд╛рдпрдм рд╣реИрдВ (рдпрд╛ рдореМрдЬреВрдж рд╣реИрдВ (рдЬреИрд╕реЗ shiftfs ), рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ)

рдпрд╣ рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдкрдВрдЪрдХреЛрдг рд╣реИ / рдХреЛрдИ рдФрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рддреЛ рдпрд╣ рд╣реИ:

  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
  • рдбреЙрдХрд░ / рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдордВрдЪ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  • рдУрд╕реАрдЖрдИ рд╕реНрдкреЗрдХ
  • рдЧреБрдард▓реА
  • рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо

рд╕рдорд╕реНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдмрддрд╛рдИ рдЧрдИ рдереА: рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдирд╛ рднрджреНрджрд╛ рдФрд░ рдХрдо рд╕реБрд░рдХреНрд╖рд┐рдд рджреЛрдиреЛрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐-рдЫрд╡рд┐ рд╣реИрдХ рдХрд░рдиреЗ рдХрд╛ рдиреЙрдХ-рдСрди рдкреНрд░рднрд╛рд╡ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:

рдпрд╛рдиреА рдЖрдк рдЗрддрдиреА рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрдВрдЯрд░-рдСрдкрд░реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдЭрд╛/рдорд┐рд╢реНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдпрд╣ рдпрд╛ рддреЛ:

  • рд╕рдореБрджрд╛рдп рдХреЗ рдмрдВрдЯрд╡рд╛рд░реЗ рдХреЛ рддреЛрдбрд╝рддрд╛ рд╣реИ (рдХрд╛рдлреА)ред рдХреНрдпреЛрдВрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд╣реА рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдкреВрд▓ рд╕реЗ рдЕрдкрдиреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрджрд░реНрде рдорд╛рдирдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЙрд╕ рдкрд░рдВрдкрд░рд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗ рдЬрд┐рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕реНрд╡рдпрдВ рдЪреБрдирд╛ рд╣реИ
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╣рд░ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП root рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИред рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдо рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╡реГрджреНрдзрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд░рдд рдЫреАрди рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрдиреНрдпрдерд╛ рд╣реЛрддреАред рдФрд░ рдХрдВрдЯреЗрдирд░ рдмреНрд░реЗрдХрдЖрдЙрдЯ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рд╢реЛрд╖рдг рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ root рд╣реИред рдПрдХ рд╣реА рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдКрдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрдЧрд╝рд▓ рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИред

рддреЛ рдпрд╣ рдПрдХ рд╡реНрдпрд╛рдкрд╛рд░ рд╣реИред рдЙрдкрд░реЛрдХреНрдд рд╡реЗ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╛рдкрд╛рд░ рдмрдВрдж рд╣реИрдВред рдЬрдмрдХрд┐ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХрд╣реАрдВ рдФрд░ рд╕реМрдВрдкрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреНрд░реЗрдб рдСрдл рд╣реЛрдВрдЧреЗред

рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо-рдЖрдзрд╛рд░рд┐рдд рд╕рдорд╛рдзрд╛рди рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ BTW рдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдкрд╛рдЗрдбрд░ рд▓рд┐рдВрдХ рдХреА 'рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ' рдЯрд┐рдкреНрдкрдгреА:

https://github.com/docker/compose/issues/3270#issuecomment -365644540

рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рдорд╛рди рд╕рд╛рдорд╛рдиреНрдп рд╕реБрд╡рд┐рдзрд╛ (рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ / рд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП) рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрджрд░реНрдн рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡рд┐рддрд░рд┐рдд рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рдЬрд┐рд╕реЗ 'рд▓рд╕реНрдЯрд░' рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ ZFS рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреНрдп рдореБрджреНрджреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдареАрдХ рд╣реИ, рдореИрдВ рдмрд╕ рдЗрддрдирд╛ рд╣реА рдпрд╣рд╛рдБ рдкрд░ ZFS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рдлрд┐рд░ рдЙрдмрдВрдЯреВ/рд▓реЙрдиреНрдЪрдкреИрдб рдкрд░ рдЙрд╕реА рдмрдЧ рдХреА рдПрдХ рдФрд░ рдкреНрд░рддрд┐ рднреА рдорд┐рд▓реАред рдЙрд╕реА ZOL #4177 рдЕрдВрдХ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реБрдП,

https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1567558

рдЬреЛ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдмрдЧ рдХреЛ zfs рд╕рдВрд╕реНрдХрд░рдг 0.6.5.7+ SO рдореЗрдВ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рд╣рдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрд░реАрдореЗрдкрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреИрдХрд┐рдВрдЧ рд╕реНрдЯреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЗрдбрдПрдлрдПрд╕ рдФрд░ рдПрд╕реАрдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╡реИрд╕реЗ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реБрдирд╛ рд╣реЛред

рдУрд╣ рд╢рд╛рдпрдж рдпрд╣ рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рдПрд▓рдПрдХреНрд╕рд╕реА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рд╡рд╣рд╛рдВ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рднреА рдХрд╣ рд░рд╣реЗ рдереЗ (рдПрд▓рдПрдХреНрд╕рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдиреЗрддреГрддреНрд╡), "рд╣рдо рд╕реЗрдЯреБрдЗрдб рд╣реЗрд▓реНрдкрд░реНрд╕ (рдиреНрдпреВрдпреВрдЗрдбрдореИрдк рдФрд░ рдиреНрдпреВрдЧрд┐рдбрдореИрдк) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ" рдЬреЛ рддрдм "рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдореИрдк рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ"ред рддреЛ рд╕рдВрднрд╡рддрдГ LXC рдореЗрдВ рд╣реА рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХ рддрдВрддреНрд░ рднреА рд╣реИ, рдЕрдиреНрдпрдерд╛ zfs acls рднрд╛рдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╛ рд╢рд╛рдпрдж рдореИрдВ рдЧрд▓рдд рд╣реВрдБред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╣рд░ рддрд░рд╣ рд╕реЗ рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВред

рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд▓рд┐рдВрдХ, рдЗрд╕ рдмрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ shiftfs , рдФрд░ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдУрд╡рд░рд▓реЗрдлрд╝ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ред рдХреМрди рд╕рд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рд░реАрдореИрдкрд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛ overlayfs рдореЗрдВ рд▓рд╛рдЧреВ рд╣реЛ рдЬрд╛рддреА рд╣реИ, рдлрд┐рд░ рднреА рдореИрдВ рдЕрдкрдиреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП zfs рд╕реНрдЯреЛрд░реЗрдЬ рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ? рдХреНрдпрд╛ рдореБрдЭреЗ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЛ рд░реАрдореИрдк рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рдмрд╛рд╣рд░ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рдЗрд╕реЗ рдкреНрд░рддрд┐-рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдпрд╛ рд╣рдо рджреЛрдиреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдбреЙрдХрд░ рдбреЗрдореЙрди рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реАрдореИрдкрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдкреАрдЖрдИ рдФрд░ рдЭрдВрдбреЗ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП (рдПрдлрдПрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдкрд░рдд рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдпрд╛ рдЕрдЧрд░ рд╣рдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореЗрдЬрдмрд╛рди рдкрдХреНрд╖ рдкрд░ (рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдбреЙрдХрд░ рдХреЗ рдмрд╛рд╣рд░) рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реАрдореИрдкрд┐рдВрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдВрдЧреЗред рд╡рд╣ рдкрд╣рд▓реВ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИред

[рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ] рдУрд╣, рд▓рд┐рдВрдХ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛! рдпрд╣ рд░рд╣рд╛

https://lists.linuxfoundation.org/pipermail/containers/2018-June/039172.html

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╡реЙрд▓реНрдпреВрдо/рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдХреЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЕрд▓рдЧ рд╣реИ

рд╣рдо рдмрд╛рдЗрдВрдбрдорд╛рдЙрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрд╢рд┐рдлреНрдЯ рдХреЗ рд╕рд╛рде рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рдпрджрд┐ рдУрд╡рд░рд▓реЗ рдореЗрдВ рд╢рд┐рдлреНрдЯрдл рдлреАрдЪрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрд╕рдорд░реНрдерд┐рдд рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреБрдЫ рдФрд░ (рдпрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ) рдкрд░ рд╡рд╛рдкрд╕ рдЖрдирд╛ рд╣реЛрдЧрд╛ред

рдкреЙрдбрдореИрди рдПрдХ рд░реВрдЯрд▓реЗрд╕ рдбреЙрдХрд░ рдбреНрд░реЙрдк-рдЗрди рд░рд┐рдкреНрд▓реЗрд╕рдореЗрдВрдЯ рд╣реИ https://www.youtube.com/watch?v=N0hSn5EwW8w https://podman.io/ ред рдкреЙрдбрдореИрди рдХреЗ рд╕рд╛рде, рд░реВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рд╣рдорд╛рд░реА рдЯреАрдо рдиреЗ рдкреЙрдбрдореИрди рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдФрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдЗрд╕рдХрд╛ рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рдирд┐рдХрд▓рддрд╛ред
рд╡рд╣реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ docker рдореЗрдВ рд░реВрдЯрд▓реЗрд╕ рдореЛрдб рднреА рд╣реЛрддрд╛ рд╣реИред

рдЖрдк рдирд┐рдореНрди рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдкреЙрдбрдореИрди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреЙрдбрдореИрди рдХреЗ рдкрд╛рд╕ рдбреЙрдХрд░ рдХреЗ рд╡рд┐рдкрд░реАрдд рдПрдХ рдЕрд▓рдЧ рдбреЗрдореЙрди рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рдм рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рддрд╣рдд рдЪрд▓рддрд╛ рд╣реИ рдЬреЛ podman рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рддреЛ рдкреЙрдбрдореИрди рдХреЗ рдЕрдВрджрд░ рдмрдирд╛рдИ рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИрдВ рдЬреЛ podman run ... рдХрдорд╛рдВрдб рдЪрд▓рд╛рддрд╛ рд╣реИред

kkimdev<strong i="8">@ubuntu</strong>:~$ mkdir podman_test
kkimdev<strong i="9">@ubuntu</strong>:~$ ls -agh podman_test
total 8.0K
drwxrwxr-x 2 kkimdev 4.0K Jun 27 04:23 .
drwxr-xr-x 8 kkimdev 4.0K Jun 27 04:23 ..

kkimdev<strong i="10">@ubuntu</strong>:~$ podman run --rm -it -v ~/podman_test:/podman_test alpine
/ # cd /podman_test/
/podman_test # touch test_file
/podman_test # ls -agh
total 8K
drwxrwxr-x    2 root        4.0K Jun 27 02:24 .
drwxr-xr-x   20 root        4.0K Jun 27 02:24 ..
-rw-r--r--    1 root           0 Jun 27 02:24 test_file

/podman_test #

kkimdev<strong i="11">@ubuntu</strong>:~$ ls -agh podman_test/
total 8.0K
drwxrwxr-x 2 kkimdev 4.0K Jun 27 04:24 .
drwxr-xr-x 8 kkimdev 4.0K Jun 27 04:23 ..
-rw-r--r-- 1 kkimdev    0 Jun 27 04:24 test_file

рдпрд╣ podman рдХреЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИ -- рдпрджрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдВрдЧреЗ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ ' рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдм рддрдХ, рдРрд╕рд╛ рдирд╣реАрдВ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЛ рдХрд╣реАрдВ рдФрд░ рд▓реЗрдВред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ podman рдореЗрдВ рдбреЙрдХрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрд▓рдЧ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХрдо рдЧрдВрднреАрд░/рджрд░реНрджрдирд╛рдХ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдбреЙрдХрд░ рдХреЛ рдЗрд╕ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдЖрд╢реНрд╡рд╕реНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдбреЙрдХрд░ рдХреЛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ, рдФрд░ рдЙрд╕ рдкреВрд░реЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИред

@tianon рд╣рд╛рдБ рдмрд┐рд▓реНрдХреБрд▓, рджреЛрдиреЛрдВ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкрдХреНрд╖ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВред рдореИрдВрдиреЗ рдкреЙрдбрдореИрди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рд▓рдХреНрд╖реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдкреЙрдбрдореИрди рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдирд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╣реИ, "рд░реВрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдврд╝рддреЗ рд╡реЙрд▓реНрдпреВрдо"ред

рдХреГрдкрдпрд╛ рдореЗрд░реА рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ "test_file" рдХреА рдЕрдиреБрдорддрд┐ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдпрд╣ рдкрд╣рд▓реЗ "~/podman_test" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреЙрдбрдореИрди рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ "test_file" рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦрддрд╛ рд╣реИред рдлрд┐рд░ рдПрдХ рдмрд╛рд░ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ "kkimdev" рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИ, рд░реВрдЯ рдирд╣реАрдВред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рд╕реБрдЭрд╛рд╡ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ "рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ" рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдЯреНрд░реИрдХрд░ рдкрд░ рдмрд╣реБрдд рд░рдЪрдирд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИред

рд╣рд╛рдВ, podman рдХреЛ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрд╕ рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рдмрдирд╛рддрд╛ рд╣реИ - рдпрд╣ рдЕрдЪреНрдЫрд╛ рдФрд░ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╡рд┐рд╖рдп рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реИред рд░реВрдЯрд▓реЗрд╕ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреНрд░реЗрдбрдСрдл рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рд╕рдордп рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ (рдФрд░ рдЕрдзрд┐рдХрддрд░ рдХрд░реНрдиреЗрд▓ рд╕реБрдзрд╛рд░), рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдХрд░реНрдиреЗрд▓ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рд┐рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИ (рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ @ cpuguy83 рдФрд░ рдЕрдиреНрдп рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред

рдбреЙрдХрд░ рдХреЗ рдкрд╛рд╕ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдореБрджреНрджрд╛ 2013 рд╕реЗ рдЦреБрд▓рд╛ рдерд╛ рдФрд░ рд▓рдЧрднрдЧ рдЫрд╣ рд╕рд╛рд▓ рдмрд╛рдж рджреГрд╖реНрдЯрд┐ рдореЗрдВ рдХреЛрдИ рдЖрд╕рд╛рди рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдкреЙрдбрдореИрди рдХреЛ рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА рдбреЙрдХрд░ рдХреА рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рднреА рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд┐рд╕реЗ рд╕реБрдкрд░рдпреБрд╕рд░ рдбреЙрдХрд░ рдбреЗрдореЙрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА)ред

рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд┐рдЯрд╣рдм рдореБрджреНрджреЗ рдкрд░ рджреВрд╕рд░реЛрдВ рдХреЛ рд╕рд▓рд╛рд╣ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рддреЛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реИред рдпрд╣ рдПрдХ рд╕рдореБрджрд╛рдп рд╣реИред рдЬреЛ рдХреБрдЫ рднреА рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЙрд╕рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред

рдореИрдВ рдЖрдкрдХреЛ рдЖрд╢реНрд╡рд╕реНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдбреЙрдХрд░ рдХреЛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЙрд╕рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ

рддреЛ grep рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рддреЗрдЬреА рд╕реЗ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рддреЛ рдореИрдВ рдЕрднреА рднреА ripgrep рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ grep рдЗрд╢реНрдпреВ рдЯреНрд░реИрдХрд░ рдкрд░ рднреАред рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕рдХрд╛ рдЗрд╢реНрдпреВ рдЯреНрд░реИрдХрд░ рд╣реИ, рдЬрдм рддрдХ рдпрд╣ рдпреВрдЬрд░реНрд╕ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЦреБрд╢ рдХрд░рддрд╛ рд╣реИред

рдЕрдЧрд░ рдкреЙрдбрдореИрди рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдареАрдХ рд╣реИ! рд▓реЗрдХрд┐рди рдЕрдЧрд░ рджреВрд╕рд░реЛрдВ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ docker рдХреЛ podman рд╕реЗ рдмрджрд▓рдирд╛ рд╣реИ: рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рджреЗрдВред

Podmans рдореБрдЦреНрдп рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдбреЗрдореЙрди рдирд╣реАрдВ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдореЗрд░рд╛ рдореБрдЦреНрдп рддрд░реНрдХ рд╣реИред рд░реАрдмреВрдЯ рдХреЗ рдмрд╛рдж рдореИрдВ рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдмреИрдХ рдЕрдк рдХреИрд╕реЗ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВ рдЗрд╕реЗ рд╣рд╛рде рд╕реЗ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдмрд╛рдХреА рд╕рдм рд╕рд┐рд░реНрдл рдЦрд░рд╛рдм рдбрд┐рдЬрд╛рдЗрди рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдореЗрд░рд╛ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛ, рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд░реВрдЯ рд╣реИред
рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХрдорд╛рддреНрд░ рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ рддреЛ рдкреЙрдбрдореИрди рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдФрд░ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: COPY --chown ...:... рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдВ!

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдбреЙрдХрд░ рдХреЛ рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдбреЙрдХрд░ рд╕рд░реНрд╡рд░ рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рдлрд▓реА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рднреА рд╣реИрдВ, рдЬрд┐рдирдХреА рдореИрдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдЬрдореАрди рд╕реЗ рд╕рд╛рдл рддрд░реАрдХреЗ рд╕реЗ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдм рд╡рд┐рд╖рдп рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдЖрдИрдПрдордПрдЪрдУ рдкрд╣рд▓реА рд╕рд▓рд╛рд╣ рдареАрдХ рдереА рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдбрд╝рд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рднреА рд╣рд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред


@ SuperSandro2000 , рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдЕрдкрдиреЗ рдмрдпрд╛рдиреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд░реАрдмреВрдЯ рдХреЗ рдмрд╛рдж рдореИрдВ рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдмреИрдХ рдЕрдк рдХреИрд╕реЗ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВ рдЗрд╕реЗ рд╣рд╛рде рд╕реЗ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдмрд╛рдХреА рд╕рдм рд╕рд┐рд░реНрдл рдЦрд░рд╛рдм рдбрд┐рдЬрд╛рдЗрди рд╣реИред

рдЦреИрд░, рдкреЙрдбрдореИрди рдХрд╛ рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рд╕рд╛рде рдореВрд▓ рдПрдХреАрдХрд░рдг рд╣реИ (рдЬреИрд╕реЗ _рд▓рдЧрднрдЧ рд╕рднреА рдЖрдзреБрдирд┐рдХ рдЬреАрдПрдирдпреВ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдкрд░ рд╣рд░ рджреВрд╕рд░реА рдЪреАрдЬ)ред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ 'рджреЛ' рдмреВрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЬреИрд╕реЗ рдкрд╣рд▓реЗ рдбреЙрдХрд░ рдбреЗрдореЙрди рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдордб рд╣реЛрдирд╛ рдЬреЛ рдлрд┐рд░ рдПрдХ рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рджреМрд░ рдмрдирд╛рдирд╛ рд╣реИ)ред рддреЛ рдкреЙрдбрдореИрди рдХреЗ рд╕рд╛рде рдЖрдк рд╕рд┐рд╕реНрдЯрдордб рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЕрд░реНрде: рд╡рд╣ рд╕рд┐рд╕реНрдЯрдо рдЬреЛ рдЖрдкрдиреЗ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╡реИрд╕реЗ рднреА рдЪрд▓ рд░рд╣рд╛ рд╣реИ)ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдореЗрд░рд╛ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛ, рд▓реЗрдХрд┐рди рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд░реВрдЯ рд╣реИред

рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╣реИред рдЖрдк рдЕрднреА рднреА рдкреЙрдбрдореИрди рдХреЛ рд╕реБрдкрд░рдпреБрд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ _рд╣реИрд╡ рдЯреВ_ рдирд╣реАрдВ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЗрд╕реЗ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╣рдорд▓реЗ рдХреА рд╕рддрд╣ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рдЖрдкрдХреЗ рдбреЙрдХрд░ рдбреЗрдореЙрди рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЙрд╕рдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдкрд░ _everything_ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХрдорд╛рддреНрд░ рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВ рддреЛ рдкреЙрдбрдореИрди рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдЗрд╕ рдХрдерди рдХрд╛ рдХреЛрдИ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИред рдкреЙрдбрдореИрди рдЖрдкрдХреЛ рдПрдХ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдлреИрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд▓реЛрдЧ рд╣реИрдВред

рдФрд░ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: COPY --chown ...:... рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдПрдВ!

рдЖрдИрдПрдордПрдЪрдУ рдпрд╣рд╛рдВ рдореБрджреНрджрд╛ _runtime_ рдкрд░ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдпреВрдо _mounting_ рд╣реИред рдЬрд┐рд╕рдХрд╛ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдмрд╣реБрдд рдХрдо рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдбреЙрдХрд░ рдХреЛ рдРрд╕реА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдк рдбреЙрдХрд░ рд╕рд░реНрд╡рд░ рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдордЬреЗрджрд╛рд░ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдареАрдХ рдЙрд╕реА рдмреНрд▓реЙрдЧ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдкреЛрд╕реНрдЯ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВ рджреЛрдиреЛрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдиреБрднрд╡реА рдирд╣реАрдВ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╕рдордЭрд╛, рдкреЙрдбрдореИрди рдХрдо рд╕реЗ рдХрдо рд╕рдВрднрд╡ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ veth рдЬреЛрдбрд╝реЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд░реВрдЯрд▓реЗрд╕ рдбреЙрдХрдЯрд░ рдХреЗ рд╕рд╛рде рд╡реИрд╕рд╛ рд╣реА рдкреНрд░рднрд╛рд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдЖрдкрдХреЛ рдкреЙрдбрдореИрди рдХреЗ рд╕рд╛рде рдорд┐рд▓рддрд╛ рд╣реИред
рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░реНрдб рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд░реВрдЯ рдЖрдкрдХреЗ рдпреВрдЖрдИрдбреА рдореЗрдВ рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕рдореЗрдВ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдбрд┐рдорди рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╕рдордп рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
https://get.docker.com/rootless

27 рдЬреВрди 2019 рдХреЛ рд╕реБрдмрд╣ 7:52 рдмрдЬреЗ рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдПрдбрдо рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдм рд╡рд┐рд╖рдп рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рдЖрдИрдПрдордПрдЪрдУ рдкрд╣рд▓реА рд╕рд▓рд╛рд╣ рдареАрдХ рдереА рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЙрдбрд╝рд╛ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рднреА рд╣рд▓ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

@SuperSandro2000 https://github.com/SuperSandro2000 , рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдЕрдкрдиреЗ рдмрдпрд╛рдиреЛрдВ рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдХреНрд▓рд┐рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
https://podman.io/blogs/2018/09/13/systemd.html https://osric.com/chris/accidental-developer/2018/12/docker-versus-podman-and-iptables/ https:/ /osric.com/chris/acidental-developer/2018/12/using-docker-to-get-root-access/
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
GitHub рдкрд░ рдЗрд╕ рдИрдореЗрд▓ рд╕реАрдзреЗ рдЬрд╡рд╛рдм рджреЗрдВ, рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ https://github.com/moby/moby/issues/2259?email_source=notifications&email_token=AAGDCZXX2UQCG7LUVH57V6LP4TH2DA5CNFSM4AI3DP62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYXL2XI#issuecomment-506379613 , рдпрд╛ рдзрд╛рдЧреЗ рдореВрдХ https://github.com/notifications/ рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм-рдСрде/AAGDCZX437HJP4M6XG3SEY3P4TH2DANCNFSM4AI3DP6Q ред

@alexanderadam

рдЖрдИрдПрдордПрдЪрдУ рдпрд╣рд╛рдВ рдореБрджреНрджрд╛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдпреВрдо рдмрдврд╝рд╛ рд░рд╣рд╛ рд╣реИред рдЬрд┐рд╕рдХрд╛ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдмрд╣реБрдд рдХрдо рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИред

рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдорд╛рдЙрдВрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реЗрдВрдХрдирд╛ рдерд╛ред

рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкреЙрдбрдореИрди рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рдХрд╛рд░рдг рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдореБрдЭреЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИред рд╡реИрд╕реЗ рднреА рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

podman рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЕрдкрд╛рдЪреЗ www рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рддрд╣рдд рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред https://github.com/containers/libpod/issues/3990

рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ www рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдпреВрдЖрдИрдбреА рдореЗрдВ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдХреЛрдИ root рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рд╣реИред

рдпрджрд┐ рдЖрдк --read-only ( readOnlyRootFilesystem Kubernetes рдиреАрддрд┐ рдХреЗ рд╕рдорд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреЗ рд╕рд╛рде рдЪрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдиреАрдЪреЗ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкрд░ рдмрдирд╛рддрд╛ рд╣реИ @jpetazzo рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣рд╛ рдерд╛:

  • рдореЗрд░реА рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ uid=1001 рдФрд░ gid=1001 . рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддреА рд╣реИ рдФрд░ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ
  • рдЕрд▓рдЧ рд╕реЗ, рдбреЙрдХрд░ рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдПрдВ
  • рдпреВрдЖрдИрдбреА рдХреЛ рдЪреЙрдЙрди рдХрд░реЗрдВ: рдЧрд┐рдб рдЯреВ 1001
  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рддреЗ рд╕рдордп рдЙрд╕ рдЫрд╡рд┐ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВред

рдбреЙрдХрд░рдлрд╛рдЗрд▓:

FROM ubuntu

RUN groupadd -g 1001 appgroup && \
    useradd -u 1001 -g appgroup appuser

USER appuser

рдлрд┐рд░:

$ docker build . -t test
$ docker volume create somedir
$ docker run -v somedir:/some_dir alpine chown -R 1001:1001 /some_dir

рдЕрдм, рдбреЙрдХрд░ рдЫрд╡рд┐ рдЪрд▓рд╛рддреЗ рд╕рдордп рдФрд░ рд╡реЙрд▓реНрдпреВрдо рдмрдврд╝рддреЗ рд╕рдордп, /some_dir рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

$ docker run -it --read-only -v somedir:/some_dir test ls -lrt

...
dr-xr-xr-x  13 root    root        0 Nov  4 15:22 sys
drwxr-xr-x   2 appuser appgroup 4096 Nov  5 09:45 some_dir
drwxr-xr-x   1 root    root     4096 Nov  5 09:45 etc
...

$ docker run -it --read-only -v somedir:/some_dir test touch /some_dir/hello
$ docker run -it --read-only -v somedir:/some_dir test ls -lrt /some_dir

-rw-r--r-- 1 appuser appgroup 0 Nov  5 09:52 hello

рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдзрд╛рдЧреЗ рдореЗрдВ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреБрдирд╛ рд╣реБрдЖ рд╕рд┐рдореНрд▓рд┐рдВрдХ рд╢рд╛рдпрдж рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рдЕрдХреНрд╕рд░ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдХреЛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рддрдм рдореВрд▓ рдХрдорд╛рдВрдб рдЪрд▓рд╛рддрд╛ рд╣реИред

https://github.com/moby/moby/issues/2259#issuecomment -466094263

+1

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рдХрд╖реНрдЯрдкреНрд░рдж рдореБрджреНрджрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдбреЙрдХрдЯрд░ рдХреЗ рд╕рд╛рде рд╣реИ рдФрд░ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдм рддрдХ рдЦреБрд▓рд╛ рд╣реИ, рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ?

рдпрджрд┐ рдЖрдк рд╕рдорд╛рдзрд╛рди рдЬрд╛рдирддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ:

  • рд╣реЛрд╕реНрдЯ рд▓рд┐рдирдХреНрд╕ рд╣реИ

    • рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдпреВрдЖрдИрдбреА == рдореЗрдЬрдмрд╛рди рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рдпреВрдЖрдИрдбреА - рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ
    • рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдпреВрдЖрдИрдбреА! = рдореЗрдЬрдмрд╛рди рдкрд░ рд╡рд╛рдВрдЫрд┐рдд рдпреВрдЖрдИрдбреА - рдмрд╕ рдХреБрдЫ setfacl рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ рдФрд░ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдХрдВрдЯреЗрдирд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП rw рдПрдХреНрд╕реЗрд╕ рджреЗрдВ
  • рд╣реЛрд╕реНрдЯ рдореИрдХреЛрдЬрд╝ рд╣реИ - рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдбреЙрдХрд░ рдРрдк рдХреЗ рд▓рд┐рдП рд╕рдмрдХреБрдЫ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдмрд╕ рдХреБрдЫ setfacl рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ рдФрд░ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдХрдВрдЯреЗрдирд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП rw рдПрдХреНрд╕реЗрд╕ рджреЗрдВ

рдпрд╣ рдкрд░реЗрд╢рд╛рдиреА рд╣реИред рдореИрдВ рдкреНрд░рддреНрдпреЗрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдХреБрдЫ setfacl рдХрдорд╛рдВрдб рдирд╣реАрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдФрд░ рдУрдПрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджрд╛ рднреА рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдкрд░рд┐рджреГрд╢реНрдп:

  • host1 рдореЗрдВ рдбреЙрдХрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ
  • host1 рдореЗрдВ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗрд╡рд╛ рд╣реИ - рдпреЗ рд╕рднреА /docker/my-service-01|02|03|etc рдХреЗ рддрд╣рдд рд╕реНрдерд╛рдиреАрдп рдкрде рдорд╛рдЙрдВрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
  • рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХреНрд░реЗрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╣рд░ рдПрдХ рдЕрдкрдиреА uid рдФрд░ guid рдиреАрддрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрдкрдХреЛ рддрджрдиреБрд╕рд╛рд░ chown -R uid.gid /docker/my-service-01... рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдкрд░рд┐рдгрд╛рдо:

  • рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ host рдкрд░ рдмрдирд╛рдП рдЧрдП рд╕рд╛рдорд╛рдиреНрдп рдпрд╛ рд╕реЗрд╡рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрд╛рд╕ /docker/my-service-01|02|03|etc рддрдХ рдкреВрд░реНрдг рдкрд╣реБрдВрдЪ рд╣реЛрдЧреА рдЬреЛ рдХрд┐ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рди рд╣реА рд╡рд╛рдВрдЫрд┐рдд рд╣реИред
  • рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рдХреЗ рджреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдкрд░ рд╡реЙрд▓реНрдпреВрдо рдХреЛ "рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП" рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ - рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ uid.gid рдЖрд╡рд╢реНрдпрдХ рд▓реЛрдЧреЛрдВ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рдПрдЧрд╛ рдФрд░ рдЖрдк chown рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗ uid.gid рдиреАрддрд┐ рд╣реИ рдФрд░ рд╡реЗ рдЕрд▓рдЧ рд╣реИрдВ :)

рд╣рд╛рдВ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдереА рдФрд░ рдореБрдЦреНрдп рддрдереНрдп рд╡рд╛рдкрд╕ (рдЙрд╕ рд╕рдордп) рдмрддрд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛ рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд░реАрдореЗрдкреЗрдмрд▓ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рд╣рд╛рдпрдХ рддрдВрддреНрд░ рдирд╣реАрдВ рдерд╛ред рддреЛ рдЗрд╕ рдЕрддреНрдпрдзрд┐рдХ рд╡рд╛рдВрдЫрдиреАрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ (moby / docker) рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдирд╣реАрдВ рддреЛ рд╣рдореЗрдВ рдпрд╣ рдлреАрдЪрд░ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд╣реА рдорд┐рд▓ рдЬрд╛рддрд╛ред рд╡рд╛рдкрд╕ рдЬрдм рдЗрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рджреЗрдЦрд╛ рдЧрдпрд╛ рдерд╛ред

рддреЛ рдЗрд╕ рдЪрд░реНрдЪрд╛ (рдЖрдЬ) рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЙрддреНрдкрд╛рджрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛: рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдмрджрд▓ рдЧрдпрд╛ рд╣реИред vger.org рдкрд░ linux рдХрд░реНрдиреЗрд▓ рдореЗрдирд▓рд╛рдЗрди рджреЗрд╡реЛрдВ рдХреА рддрдХрдиреАрдХреА рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВред рдЗрд╕ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдиреБрдкрд▓рдмреНрдз рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдкрд░ рдкрд┐рдЫрд▓реЗ рдкреИрдЪ рд╕реЗрдЯ/рдорд░реНрдЬ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред рдЖрджрд┐ред

рдЙрд╕ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХреА рдмреЗрд╣рддрд░ рд╕рдордЭ рдХреА рдЙрдореНрдореАрдж рдореЗрдВред рдареЛрдХрд░ рдХреНрдпрд╛ рдереА? рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдореБрджреНрджрд╛ рдерд╛? рдХреНрдпрд╛ рдпрд╣ рд╕реБрд░рдХреНрд╖рд╛ рдореЙрдбрд▓/рдХрдордЬреЛрд░ рд╣реЛрдиреЗ рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЖрдкрддреНрддрд┐ рдереА? рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдореЗрдЬ рдкрд░ рд╣реИ рдпрд╛ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░реЛрдбрдореИрдк рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рддрднреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрдм рдЕрдиреНрдп рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдмреА рдФрд░ рд╕реА рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдпрд╣ рд╕рд╛рд░рд╛ рдХрд░реНрдиреЗрд▓ рд╡рд┐рдХрд╛рд╕ рдХрд╣реАрдВ рдФрд░ рд╣реЛрддрд╛ рд╣реИред рдЕрдиреНрдп рдЪреИрдирд▓реЛрдВ рдореЗрдВред

@DXist рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ OSX рдкрд░ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рди рдХрд┐ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдФрд░ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред

@dreamcat4 рдХреА рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рдирдпрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд░реАрдореИрдк рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕рдорд░реНрдерди рд╣реИ? рдпрд╣рд╛рдВ рд╕рдордЧреНрд░ рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдирдХреНрд╕ рдпреВрдЬрд░ рдиреЗрдорд╕реНрдкреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реА (AFAICT) рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХрдВрдЯреЗрдирд░ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рдХреЛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реИ, рд╣реЛрд╕реНрдЯ рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реИ рдЬреЛ рдбреЙрдХрдЯрд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ)ред

рдЧрд╛рдЗрдб рдпрд╣рд╛рдБ рд╣реИ: https://www.jujens.eu/posts/en/2017/Jul/02/docker-userns-remap/

@рдкреИрдЯреНрд░реЛрдмрд┐рдиреНрд╕рди +1

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

surlymo picture surlymo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

programmerq picture programmerq  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

karellm picture karellm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Nurza picture Nurza  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gndgnd picture gndgnd  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ