Moby: рд╕рд╛рдЭрд╛ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд▓рд┐рдП uid рдФрд░ gid рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 23 рдЬреБрд▓ре░ 2014  ┬╖  141рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moby/moby

рдХреГрдкрдпрд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд▓реЙрдЧрд╕реНрдЯреИрд╢-рдлрд╝реЙрд░рд╡рд░реНрдбрд░ рдХреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рдЪрд▓рд╛рдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ/var/lib/docker рд╣реЛрд╕реНрдЯ рд╕реЗ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд░реВрдк рдореЗрдВ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ /var/lib/docker рдХреЛ 0700 рд░реВрдЯ рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд░реВрдЯ рдореИрдВ рдЧреИрд░ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ред

рдореИрдВ рдЬреЛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдПрдирдПрдлрдПрд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХреЛрдИ рд╣реЛрд╕реНрдЯ рд╕реЗ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдореИрдк рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрд╛рдиреА docker run -v /var/lib/docker:/var/lib/ docker:ro :$user:$group рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдПрдЧрд╛, рдЬреЛ $user:$group рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

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

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

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

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ _how_ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрджрд┐ рдПрдХ рддреБрд▓рдиреАрдп рд╕реБрд╡рд┐рдзрд╛ рд▓рд┐рдирдХреНрд╕ рдкрд░ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░, рд╡реЙрд▓реНрдпреВрдо рдкрд░ 'рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдЕрдирджреЗрдЦрд╛' рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдореМрдЬреВрдж рд╣реИред рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдпрд╣ _any_ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдлрд╛рдЗрд▓реЛрдВ/рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рджреЗрдЦреЗрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рд╡реЗ рдорд╛рд▓рд┐рдХ рдереЗред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬреЛрдбрд╝ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

gh#5910 рдЗрд╕реЗ SELinux рдХреА рдУрд░ рд╕реЗ рд╣реИрдВрдбрд▓ рдХрд░рддрд╛ рд╣реИред

рд▓рд┐рдВрдХ: #5910;)

SELinux рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдкрд░ рд▓реЗрдмрд▓ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдореЗрдЬрдмрд╛рди рдкрд░ рдмрджрд▓рд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред рд▓реЗрдХрд┐рди рдорд╛рдЙрдВрдЯ рдкреЙрдЗрдВрдЯ рдкрд░ chown -R $UID:$GID рдХрд░рдирд╛ред

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

рдореБрдЭреЗ рднреА рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рд╣рд┐рдПред

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

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

рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП +1ред
рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдкрдврд╝рдиреЗ/рд▓рд┐рдЦрдиреЗ рдХреА рдорд╛рддреНрд░рд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИред рдЫрд╡рд┐ рдФрд░ рд╣реЛрд╕реНрдЯ рдкрд░ guid/uid рдХреЗ рд╕рдорд╛рди рд╣реЛрдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛ рдбреЙрдХрд░ рдХреЗ рдЕрд▓рдЧрд╛рд╡ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рдПрдХ рдордЬрдмреВрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдбреЙрдХрд░рд╛рдЗрдЬреНрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдмрджрд╕реВрд░рдд рдФрд░ рдзреАрдореЗ рдпреВрдЬрд░рдПрдб/рдЧреНрд░реБрдкрдПрдб рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: https://github.com/ndless-nspire/Ndless/blob/master/ndless-sdk/bin-docker/nspire-docker

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

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

(рд╣рдЯрд╛рдИ рдЧрдИ рдЯрд┐рдкреНрдкрдгреА -- рдЧрд▓рдд рдЯреИрдм, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ)

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

рд╕реБрдбреЛ рдмрд╛рдЗрдВрдбрдлреНрд╕ -рдпреВ рдпреВрдЖрдИрдбреА-рдЬреА рдЬреАрдЖрдИрдбреА тАЛтАЛрдУрд▓реНрдбрдкрд╛рде рдиреНрдпреВрдкрд╛рде

рдлрд┐рд░ рдбреЙрдХрд░ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд░реВрдк рдореЗрдВ рдиреНрдпреВрдкрд╛рде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред Oldpath рдЕрднреА рднреА рдореЗрдЬрд╝рдмрд╛рди рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЕрддрд┐рдерд┐ рдХреЗ рд▓рд┐рдП newpathред

@jjv рд╕рдорд╕реНрдпрд╛ рдмрд╛рдЗрдВрдбрдлреНрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдзреАрдореА рд╣реИред

@ cpuguy83 рд╣рд╛рдБ рдпрд╣ рдЗрд╖реНрдЯрддрдо рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡рд┐рдХрд╛рд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдерд╛ (vmhgfs рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ) рдЬрдмрдХрд┐ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЛ рдЕрднреА рднреА рдореЗрдЬрдмрд╛рди рдФрд░ рдЕрддрд┐рдерд┐ рдХреЗ рдмреАрдЪ рдореЗрд▓ рдЦрд╛рдирд╛ рд╣реИ ...

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ docker рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА bindfs рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рди рд╣рд┐рдЯ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣, рдЖрдкрдХреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реЛрдЧреА рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд╢рд╛рдмреНрджрд┐рдХ uid/gid рдХреЗ рдмрдЬрд╛рдп рддрд╛рд░реНрдХрд┐рдХ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@jsternberg рдпрд╣ рдПрдХ рдЬрдмрд░рджрд╕реНрдд рдкреНрд░рджрд░реНрд╢рди рд╣рд┐рдЯ рд╣реИред vbox рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЧрдП рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реАред

+1

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

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

рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдЦреЛ рд░рд╣рд╛ рд╣реВрдВ (рдореБрдЭреЗ рдЧреЛ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ), рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЧреЛ рдорд╛рдЙрдВрдЯ() рдлрд╝рдВрдХреНрд╢рди рдЭрдВрдбреЗ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣рдо рдЬреИрд╕реЗ рдХрдорд╛рдВрдб рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ
-v host/folder:container/folder -mount-as user:group
рдХреНрдпрд╛ рдЖрдк рд▓реБрдХрдЕрдк рдХреЗ рд╕рд╛рде uid/gid рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ (https://golang.org/src/os/user/lookup_unix.go)
рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ (рдпреВрдЖрдИрдбреА = 1, рдЬреАрдЖрдИрдбреА тАЛтАЛ= 1) рдХреЛ рдорд╛рдЙрдВрдЯ () рдореЗрдВ рдЭрдВрдбреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ? (https://golang.org/src/syscall/syscall_linux.go?s=19154:19249#L754)

@krisgraham рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯреНрд╕ рдЗрд╕ рддрд░рд╣ рд╕реЗ uid/gid рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред

рд╕рд╛рде рд╣реА -v рд╡рд┐рдХрд▓реНрдк рдХреЛ --mount-as рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдЕрд▓рдЧ рдХрд░рдиреЗ рд╕реЗ рдХрдИ -v рд╡рд┐рдХрд▓реНрдк рд╣реЛрдиреЗ рдкрд░ рднреНрд░рдо рдкреИрджрд╛ рд╣реЛрддрд╛ рд╣реИ

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

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

@berfarah рдореИрдВ рд╣рд░ рджрд┐рди рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВред
рд╢рд╛рдпрдж рд╣реА рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдореБрдЭреЗ рдкрд░рдорд┐рдЯ рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдпрджрд┐ рдЖрдк OSX рдкрд░ boot2docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ dir /Users рдХреЗ рднреАрддрд░ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

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

@berfarah рдореЗрд░рд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдореЗрд░реЗ dockerfiles рдХреЛ рд▓рд┐рдЦрдирд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдХрдВрдЯреЗрдирд░-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдХреЛрдб рд╣реИ, рдореЗрд░реЗ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдорд╛рди UID/GUID рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪреВрдВрдХрд┐ рдореЗрд░рд╛ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпреВрдЖрдИрдбреА 1000 рд╣реИ:

RUN \
    groupadd code_executor_group && \
    useradd code_executor_user -g code_executor_group -u 1000

@berfarah RAILS_ENV = рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП stdout/stderr рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдЧ рд╣реИрдВ?

@ cpuguy83 рдпрд╣ рд╕рдорд╕реНрдпрд╛ OSX рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИ; thaJeztah рдиреЗ реирек рдЬреБрд▓рд╛рдИ реирежрезрек рдХреЛ рдЯрд┐рдкреНрдкрдгреА рдХреА:

рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░, рд╡реЙрд▓реНрдпреВрдо рдкрд░ 'рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдЕрдирджреЗрдЦрд╛' рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдореМрдЬреВрдж рд╣реИред рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдпрд╣ рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдлрд╛рдЗрд▓реЛрдВ / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЧрд╛ рдЬреИрд╕реЗ рдХрд┐ рд╡реЗ рдорд╛рд▓рд┐рдХ рдереЗред

@ncjones рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, OS X рдкрд░ рднреА рдпрд╣реА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рдЬрд┐рд╕ "рд╡реЙрд▓реНрдпреВрдо" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рд╡рд╣ OS X рдкрд░ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╣рд╛рд░реНрдбрдбрд┐рд╕реНрдХ/рдкрд╛рд░реНрдЯреАрд╢рди (рд╡реЙрд▓реНрдпреВрдо) рд╣реИрдВред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ Boot2Docker рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдлрд░реНрдХ рдкрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред

рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдпрд╣ тАЛтАЛрд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереА рдХрд┐ рдХреНрдпрд╛ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдХреБрдЫ _similar_ рд╕рдВрднрд╡ рдерд╛ (рдЗрд╕ рдкреНрд░рдХрд╛рд░ Boot2Docker VM рдХреЗ рдЕрдВрджрд░)

рд╡рд╣рд╛рдВ рднреНрд░рдо рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред

@ryneeverett рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдорджрджрдЧрд╛рд░ рд╣реИред рдХреНрдпрд╛ рдЖрдк рддрдм рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдХреНрд░рдорд╢рдГ 755 рд╕реЗ 775 рдФрд░ рдХреНрд░рдорд╢рдГ 644 рд╕реЗ 664 рдореЗрдВ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ? рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдкрдарди рдХреМрд╢рд▓!

@cpuguy83 рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ @ryneeverett рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реАрдорд┐рдд рдлрд┐рдХреНрд╕ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд╛рдлреА рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реВрдВред

@berfarah рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рдорджрджрдЧрд╛рд░ рд▓рдЧрд╛ред рд╣рд╛рдБ, рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реВрдБ рдХрд┐ рдореЗрд░реА рд╣реЛрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкрд╛рд╕ рд╕рд╣реА рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╣реЛрдВ рдФрд░ рдбреЙрдХрд░ рдЙрдиреНрд╣реЗрдВ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИред

+1

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

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

рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЙрджреНрдпрдо рдХреЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдЯрди рдХрдВрдЯреЗрдирд░ w/рдЕрдкрд╛рдЪреЗ рдпрд╛ рдХреБрдЫ рдорд┐рдбрд▓рд╡реЗрдпрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рд╡реЙрд▓реНрдпреВрдо рдФрд░/рдпрд╛ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдордЧреНрд░реА/рдЕрдкрд▓реЛрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдПрдВрдб-рдпреВрдЬрд╝рд░ рдРрдкреНрд╕ рдХреЛ рдХрдВрдЯреЗрдирд░реАрдХреГрдд рдХрд░рддреЗ рд╕рдордп рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрди рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд╕рд┐рд░рджрд░реНрдж рднреА рд╣реБрдП рд╣реИрдВ (рдЬреИрд╕реЗ рд╕рд┐рдВрдХреЙрдо/рд╕реНрдкреЙрдЯрд┐рдлрд╛рдЗ)ред рдЖрдЬ рдХреЗ рдХрдИ рдХрд╛рдордХрд╛рдЬ рд╕реНрд╡рдпрдВ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИрдВред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЗрд╕реЗ рдбреЙрдХрд░ рдХреЗ рдЕрдВрджрд░ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░реВрдЯ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдирд╣реАрдВ рдХрд░рддрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рддреА рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ 0:0 uid/gid рдореЗрд░реЗ рд╣реЛрд╕реНрдЯ рдкрд░ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдореИрдк рдХрд░реЗрдЧрд╛ред рдореБрдЭреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд╕рдВрдж рд╣реИ "рдбреЙрдХрд░ рд░рди -v /var/lib/docker:/var/lib/ docker:ro :$user:$group"ред

@synccomm рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рдкрд░реАрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдбреЙрдХрд░ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдФрд░ рдЬрд▓реНрдж рд╣реА рдХрдВрдЯреЗрдирд░ рдореЗрдВ uid 0 рд╣реЛрд╕реНрдЯ рдкрд░ uid 0 рдирд╣реАрдВ рд╣реЛрдЧрд╛ ... рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдФрд░ рднреА рдкреЗрдЪреАрджрд╛ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ #2259 рдХрд╛ рдбреБрдкреНрд▓реАрдХреЗрдЯ рд╣реИ?

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

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

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

@synccomm рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░рд╛ рдЬреНрдЮрд╛рди рднреА рдирд╣реАрдВ, рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд▓рдкреЗрдЯреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ, рдЬрд┐рд╕реЗ uid/gid рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдЧреИрд░-рдкреНрд░рджрд░реНрд╢рди-рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж FUSE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА +1, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдШрд░ рдореЗрдВ рд░реВрдЯ-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реВрдВред

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

@ibukanov рдпрд╣ uid/gid рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди selinux рд▓реЗрдмрд▓ рдЖ рд░рд╣рд╛ рд╣реИред

@ cpuguy83 рд╣реЛрд╕реНрдЯ рд╡реЙрд▓реНрдпреВрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╕рдордп рдХрд╕реНрдЯрдо uid/gid рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рдХрд╛ рддрдХрдиреАрдХреА рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реИ?

@ibukanov рдЙрдкрд░реЛрдХреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджреЗрдЦреЗрдВред

@ cpuguy83 рдореИрдВ рд╕рд┐рд░реНрдл рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рдореБрджреНрджрд╛ рдХреНрдпрд╛ рд╣реИред рдореЗрд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рдХрд┐рд╕реА рднреА рд░реАрдореИрдкрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреЗ рд╕рдордп рдореИрдВ chown uid:gid /host_volume && chmod 770 /host_volume рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдбреЙрдХрдЯрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЖрдк рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рд╡рд╣ /host_volume рдХреЗ рдкреАрдЫреЗ рд╣реЛрд╕реНрдЯ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдореБрдЭреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рд╣реИрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА, рдХреЗрд╡рд▓ рдЙрдкрд░реЛрдХреНрдд рдСрдкрд░реЗрд╢рди рдХреЛ рдХрдВрдЯреЗрдирд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╣рдореЗрд╢рд╛ рдЧреИрд░-рд░реВрдЯ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред

@ibukanov рдЖрд╣, рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдмрд╛рдд рд╣реИред
рдбреЙрдХрд░, рдХрд╛рдлреА рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ, рд╣реЛрд╕реНрдЯ рдбрд╛рдпрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рд╣рдо # 9092 рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрджрд┐ рдбреЙрдХрд░ рдиреЗ рдбреАрдЖрдИрдЖрд░ рдмрдирд╛рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕реЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡реЙрд▓реНрдпреВрдо рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ (рдпрд╛рдиреА, рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдкрде рдкрд░ рд╕рдм рдХреБрдЫ рд╣реЛрд╕реНрдЯ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ chmod/chown рдЬреИрд╕рд╛ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдерд╛)ред

@ cpuguy83 - рдареАрдХ рд╣реИ,

@ cpuguy83 рдиреЗ рд▓рд┐рдЦрд╛:

рдФрд░ рдЬрд▓реНрдж рд╣реА рдХрдВрдЯреЗрдирд░ рдореЗрдВ uid 0 рд╣реЛрд╕реНрдЯ рдкрд░ uid 0 рдирд╣реАрдВ рд╣реЛрдЧрд╛ ... рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдФрд░ рднреА рдкреЗрдЪреАрджрд╛ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдореИрдВ рдПрдХ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛ред

рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдореМрдЬреВрджрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдореИрдВ рдПрдХ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдерд╛ред

@dato "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди" рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВ; рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://github.com/docker/docker/pull/12648 рдФрд░ рдпрд╣рд╛рдВ https://github.com/docker/docker/pull/11253

рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХреА рд╡рд┐рднрд┐рдиреНрди рдЪрд░реНрдЪрд╛рдПрдВ/рдореБрджреНрджреЗ рд╣реИрдВ :)

+1

рдмрд╕ рдЗрддрдирд╛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╕рднреА рдХреА рддрд░рд╣ рдПрдХ рд╣реА рдирд╛рд╡ рдореЗрдВ рд╣реВрдБ:

рдореИрдВ nginx рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдпреВрдо рдХреЛ /usr/shared/nginx/html рдкрд░ рдмрдврд╝рд╛ рд░рд╣рд╛ рд╣реВрдВред Nginx www-data рд░реВрдк рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЙрд▓реНрдпреВрдо 1000:staff рд░реВрдк рдореЗрдВ рдЖрд░реЛрд╣рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ 403 forbidden ред

@MrMMorris рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╡рд╣реА рдирд╛рд╡ рд╣реИ - рдпрд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ (рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рдкрд░) рд╕реБрдбреЛ рдПрдХреНрд╕реЗрд╕ рдХреЗ рдмрд┐рдирд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред рдЖрдкрдХреЗ www-рдбреЗрдЯрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ рдорд╛рдЙрдВрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрдарди рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рдХреЗрд╡рд▓ chmod a+r рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХреЗрдВред

@ncjones chmod/chown рдХрд╛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рд╣реИ

рдореИрдВ рдмрд╣реБрдд рднреНрд░рдорд┐рдд рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрд╕рдо рдЦрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рджреМрд░рд╛рди рдХрдИ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ...

рдареАрдХ рд╣реИ рдпрд╣ рд╢рд░реНрдордирд╛рдХ рд╣реИ ...

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╛ рддреЛ 1.3.0rc-1 (рд╢рд╛рдпрдж рдирд╣реАрдВ) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╛ рдореЗрд░реЗ рд╕рднреА рдХрдВрдЯреЗрдирд░/рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ docker-compose up рдЪрд▓рд╛рдиреЗ рд╕реЗ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ .... рдФрд░ рдирд╣реАрдВ 403 forbidden

рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ ol' rm -rf * рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рдпрд╛ред

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

@alercunha рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ

@alercunha
рд╣рдордиреЗ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдмрд┐рд▓реНрдб рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЪреБрдирдХрд░ рдмрд┐рд▓реНрдб рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ Dockerfile рдореЗрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрдЧрд╛:

env USER_ID 1000
env GROUP_ID 1000
cmd bash -lc '\
  build.sh && \
  chown -R $USER_ID:$GROUP_ID build \
'

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

docker run \
  -e USER_ID=`id -u` \
  -e GROUP_ID=`id -g` \
  -v $basedir:/workspace

@motin рдмрд┐рд▓реНрдбрд┐рдВрдЧ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ

@ncjones рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдореЗрд░реЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

@alercunha рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддреГрддреАрдп рдкрдХреНрд╖ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЫрд╡рд┐рдпреЛрдВ/рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдореБрджрд╛рдп рдХреЛ рднреА рдмреЗрд╣рддрд░ рд▓рд╛рдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдиреЗ рдЙрди рддреГрддреАрдп-рдкрдХреНрд╖ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ docker-images рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рд╣реИред

www-data рдХреЛ рд╕рднреА рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

RUN usermod -u 1000 www-data

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

docker run -t --rm \
    -v $PWD:/usr/src/app \
    -w /usr/src/app \
    debian:wheezy chown -R $(id -u):$(id -g) ./

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

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

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

рдЖрдк рдЬреЛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдЖрдЬ рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреБрдЫ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ _chown_ рдЪрд▓рд╛рдХрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

+1 рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдЧреИрд░-рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд░рд╣реЗ рд╣реЛрдВ, рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдХрд╛рд░рдг рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

LXC рдХреА id_map рдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛?

рдореИрдВрдиреЗ рдЕрднреА рджреЗрдЦрд╛ рд╣реИ рдХрд┐ "id_map" (рдЙрд░реНрдл рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдорд╕реНрдерд╛рди рд╕рдорд░реНрдерди) рдХрд╛ рдЙрддреНрддрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА @thaJeztah рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реИ

рдЬрдмрдХрд┐ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рдо рд▓рдЧрддрд╛ рд╣реИ, рд╣рдо рджрд░реНрдЬрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЧреИрд░-рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрдорддрд┐ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рдмрдЪ рд░рд╣реЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ:
ENV CONTAINER_USER рдХреМрдВрд╕реБрд▓
рдИрдПрдирд╡реА CONTAINER_UID 312312
рд░рди рдПрдбреНрдпреВрд╕рд░ -D $CONTAINER_USER -u $CONTAINER_UID
рд░рди mkdir -p /var/consul/
рд╕реАрдПрдордбреА рдиреЗ $CONTAINER_USER рдЪреБрдирд╛ред$CONTAINER_USER /var/consul/

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

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

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

рд╕реЛрд▓рд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬрд╣рд╛рдВ рд╣реЛрд╕реНрдЯ рд╕реЗ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд░реВрдк рдореЗрдВ /data рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЖрд░реЛрд╣рд┐рдд рд╣реИ:

#!/bin/bash

chown -R $SOLR_USER:$SOLR_USER /data

su -c "$@" -m $SOLR_USER

_рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорддрджрд╛рди_

_рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдКрдкрд░ рджрд╛рдИрдВ рдУрд░ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рд╣реИред_

рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз рд▓реЛрдЧреЛрдВ рдиреЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ +1 рдХреЗ рд╕рд╛рде рдЖрдкрдХреА рд╕рд╛рд░реНрдердХ рдЪрд░реНрдЪрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рд╣реИ:

@jcercurati
@iangelov
@scue
@razvanphp
@рднреВрдд
@andrerocker
@anandnaly
@dopson
@рдкрд░ рд╣реИ
@ рд╣рджреАрдо
@iyn
@cgrantcharovtp
@sandytrinh
@gomex
@ рдбреЙ рдмреЗрдВрдЯрди
@tehmaspc
@segphault
@avaz
@edavism
@ayeo
@stanislavb
@smebberson
@tony-kerz
@msierks
@pdonorio
@рд╕реИрдорд╕рдВрдЧ8610
@qm78
@joshughes
@roelvanduijnhoven
@рд╡реНрд▓рд╛рджрд┐рдорд┐рд░рдмреНрд░рд╛рдЗрдЯ
@ava-dylang

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

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

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

рдпреВрдЖрдИрдбреА рдЕрдиреБрдХреВрд▓рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрднреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд╛рдзрд╛рдУрдВ рдХреЗ рднреАрддрд░:

  • рдХрдВрдЯреЗрдирд░ рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдпреВрдЖрдИрдбреА (рдУрдВ) рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдпреВрдЖрдИрдбреА рдЕрдиреБрдХреВрд▓рди рд╕рдВрднрд╡ рд╣реИред рдпрд╣ рдореЗрдЬрдмрд╛рди рдХреЛ рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдпреВрдЖрдИрдбреА (рдУрдВ) рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рд╣реИ: рдПрдХ рд╣реА рдпреВрдЖрдИрдбреА рдорд╛рди рдкрд░ рдХрдИ рдЪрд░ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпреВрдЖрдИрдбреА рд░реАрдореИрдкрд┐рдВрдЧ рдПрдХрд▓ рд╣реЛрд╕реНрдЯ рдпреВрдЖрдИрдбреА рдореЗрдВ рдПрдХрд╛рдзрд┐рдХ рдХрдВрдЯреЗрдирд░ рдпреВрдЖрдИрдбреА рдореИрдкрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдкрд┐рдВрдЧ 1:1 рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рдореИрдкрд┐рдВрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдереА рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ uid = 0 рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЖрдк рдЪрд░ рдХреЗ рд╕рд╛рде рдЗрдВрдЬреЗрдХреНрд╢рди рд▓рдЧрд╛рдХрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди uid рд░реАрдореИрдкрд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВред рдКрдкрд░ @ncjones рдФрд░ @mitchcapper рд╕рдорд╛рдзрд╛рди рджреЗрдЦреЗрдВред
  • рд░реВрдЯ рдпреВрдЖрдИрдбреА = 0 рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рд╛рд▓рд╛рдВрдХрд┐ рд░реАрдореИрдкрд┐рдВрдЧ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдПрдХ рдЕрд▓рдЧ рдореВрд▓реНрдп рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: # 12648ред

рд▓рдЧрднрдЧ рд╕рднреА рдЖрдзреБрдирд┐рдХ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрдХ рд▓реЙрдЧ рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдПрдХ рдХреИрд╢ рдлрд╝реЛрд▓реНрдбрд░ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдВрджрд░ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ vboxfs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдзреАрдорд╛ рдерд╛ред рдореБрдЭреЗ рдПрдирдПрдлрдПрд╕ рдорд╛рдЙрдВрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░-рдорд╢реАрди- рдПрдирдПрдлрдПрд╕ рдорд┐рд▓рд╛ рдФрд░ рдпрд╣ рддреЗрдЬрд╝ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдореЗрд░реА рд╡реЗрдм рдлрд╛рдЗрд▓реЗрдВ 502: рдбрд╛рдпрд▓рдЖрдЙрдЯ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ chmod рдпрд╛ chown рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд╡реЗрдм рдРрдк рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред рдореИрдВрдиреЗ рдбреЙрдХрд░ рдпреЛрдирд┐ рдмреЙрдХреНрд╕ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдирд╡реА рд╡рд░реНрд░реНрд╕ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдпреЛрдирд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЕрднреА рддрдХ рдбреЙрдХрд░-рдорд╢реАрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рднрд▓реЗ рд╣реА рдпрд╣ рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛ, рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ 502 рдХреЛ www-data рдпрд╛ рдХреБрдЫ рдФрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ? рдореБрдЭреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рд╣реА рдЪрд╛рд╣рд┐рдП!

+1

рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП; рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рд╣реИ рдЬреЛ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдмрджрд▓ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрд╕реНрдЯ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓ рджреЗрдЧреА (рдЬреЛ рдХрд┐ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдк рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ); рджреЗрдЦреЗрдВ https://github.com/docker/docker/pull/14632 (рдФрд░ https://github.com/docker/docker/pull/16767)

+1

рд╡реИрд╕реЗ, рдореИрдВрдиреЗ ACL . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛

@kvaps , рд╡рд┐рд╕реНрддреГрдд рдХрд░рдиреЗ рдХреА рджреЗрдЦрднрд╛рд▓?

@posita , рдореЗрд░реА рд╢рд░реНрдд рд╣реИ @kvaps рдкреЙрдЬрд╝рд┐рдХреНрд╕ рдПрд╕реАрдПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рд╣реВрдВ, рддреЛ рдпрд╣ рдУрдкреА рдЕрдиреБрд░реЛрдз рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реИред

@posita , @denydias , рд▓рдВрдмреЗ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рд╣рд╛рдБ, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рдореЗрд░реЗ рдкрд╛рд╕ рдУрдирдХреНрд▓рд╛рдЙрдб, рд╕рд╛рдВрдмрд╛ рдФрд░ рдорд┐рдиреАрдбрд▓рдирд╛ рдЬреИрд╕реЗ рдХрдИ рдХрдВрдЯреЗрдирд░ рд╣реИрдВред рд╣рд░ рдХреЛрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рд░ рдХреЛрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝ рдФрд░ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдореЗрдВ acl рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛ uid рдФрд░ gid рдЕрдзрд┐рдХрд╛рд░ рджрд┐рдП рд╣реИрдВ, рдЬреИрд╕реЗ chown рдХрдорд╛рдВрдб:

# give access for owncloud (apache uid 33):
setfacl -R -m "u:33:rwx" /data
# give access for samba (uid 1000):
setfacl -R -m "u:1000:rwx" /data
# give access for minidlna (uid 997):
setfacl -R -m "u:997:r-x" /data
# preserve this permissions for new files and folders:
setfacl -R -d -m "u:33:rwx" /data
setfacl -R -d -m "u:1000:rwx" /data
setfacl -R -d -m "u:997:r-x" /data

@kvaps , рдХрдорд╛рдВрдб setfacl Dockerfile рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг:

FROM nginx

ADD data/conf /etc/nginx

RUN mkdir -p /etc/nginx/sites-enabled

VOLUME /etc/nginx

RUN setfacl -dR -m u:1000:rwx /etc/nginx && setfacl -R -m u:1000:rwx /etc/nginx

рдирддреАрдЬрд╛:

root<strong i="12">@3975ac4fba98</strong>:/etc/nginx# getfacl sites-enabled/
# file: sites-enabled/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдкрд░ рдорд╛рдЙрдВрдЯ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА ACL рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ setfacl рдЪрд▓рд╛рддрд╛ рд╣реИред рдбреЙрдХрд░ рд╕рдВрд╕реНрдХрд░рдг:

Client version: 1.7.1
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 786b29d
OS/Arch (client): linux/amd64
Server version: 1.7.1
Server API version: 1.19
Go version (server): go1.4.2
Git commit (server): 786b29d
OS/Arch (server): linux/amd64

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

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

chown рдмрд┐рдирд╛, рд░рди рдЯрд╛рдЗрдо рдкрд░ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдореИрдВрдиреЗ @ncjones 'рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд░реАрдм рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ chown рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХрдВрдЯреЗрдирд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдпреВрдЖрдИрдбреА рдХреЛ рдмрджрд▓рдирд╛ рдЪреБрдирд╛ред

рдореИрдВ рдЕрдкрдиреЗ Dockerfile рдореЗрдВ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реВрдВ:

RUN adduser --no-create-home --disabled-login --gecos "" username --uid 1000

рдореИрдВ рдЕрдкрдиреЗ Dockerfile рдореЗрдВ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:

CMD ["/run.sh"]

рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рдкрдВрдХреНрддрд┐ рдореЗрд░реА /run.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реИ:

usermod -u $USER_ID username

рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдЕрдм рдореИрдВ USER_ID рдЪреБрди рд╕рдХрддрд╛ рд╣реВрдВ:

docker run -e USER_ID=$(id -u)

рдирдП dockerfile args рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗред рдХрдВрдЯреЗрдирд░ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдХреБрдЫ рдЦрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред (рдбреЙрдХрд░ 1.9 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)

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

# Setup User to match Host User, and give superuser permissions
ARG USER_ID=0
RUN useradd code_executor -u ${USER_ID} -g sudo
RUN echo 'code_executor ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER ${USER_ID} 

рдлрд┐рд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

docker build --build-arg USER_ID=$(id -u)

рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ :)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
рдореИрдВрдиреЗ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдЧрд▓рдд рдореБрджреНрджреЗ рдкрд░ рд▓рд┐рдЦрд╛ рдерд╛ (рдпрд╣ boot2docker рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдПрдХ рдФрд░ рдерд╛)ред
рдорд╛рдлрд╝ рдХрд░рдирд╛ред

@pa-de-solminihac usermod -u $USER_ID username username рдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ рдФрд░ username рдХреЗ HOME рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдкрд╣рд▓реЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рдереА username рдЙрд╕рдХреЗ рдШрд░ рдХреЗ рдмрд╛рд╣рд░ рд╢рд╛рдпрдж рдЕрдкрдардиреАрдп/рдЕрд▓реЗрдЦрдиреАрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдм рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ

@riquito рдореИрдВ рдЗрд╕реЗ Dockerfile рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ:

adduser --no-create-home --disabled-login --gecos "" username --uid 1000

рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ username рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИред рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ;)

FYI рдХрд░реЗрдВ, setfacl OS X рдкрд░ рд╡рд╛рдкрд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ _not_ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

root<strong i="7">@0da3c867240d</strong>:~# setfacl --default --recursive --modify u:500:rwx --modify g:500:rwx /opt/test
setfacl: /opt/test: Operation not supported

(рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, /opt/test рдХреЛ OS X рд╕реЗ Docker рдорд╢реАрди рдФрд░ Boot2Docker рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред boot2docker/boot2docker#581 рднреА рджреЗрдЦреЗрдВред)

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

@ рдЕрд╡рд╛-рдбрд┐рд▓реИрдВрдЧ, рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рдЙрдкрд░реЛрдХреНрдд рдбреЙрдХрд░ рдорд╢реАрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдорд╛рдирддрд╛рдПрдВ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рд╣реИ , рдЬреЛ рд╕рдорд╛рдирддрд╛рдПрдВ рдХреЗ рдореВрд▓ рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рд╕реАрдорд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред (рдпрд╣ рднреА рджреЗрдЦреЗрдВ https://github.com/docker/machine/issues/13#issuecomment-164320881 рдЙрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред)

FWIW, рдореБрдЭреЗ рдЕрдкрдиреА рдЙрдкрдпреЛрдЧрд┐рддрд╛, Scuba рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рдереАред

рдореИрдВрдиреЗ рдПрдХ "рдЗрдирд┐рдЯ" рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝рдХрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╣реА рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдореЗрдЬрдмрд╛рди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рджреЗрдЦреЗрдВ рдЬреЛрдирд╛рдерди рд░реЗрдирд╣рд╛рд░реНрдЯ/рд╕реНрдХреВрдмрд╛#11 рдФрд░ рдЬреЛрдирд╛рдерди рд░реЗрдирд╣рд╛рд░реНрдЯ/рд╕реНрдХреВрдмрд╛#13ред

рдЕрдм рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕реА рд╣реА рджрд┐рдЦрддреА рд╣реИрдВ, рдЬреИрд╕реА рд╡реЗ рд╣реЛрд╕реНрдЯ рдкрд░ рдмрдирд╛рдИ рдЧрдИ рдереАрдВ.

_рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:_ рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рд╣реБрдИрдВ (рдЬреЛрдирд╛рдерди рд░реЗрдирд╣рд╛рд░реНрдЯ/рд╕реНрдХреВрдмрд╛#22)ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореИрдВрдиреЗ рдореЗрдЬрдмрд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ /etc/passwd рдФрд░ рджреЛрд╕реНрддреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдХреЗ рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ (рджреЗрдЦреЗрдВ рдЬреЛрдирд╛рдерди рд░реЗрдирд╣рд╛рд░реНрдЯ/рд╕реНрдХреВрдмрд╛#24)ред

+1

рдЬрдм рд╣реЛрд╕реНрдЯ рдорд▓реНрдЯреА-рдЯреЗрдиреЗрдВрдЯ рдореЛрдб рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдЕрдзрд┐рдХ рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЬрдм рдЖрдк рд╣реЛрд╕реНрдЯ рд╕реЗ рд▓реЗрдХрд░ рдХрдВрдЯреЗрдирд░ рддрдХ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕рд╛рде рд╕рдВрдкреВрд░реНрдг Wordpress рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдРрд╕реЗ Wordpress рдЗрдВрд╕реНрдЯрд╛рд▓ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорддрд┐ рд╕рдорд╕реНрдпрд╛рдПрдБ рдереАрдВред

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

рдореВрд▓ рдЫрд╡рд┐ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ:

### Start of Nginx WEBSERVER setup
RUN mkdir -p /var/www
# Modify www-data user and set UID, GID to 500
# https://muffinresearch.co.uk/linux-changing-uids-and-gids-for-user/
RUN groupmod -g 500 www-data \
    && usermod -u 500 www-data \
    #&& `find / -user 33 -exec chown -h 500 {} \;` \
    #&& `find / -group 33 -exec chgrp -h 500 {} \;` \
    && usermod -g 500 www-data \
    && chown -R www-data:www-data /var/www \
    && chmod g+s /var/www
### End of Nginx WEBSERVER setup

www-data php рдпрд╛ nginx рдЗрдВрд╕реНрдЯреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдбреЗрдмрд┐рдпрди рдФрд░ рд╢рд╛рдпрдж рдЕрдиреНрдп рдбрд┐рд╕реНрдЯреНрд░реЛрд╕ рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ рд╣реИред рдХреБрдЫ PHP, Nginx рдЗрдВрд╕реНрдЯрд╛рд▓ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдкрдиреА рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ UID/GID 500 рд╣реИ (рд╕рдмрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ linux рдкрд╣рд▓реЗ рдЧреИрд░-рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ UID/GID 500 рдпрд╛ 1000 рд╣реИ), рддреЛ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ www-data рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ UID/GID рдХреЛ 33 рд╕реЗ 500 рдореЗрдВ рдмрджрд▓реЗрдВред рдЗрд╕ рддрд░рд╣ рдпрджрд┐ рдЖрдк рд╣реЛрд╕реНрдЯ рд╕реЗ рдХреБрдЫ рднреА рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдбреЙрдХрд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реИ рдЬреЛ www-data рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИрдВ!

рдЖрдкрдХреА PHP-FPM рд╕реЗрдЯрд┐рдВрдЧ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рд╕рдореВрд╣ рдХреЛ www-data рднреА рд╕реЗрдЯ рдХрд░реЗрдВред

рдЕрдкрдиреЗ nginx Dockerfile рдореЗрдВ, рдЖрдкрдХреЛ рдЗрд╕реЗ рднреА рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

# Allow Nginx to access /var/run/php-fpm/php-fpm.sock
RUN usermod -aG www-data nginx

рдЗрд╕ рддрд░рд╣ nginx рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ www-data рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реИ (рдЖрдк nginx рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХреЛ nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдЗрд╕ рд╣реИрдХ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рд╡рд░реНрдбрдкреНрд░реЗрд╕ рдЗрдВрд╕реНрдЯрд╛рд▓ рдореЗрдВ рдХреЛрдИ рдЕрдиреБрдорддрд┐ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ! рд╕рднреА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрд╕реНрдЯ рдкрд░ рд░рд╣рддреА рд╣реИрдВ + Wordpress рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

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

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

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

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

рдЬрдм рддрдХ рдбреЙрдХрд░ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рджреЗрддреЗ, рддрдм рддрдХ рдзрд╛рд░рдгрд╛рдПрдВ рдмрдиреА рд░рд╣реЗрдВрдЧреАред

рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди @JonathonReinhart рдпрд╛ @ pa-de-solminihac рд╡рд╛рд▓реЗ рдЬреИрд╕рд╛ рд╣реА рд╣реИред

рдЖрдк рд╕реНрдерд╛рдиреАрдп рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛рдХрд░ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдорд╛рд╕реНрдЯрд░ https://github.com/docker/docker/pull/20262 рдореЗрдВ рдЙрддрд░рд╛ рд╣реИ

рдЗрд╕реЗ рддрдп рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░рдирд╛ред

рдирдорд╕реНрддреЗ, рдореБрдЭреЗ рдЕрдкрдиреЗ рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рднреА рдХрд░рдирд╛ рдкрдбрд╝рд╛:

...
COPY start.sh /root/start.sh
CMD /root/start.sh

рдФрд░ рдлрд┐рд░ start.sh . рдореЗрдВ

usermod -u $USER_ID www-data
exec php-fpm

рдЪреВрдВрдХрд┐ $USER_ID рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрд╢реЛрдзрди рдХреЗ рдЙрд╕ рдбреЙрдХрд░ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

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

@ keywan-ghadami рдореИрдВ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдкрд░ рднреА рдЙрд▓рдЭрди рдореЗрдВ рдерд╛ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╛ tmpfs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред рддреЛ рдпрд╣ /var/lib/docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк _any_ рдореМрдЬреВрджрд╛ FS рдХреА рдЙрдк-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ uid рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕реНрдХрд░рдг рдХрд┐рд╕ рд▓рд┐рдП рд╣реИрдВ; рдЖрдк рд╕рдорд╛рди рд░реВрдк рд╕реЗ FS рдХреЛ рд╕реНрд╡рдпрдВ рдмрдирд╛ рдФрд░ рдорд╛рдЙрдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрд╕реНрдЯ рд╡реЙрд▓реНрдпреВрдо ( -v my-created-fs:container-mount-point ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдХрд╛рдлреА рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИ рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ? рдпрд╣рд╛рдВ рд╕рдВрджрд░реНрднрд┐рдд рд╕рднреА рд╡рд┐рднрд┐рдиреНрди рдореБрджреНрджреЛрдВ рд╕реЗ рдпрд╣ 100% рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐

рдореЗрд░реЗ рд▓рд┐рдП, рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдВрдЧ рдпреВрдЖрдИрдбреА рдФрд░ рдЬреАрдЖрдИрдбреА тАЛтАЛрд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмреАрдЪ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рд▓рд┐рдП рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдФрд░ рдЬрдм рднреА рдореИрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдмреВрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдпрд╛ рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╣рд░ рдмрд╛рд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬрдм рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдбреЙрдХрд░рдлрд╛рдЗрд▓ред рдХреНрдпрд╛ Dockerfile рдореЗрдВ рдпрд╛ рд╢рд╛рдпрдж docker-compose.yml рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЛрдИ рдЖрд╕рд╛рди рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ "рдореЗрдЬрдмрд╛рди uid рдлреНрд░реЙрдо рд╣реЛрд╕реНрдЯ" рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╡рд╣рд╛рдБ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдпрд╛ рдЗрд╕ рдзрд╛рдЧреЗ рд╕реЗ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ред

рдзрдиреНрдпрд╡рд╛рдж @alvinchevolleaux рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рд╕реАрдЖрдИ рдореЗрдВ рдКрдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ https://github.com/dotnet/cli рдХреЗ рд▓рд┐рдП рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдорд╣реАрдиреЛрдВ рд╕реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдЗрд╕рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░реЗрдВ!

@brthor рд╣рд╛рдБ, рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЧрдпрд╛ рд╣реВрдБ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ export USER_ID=$(id -u) рдЬреЛрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдореЗрд░реЗ рд╡рд┐рднрд┐рдиреНрди рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИред рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

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

рдЖрдкрдХреЗ Dockerfile рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

RUN useradd --uid 1000 -m vagrant
USER vagrant

рдирд┐рд░рдВрддрд░ 1000 рдХреЛ _git рдлрд╝рд┐рд▓реНрдЯрд░_ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ UID рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╣реЛрд╕реНрдЯ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд▓рд╛рдПрдБ:

git config filter.uidfix.smudge "sed s/1000/$UID/g"
git config filter.uidfix.clean "sed s/$UID/1000/g"

рдЕрдВрдд рдореЗрдВ, git рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .gitattributes рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ:

Dockerfile filter=uidfix

рдпрд╣ рдЖрдкрдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде 1000 рдХреЛ рдмрджрд▓рдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдк рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ _smudding_ рдлрд╝рд╛рдЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдЖрдк рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдЧрд┐рдЯ _clean_ рдлрд╝рд╛рдЗрд▓ ( 1000 рд╡рд╛рдкрд╕ рдбрд╛рд▓ рджреЗрдЧрд╛)ред рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХреЛрдИ рднреА рдХрдорд╛рдВрдб рд╕рд╣реА рдпреВрдЖрдИрдбреА рдХреЗ рд╕рд╛рде vagrant рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреА рд╣реИред

рдЗрд╕ рдЯрд┐рдХрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╕рднреА рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ
рдореБрдЭреЗ https://github.com/rocker-org/rocker/blob/master/rstudio/userconf.sh рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░рд▓реЗрдЦрд┐рдд рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ред
рдпрд╣ рд░рдирдЯрд╛рдЗрдо рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реАрдмрд┐рд▓реНрдб рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЧрд┐рдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ

@calavera рдореИрдВ рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╕рдордЭрддрд╛ред

рдЬреИрд╕реЗ

$ mkdir /tmp/test
$ sudo docker volume create --name=test -d local --opt type=nfs --opt device=/tmp/test:/data --opt o=notime,nosuid,uid=11459,git=11459
$ sudo docker run -t -i -v test:/tmp fedora bash -i
[.. $] touch /tmp/foo.txt
[.. $] exit
$ ls -la /tmp/test

рдЬрдм рдореИрдВ /tmp/test рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рддреЛ рдХреЛрдИ рдлрд╛рдЗрд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ /tmp/test рдлрд╝реЛрд▓реНрдбрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рднреА рдЖрд░реЛрд╣рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реИ... рдмрд▓реНрдХрд┐ рдпрд╣ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╡реЙрд▓реНрдпреВрдо рдмрдирд╛ рд░рд╣рд╛ рд╣реИред рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдХреЛрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рд╡реИрдз --opt рд╡рд┐рдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИрдВред рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

@calavera
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╕реНрдерд╛рдиреАрдп рд╣реЛрд╕реНрдЯ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд╕рд╛рде рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝реА рдЬрд╛ рд░рд╣реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдХреНрд╕рд░ рдлрд╕рд▓ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЦрд╛рд╕рдХрд░ рд╕реАрдЖрдИ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордпред

рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреАрдЖрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдореБрдЭреЗ рддреБрд░рдВрдд рдХреБрдЫ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ

рдореИрдВ рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЗрд╕ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рд╡рд┐рд╡рд┐рдзрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреИрд╕реЗ рдХрд┐ docbill/docker-force ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдПрдХ рдХреНрд▓реАрдирд░ рд╕рдорд╛рдзрд╛рди рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рд╕реНрдХреНрд╡реИрд╢рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ ...

рд╕реНрдерд╛рдиреАрдп рдХреЗ рд▓рд┐рдП bindfs рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдорджрдж рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред рдЖрдк рдЗрд╕реЗ -o map=$(id -u)/root:@$(id -g)/ @root (рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реНрдерд╛рди рдирд╣реАрдВ рдорд╛рдирддреЗ рд╣реБрдП) рдХреЗ рд╕рд╛рде рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рдЕрдкрдиреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рд╡реЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИрдВ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдЬрдбрд╝ред

@ktosiek рдзрдиреНрдпрд╡рд╛рдж, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрд╖рдорддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг docker run рдХрдорд╛рдВрдб рдпрд╛ рдХрдВрд╕реЛрд▓ рд╕рддреНрд░ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдПрдХ рд╕реНрдерд┐рддрд┐ рдЕрджреНрдпрддрди рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ: рдХреНрдпрд╛ рдЗрд╕реЗ "рдареАрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдзрд╛рдЧрд╛ рдХрд╛рдлреА рд▓рдВрдмрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдирдЬрд╝рд░ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рд╕рдВрдХрд▓реНрдк рдХреНрдпрд╛ рд╣реИред

@quinncomendant рджреЗрдЦреЗрдВ https://github.com/docker/docker/issues/7198#issuecomment -191990887
рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВред

рдзрдиреНрдпрд╡рд╛рдж @LK4D4ред

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

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИрдВ рд╕рдореВрд╣ рд╡реЙрд▓реНрдпреВрдо_ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд░реЛрд╣рд┐рдд рд╣реИ (рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕рд╣реА рдХрд░реЗрдВ рдпрджрд┐ рд╡рд╣ рд╡рд┐рдХрд▓реНрдк рдореМрдЬреВрдж рд╣реИ-рдпрд╣реА рд╡рд╣ рд╣реИ рдЬреЛ рдореИрдВ рдпрд╣рд╛рдВ рд╕реАрдЦрдиреЗ рдЖрдпрд╛ рдерд╛)ред

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

@quinncomendant рдпрд╛ рд╕рд░рд▓ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдпрд╣ рдареАрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛.... рдЪреВрдВрдХрд┐
рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдорд╛рдзрд╛рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдЧрдИ рд╣реИ, рди рд╣реА рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИред

рем рдЬреБрд▓рд╛рдИ реирежрезрем рдХреЛ резрен:реиреж рдмрдЬреЗ, рд╕реЗрдмрд╕реНрдЯрд┐рдпрди рд╡реИрди рд╕реНрдЯрд┐рдЬрди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@quinncomendant https://github.com/quinncomendant рд╕рд╣реА; рдХрдм
рдПрдХ рд╣реЛрд╕реНрдЯ-рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗ рдЬреЛ
рдЬреИрд╕реЗ рд╣реИрдВ, рд╡реИрд╕реЗ рд╣реА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдЕрдиреБрдорддрд┐рдпрд╛рдБ, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдЗрдВрдб-рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣реЛрд╕реНрдЯ рдкрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/docker/issues/7198#issuecomment -230909967, рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe/ADBcWLihVjI1FoSMLKu7DyhwFOpGX0KKks5qTBwMgaJpZM4CQMjR
.

рдпрд╣ рдПрдХ WON'T FIX рд╕рдорд╕реНрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред рдРрд╕рд╛ рд╣рдореЗрд╢рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдХреЗ _рд╡рд┐рдХрд╛рд╕_ рдкрд╣рд▓реБрдУрдВ рдХреА рдЕрдирджреЗрдЦреА рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ рдФрд░ рдЕрднреА рднреА рд╣рдореЗрдВ рд╣реИрдХреНрд╕ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

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

рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА тАЛтАЛрдореЗрдВ рд╢рд┐рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ _docker рд╡рд┐рд╢рд┐рд╖реНрдЯ_ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@boj рдпрд╣ рд╕рдЯреАрдХ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕реНрдХреВрдмрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЪрд▓рд╛рдпрд╛ рдерд╛ред рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди, рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдорд╛рди uid/gid рдХреЗ рд╕рд╛рде рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@JonathonReinhart рдзрдиреНрдпрд╡рд╛рдж, рдЖрдкрдиреЗ рдореБрдЭреЗ рдереЛрдбрд╝реА рдкреНрд░реЗрд░рдгрд╛ рджреАред

рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдореЗрдЬрдмрд╛рди рд╕реЗ рдмреБрд▓рд╛рдП рдЧрдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░реИрдкрд░ рдХреЛ рд▓рд┐рдЦрдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ (рд╡реЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ django рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ):

# bin/manage.py
#!/bin/sh

docker run -v $(pwd):/usr/local/prj -it --entrypoint="/usr/bin/python3.4" -w /usr/local/prj -u $(id -u):$(id -g) prj src/prj/manage.py $@

@boj рдЙрд╕ рд╕рдорд╛рдзрд╛рди ( -u $(id -u):$(id -g) ) рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЙрд╕ uid/gid рдХреЗ рд▓рд┐рдП /etc/passwd рдпрд╛ /etc/group рдореЗрдВ рдХреЛрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдирд╣реАрдВ рд╣реИ: https://github .com/JonathonReinhart/scuba/issues/11

@JonathonReinhart рдиреЗ рдиреЛрдЯ рдХрд┐рдпрд╛ред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╣реЛрд╕реНрдЯ рдХреЛ рд▓рд┐рдЦреА рдЧрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдкрд░рд╡рд╛рд╣ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реЛрд╕реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдорд╛рди рдЕрдиреБрдорддрд┐рдпрд╛рдВ рд╣реИрдВред

рд░рдирдЯрд╛рдЗрдо рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣реА рдЪрд╛рд╣рд┐рдП рдерд╛ред

@JonathonReinhart

рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ /etc/passwd рдпрд╛ /etc/group рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЫрд╡рд┐ рдореЗрдВ рд╡рд┐рд╢реНрд╡-рд▓реЗрдЦрди рдпреЛрдЧреНрдп рдмрдирд╛рдПрдВ рдФрд░ рдлрд┐рд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдЬреЛрдбрд╝реЗрдВред

рддреЛ @JonathonReinhart (uid/gid рдореИрдкрд┐рдВрдЧ) рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рдорд╛рдзрд╛рди рдЗрд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░рдирдХ (https://github.com/opencontainers/runc/blob/8c9db3a7a5145f6b26c8051af319eee6f72c9ca8/libcontainer/configs/config.go#L19-24) рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╣реИред рдбреЙрдХрд░ рдореЗрдВ рдбреАрдорди рдХреЗ рд▓рд┐рдП userns-remap рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдмрдврд╝рд┐рдпрд╛ (рдбреАрдорди рд╕реНрддрд░ рдХреЗ рдмрдЬрд╛рдп рдХрдВрдЯреЗрдирд░ рд╕реНрддрд░) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд░реБрдЪрд┐/рдпреЛрдЬрдирд╛ рд╣реИ?

рдпрд╣ docker-compose.yml рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:

version: '2'

services:
  app:
    build: ./app
    container_name: myapp
    volumes:
      #- "../app:/root/www/myapp:rw"
      - myapp:/root/www/myapp:rw

volumes:
  myapp:
    driver: local
    driver_opts:
      o: uid=500
      device: ../app

рдХреЛрдИ рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВ? рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ: https://docs.docker.com/engine/reference/commandline/volume_create/#/driver -specific-options

рдХреНрдпрд╛ рд╣реЛрд╕реНрдЯ рд╕реЗ рдирд╛рдорд┐рдд рд╡реЙрд▓реНрдпреВрдо рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? driver_opts рдЖрдк uid (рдФрд░ рд╢рд╛рдпрдж gid ?) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

+1

+1

@lazyuser @xiaods рдХреГрдкрдпрд╛ +1 рдХреЗ рд╕рд╛рде рд░реБрдХреЗрдВ ред рдпрд╣ рдЙрди рд╕рднреА ---> рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рд╕реНрдкреИрдо рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@bamarni рд╣рд╛рдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдирд╛рдорд╕реНрдерд╛рди рд╕реБрд╡рд┐рдзрд╛ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд╣рд╛ рдерд╛, рдЗрд╕реЗ рдкреНрд░рддрд┐ рдХрдВрдЯреЗрдирд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдпрд╣ рд╣реЛрдЧрд╛: рдПрдХ рдХрдВрдЯреЗрдирд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╡рд╣ рд╕реЛрдЪрддрд╛ рд╣реИ рдХрд┐ "рд░реВрдЯ" рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА docker run рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рддрдм рдЙрдкрдпреБрдХреНрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ "рдмрд╛рд╣рд░" рдЖрдПрдВрдЧреАред

@lazyuser @xiaods @JonathonReinhart рдЖрдкрдХреЛ рд╕рдорд╕реНрдпрд╛ рд╡рд┐рд╡рд░рдг рдХреЗ рддрд╣рдд +1 рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рдпрд╛ рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рд╕реВрдЪрдирд╛рдПрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рджрд╛рдИрдВ рдУрд░ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ...

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

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

_(https://docs.docker.com/engine/reference/commandline/dockerd/#/daemon-user-namespace-options)_

рдкреНрд░рд┐рдп @JonathonReinhart , @pa-de-solminihac рдФрд░ @nalipaz ,
рдореБрдЭреЗ рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдЯрд┐рдкреНрдкрдгреА рди рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! FYI рдХрд░реЗрдВ, Github рдХрдо рд╕реЗ рдХрдо рдЙрди рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд┐рдП рдмрд┐рдирд╛ рдЙрди рдореБрджреНрджреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдирдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рдЧрдИ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП https://github.com/isaacs/github/issues/283 рджреЗрдЦреЗрдВред рд╡рд┐рдбрдВрдмрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЬреАрдердм рдХрд╛ рдореБрджреНрджрд╛ рдбреЙрдХрд░ рдХреА рдЙрдореНрд░ рдХреЗ рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИ, рдФрд░ рджреЛрдиреЛрдВ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИред

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

рдореИрдВрдиреЗ рдЗрд╕реЗ 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 рджреЗрдЦреЗрдВ ред

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

@ codekitchen-ws рдПрдХ рдФрд░ рдЪреЗрддрд╛рд╡рдиреА: рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдФрд░ рдорд╛рд▓рд┐рдХ рдмрджрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╢реЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЖрдк "$f" (рдкрде рдореЗрдВ рд╢рдмреНрдж-рд╡рд┐рднрд╛рдЬрди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП) рдЙрджреНрдзреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред

+1

@briansrepo рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реАрдХрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ Dockerfile RUN рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рд╣реИ, рдЬреЛ рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдкрд░ рдпрд╣ docker run рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреИрд╕реЗ рдЬрд╛рди рд╕рдХрддрд╛ рд╣реИ?

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

рдЙрджрд╛рд╣рд░рдг: рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣реЛрд╕реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /var/www/html рдХрд╛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдмреНрд░рд╛рдпрди:www-рдбреЗрдЯрд╛ рдХреЗ рдкрд╛рд╕ рд╣реИред рдЖрдк рдПрдХ рдЫрд╡рд┐ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЫрд╡рд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ / рдорд╛рдЙрдВрдЯ рдкрд░ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /var/www/html рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдк рдЗрдореЗрдЬ рдХреЗ рдЕрдВрджрд░ рд╕реЗ /mount/index.html рдмрдирд╛рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдореЗрдЬрдмрд╛рди рд╕рд┐рд╕реНрдЯрдо рдкрд░ /var/www/html/index.html рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмреНрд░рд╛рдпрди: www-рдбреЗрдЯрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реЛрдЧрд╛

рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ www-data:www-data рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдПрдХ рд╣реЛрд╕реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ /var/www/html/upload рд╣реИ рдмреНрд░рд╛рдпрди рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рд╣реИ рдмреНрд░рд╛рдпрди: www-рдбреЗрдЯрд╛ , рдирд╣реАрдВ www- рдбреЗрдЯрд╛: www-рдбреЗрдЯрд╛ , рдХреНрдпреЛрдВрдХрд┐ рдШреБрдбрд╝рд╕рд╡рд╛рд░ рдореЗрдЬрдмрд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ / var / www / html рд╣реИ рдмреНрд░рд╛рдпрди рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ

рдЯреАрдПрд▓; рдбреАрдЖрд░: рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛: рд╕рдореВрд╣ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

@briansrepo рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рд╕рдм рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдпрд╣ RUN рдЕрдВрджрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдпрд╛рдиреА docker run )ред

@btiernay рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рднреА рдкрд╕рдВрдж рд╣реИред
@briansrepo рдХрдо рд╕реЗ рдХрдо рдпрд╣ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред
рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрднреА рднреА рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

RUN usermod -u 1000 www-data

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпреЗ рдЕрднреА рднреА рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИрдВред

рдореЗрд░реЗ LEMP рд╕реНрдЯреИрдХ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ рдЖрдзрд╛рд░ Dockerfile рдореЗрдВ рдпрд╣ Nginx рдкреВрд░реНрд╡-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ:

### Start of Nginx WEBSERVER setup
RUN mkdir -p /var/www
# Modify www-data user and set UID, GID to 500
# https://muffinresearch.co.uk/linux-changing-uids-and-gids-for-user/
RUN groupmod -g 500 www-data \
    && usermod -u 500 www-data \
    && usermod -g 500 www-data \
    && chown -R www-data:www-data /var/www \
    && chmod g+s /var/www
### End of Nginx WEBSERVER setup

рдпрд╣ рдПрдХ рд╣реИрдХ рд╣реИ рдЬрд╣рд╛рдВ рд╣реЛрд╕реНрдЯ рдПрд╕рдПрд╕рдПрдЪ рд╕рддреНрд░ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдирдИ рдмрдирд╛рдИ рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рдпреВрдЖрдИрдбреА, 500 рдХреА рдЬреАрдЖрдИрдбреА тАЛтАЛтАЛтАЛрдФрд░ nginx рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдВрддрддрдГ рдЙрди рдлрд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рдкрд╛рдПрдВрдЧреА (рдХреНрдпреЛрдВрдХрд┐ 500 тАЛтАЛрдХреА рдЖрдИрдбреА рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд╕рдореВрд╣ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛)ред рдЬрдм рдЖрдк ssh рд╕рддреНрд░ рд╕реЗ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕рд╛рдЭрд╛ рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдирдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЖрдк рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдореЗрдВ docker exec рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ www-data рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ uid, gid рдирдВрдмрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦрдХрд░ рдпреВрдЖрдИрдбреА, рдЬреАрдЖрдИрдбреАред

рдореБрдЭреЗ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА, рдЕрдЧрд░ рдореИрдВрдиреЗ рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдкрд░ рд╕рд╛рдЭрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ (рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ ssh рд╕рддреНрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛, рдЬреИрд╕реЗ DigitalOcean рдкрд░ CoreOS рдЙрджрд╛рд╣рд░рдг рдореЗрдВ), Nginx рдХреА рдЙрди рдирдИ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдг рд╕рдВрдЧрддрддрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЕрдкрдиреА рд╡реЗрдмрд╕рд░реНрд╡рд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдХрдо рд╕реЗ рдХрдо 1 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдпрд╣ рдорд╛рдорд▓рд╛ рдерд╛, рдЬрдм рдореИрдВ рдЗрди рдпреВрдЖрдИрдбреА рдореЗрдВ рдЪрд▓рд╛, рд╕рд╛рдЭрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЬреАрдЖрдИрдбреА тАЛтАЛрдореБрджреНрджреЗ) .

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

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

docker volume create --opt рдЖрдк uid, gid рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ docker-compose рд▓рд┐рдП рд╕рд╣реА рдирд╣реАрдВ рд╣реИ: https://github.com/docker/compose/issues/3715

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

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

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рд╣реИрдВ: https://github.com/boxboat/fixuid

рдЙрджрд╛рд╣рд░рдг: рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рд╕рдореВрд╣ dockeruser:dockergroup UID/GID 1000:1000 ред рд╣реЛрд╕реНрдЯ рдпреВрдЖрдИрдбреА/рдЬреАрдЖрдИрдбреА 1001:1002 рд░реВрдк рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЫрд╡рд┐ docker run -u 1001:1002 рд╕рд╛рде рдЪрд▓рддреА рд╣реИред fixuid рд╣реЛрдЧрд╛:

  • dockeruser рдпреВрдЖрдИрдбреА рдХреЛ 1001 рдореЗрдВ рдмрджрд▓реЗрдВ
  • dockergroup GID рдХреЛ 1002 . рдореЗрдВ рдмрджрд▓реЗрдВ
  • рдкреБрд░рд╛рдиреЗ dockeruser:dockergroup рд▓рд┐рдП рд╕рднреА рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ 1001:1002 рдореЗрдВ рдмрджрд▓реЗрдВ
  • рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ $HOME рдХреЛ dockeruser $HOME . рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ
  • рдЕрдм рдХрдВрдЯреЗрдирд░ рдФрд░ рд╣реЛрд╕реНрдЯ UID/GID рдореИрдЪ рдФрд░ рд╣реЛрд╕реНрдЯ рдорд╛рдЙрдВрдЯ рдкрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рдореЗрд▓ рдЦрд╛рдПрдБрдЧреА

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

рдпрджрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╕рд╛рдмрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдбреЙрдХрд░ рдЗрдВрдЬрди docker run рдореЗрдВ рдЭрдВрдбреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рдпрд╛ рд╕рднреА рддрд░реНрдХреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

docker volume рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

@рд╣рд╢рд░ рдХреИрд╕реЗ? рдХреНрдпрд╛ рдЖрдк рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ pls

рддреЛ рдХреНрдпрд╛ gosu рдФрд░ рдПрдХ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ ?!

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ 2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЬрдм рддрдХ рдХрд┐ рдбреЙрдХрд░ рдЯреАрдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░рддреАред

рдЗрддрдиреА рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд░реАрдореИрдк рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИред

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

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

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

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

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

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

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