рдбреЙрдХрд░ рдХреЗ рддрд╣рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░реЗрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, GIT рдХрд╛ рдЗрд╕рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ?



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

cap_add:
- SYS_ADMIN
- DAC_READ_SEARCH




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

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

рдареАрдХ рд╣реИ, рдореИрдВ рдЕрдкрдиреА рд╣реЛрдо рдорд╢реАрди рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рднреА рд╣реИ, рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред рдореИрдВ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВред рд╡рд╣реА рдЕрдВрдбреЗ:

рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рддреБрдо рдкрдХрдбрд╝рддреЗ рд╣реЛ!

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

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

mkdir -p $SMB_MOUNT_POINT
mount -t cifs $SMB_SHARE $SMB_MOUNT_POINT -o user=$SMB_USER,password=$SMB_PASSWORD,vers=2.0
ls $SMB_MOUNT_POINT

рдпрд╣реА рд╣реИ, рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдкрд╛рд╕рд┐рдВрдЧ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдмрдХрд╡рд╛рд╕?

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

рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЙрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реВрдВ, рдкреБрд░рд╛рдиреЗ рдУрдкрдирдЬреЗрдбрдХ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ: 8-рдЬреЗрдбреАрдХреЗ-рдЕрд▓реНрдкрд╛рдЗрди-3.8, рдУрдкрдирдЬреНрдбрдХ: 8-рдЬреЗрдбрдбреА-рдЕрд▓реНрдкрд╛рдЗрди-3.7, рдЖрджрд┐ред - рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдЬрд╛рдВрдЪреЗрдВ - рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рдЬреИрд╕рд╛ рд╣реИред

рд▓рд╛рдирдд рд╣реИ! рд╢рд╛рдпрдж рдореИрдВ рдЕрднреА рднреА рдЕрдкрдиреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдХреБрдЫ рдмрджрд▓ рдЧрдпрд╛ рд╣реВрдВ? рдПрдХ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ GIT'a рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЙрддрд╛рд░рдирд╛, рдПрдХрддреНрд░ рдХрд░рдирд╛ - рд╡рд╣реА рдЧреНрд▓рд┐рдЪред рддреАрди рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ - рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рд╣реИред рдРрд╕рд╛ рдХреИрд╕реЗ? рдХрд┐рдпрд╛ рдмрджрд▓ рдЧрдпрд╛? Docker рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд╛рд░рдВрдЯреА рд╣реИ, рдЫрд╡рд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпрд╛ рддреЛ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрд░реЛрдд рд╕рдорд╛рди рд╣реИрдВ (GIT рд╕рдм рдХреБрдЫ рдмрдЪрд╛рддрд╛ рд╣реИ)ред рдХреЛрдИ рдЪрдорддреНрдХрд╛рд░ рдирд╣реАрдВ рд╣реИ - рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╣рд╛рдВ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдареЗрд╕ рдореЗрдВ, рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЧреЗрдВрджреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдХрдорд╛рдВрдб рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реВрдВ - рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдкреБрдирд░рд╛рд░рдВрдн рд╕реЗрд╡рд╛рдПрдВ рдареАрдХ рдирд╣реАрдВ рд╣реЛрдВрдЧреА рдФрд░ рд╕реЛ рдЬрд╛рдПрдВрдЧреЗред рд╕реБрдмрд╣ рд╢рд╛рдо рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕рдордЭрджрд╛рд░ рд╣реИред

рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рддреБрдо рдкрдХрдбрд╝рддреЗ рд╣реЛ!

рдЕрдЧрд▓реА рд╕реБрдмрд╣ рд╡рд┐рдЪрд╛рд░ рдЖрддрд╛ рд╣реИ - рдХрд┐ рд╢рд╛рдпрдж рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ, рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддреА рд╣реИред

рд╕рдВрджреЗрд╢ "рдорд╛рдЙрдВрдЯ рдПрд░рд░ (22): рдЕрдорд╛рдиреНрдп рддрд░реНрдХ" рдмрд╣реБрдд рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреИрд╢ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рджреВ рдХреА рдХреБрдВрдЬреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╢ рдХреЗ рдЕрдВрджрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░реЗрдВ:

/ # sh -x /entry-point.sh
' echo 'Mount //<private_ip>/Exchange/Pipeline to /pipeline
Mount //<private_ip>/Exchange/Pipeline to /pipeline
' mkdir -p '/pipeline
' mount -t cifs //<private_ip>/Exchange/Pipeline /pipeline -o 'user=<private_user>,password=<private_password>,vers=2.0
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
mount: mounting //<private_ip>/Exchange/Pipeline on /pipeline failed: Invalid argument
' ls '/pipeline
+ exec

рдФрд░ рдпрд╣рд╛рдВ рдХреБрдЫ рдЕрдЬреАрдм рдХреНрд╖рдг рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ - рдкрдВрдХреНрддрд┐ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдлрд┐рд░ рдЕрдВрдд рдореЗрдВ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ ... рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рдХрд╣рд╛рдВ рд╕реЗ рд╣реИрдВ?

рдЖрдЗрдбрд┐рдпрд╛ - рдЕрд╕рд▓реА рдмреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

BASH рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

apk add bash

рдореИрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ:

/ # bash -x /entry-point.sh
' echo 'Mount //<private_ip>/Exchange/Pipeline to /pipeline
Mount //<private_ip>/Exchange/Pipeline to /pipeline
+ mkdir -p $'/pipeline\r'
+ mount -t cifs //<private_ip>/Exchange/Pipeline /pipeline -o $'user=<private_user>,password=<private_password>,vers=2.0\r'
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
mount: mounting //<private_ip>/Exchange/Pipeline on /pipeline failed: Invalid argument
+ ls $'/pipeline\r'
+ exec

рдЕрд░реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬрдм рд▓рд╛рдЗрди рдПрдХ рдкреНрд▓рд╕ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ - рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ \ r рдФрд░ $ '...' рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджрд┐рдП ред

рд╣рдордиреЗ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ apk add mcрдФрд░ рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рдбрдирд╛рдЗрдЯ рдХрдорд╛рдВрдбрд░ рдХреЛ рд╕реЗрдЯ рдХрд┐рдпрд╛ , рдФрд░ рд╡рд╣рд╛рдБ:



рдУрдкреНрдкрд╛! ^ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдо ред рдареАрдХ рд╣реИ, рдареАрдХ рд╣реИ, рд╕реНрдерд╛рдиреАрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рджреЗрдЦреЛ - рдХреНрдпрд╛ рд▓рд╛рдЗрди рдЕрдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ ???? CRLFред рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ред

рдЗрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ CRLF рдлрд╝рд╛рдЗрд▓ рдХреЛ LF (рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд▓рд╛рдЗрд╡ рдиреЛрдЯрдкреИрдб ++!) рдореЗрдВ рдмрджрд▓реЗрдВ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реАрдЬрд┐рдП - рдмрд┐рдВрдЧреЛ! рдпрд╣ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдЙрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ .gitattributes рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ , рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ UNIX рдХреА рддрд░рд╣ рд▓рд╛рдЗрди рд╡рд░реНрдгреЛрдВ рдХреЗ рдЕрдВрдд рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Declare files that will always have LF line endings on checkout.
*.sh text eol=lf

рдиреИрддрд┐рдХрддрд╛ - рдХрднреА-рдХрднреА рдЕрдкрд░рд╛рдзреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рдВрджрд┐рдЧреНрдзреЛрдВ рдХреЗ рдШреЗрд░реЗ рдореЗрдВ рднреА рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред

рдкреА.рдПрд╕


рд╡рд┐рдВрдбреЛрдЬ 2.2.0.3 рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдбреЗрд╕реНрдХрдЯреЙрдк рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдм рдХреБрдЫ рд╡рд╛рдкрд╕ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рдЗрд╕ рдмрд╛рд░, рдореИрдВ рддреБрд░рдВрдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдЧрдпрд╛, рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╣реЛрд╕реНрдЯ рдорд╢реАрди рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП 10.0.75.1 рдЖрдИрдкреА рдкрддреЗ рдиреЗ рдХрд╛рдо рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЕрдм DockerNat рдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ DockerDesktopVM рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдПрдбрд╛рдкреНрдЯрд░ рднреА рдирд╣реАрдВ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдПрдХ рдорд╛рдирдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рддрд░рд╣ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗред рдФрд░ рд╣реЛрд╕реНрдЯ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ host.docker.internal рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ред рд╕рд╛рдереА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐
DockerNAT рдХреЛ Docker Desktop 2.2.0.0 рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдВрдЯреЗрдирд░ рддрдХ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IP рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рд╕рдорд░реНрдерд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдирд╣реАрдВ рд╣реИред рдХрдВрдЯреЗрдирд░ рд╕реЗ рд╣реЛрд╕реНрдЯ рддрдХ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ DNS рдирд╛рдо host.docker.internal рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддрдп рдХрд┐рдпрд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдард╛рдпрд╛, рдХрдВрдЯреЗрдирд░ рд╕реЗ host.docker.in рд╢рд╛рд╢реНрд╡рдд рдкрд╛рд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реИрдВред рдореИрдВ рд╢реЗрд▓ рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдорд╛рдЙрдВрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдкрд░рд┐рдЪрд┐рдд рддреНрд░реБрдЯрд┐ "рдорд╛рдЙрдВрдЯ рддреНрд░реБрдЯрд┐ (22): рдЕрдорд╛рдиреНрдп рддрд░реНрдХ" рдорд┐рд▓рддреА рд╣реИред

рдореИрдВ рдмрджрд▓реЗ рдореЗрдВ рддрд░реНрдХреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ - рдореИрдВ рд╕рд┐рд░реНрдл "рдорд╛рдЙрдВрдЯ -t cifs //host.docker.internal/playground / рдкрд╛рдЗрдкрд▓рд╛рдЗрди" рдЪрд▓рд╛рддрд╛ рд╣реВрдВ - рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореВрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рджрд╕реНрддрдХ рджреЗ рд░рд╣рд╛ рд╣реИред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛрдбрд╝реЗрдВ: рдорд╛рдЙрдВрдЯ -t cifs //host.docker.internal/playground / рдкрд╛рдЗрдкрд▓рд╛рдЗрди-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = smbuser - рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рдкреВрдЫрддрд╛ рд╣реИ рдФрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ!

рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдг рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

mount -t cifs //host.docker.internal/playground /pipeline -o user=smbuser,password=smbpassword

рд▓реЗрдХрд┐рди " рдорд╛рдЙрдВрдЯ -t cifs //host.docker.internal/playground / рдкрд╛рдЗрдкрд▓рд╛рдЗрди-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ = smbuser, рдкрд╛рд╕рд╡рд░реНрдб = smbpassword, vers = 2.0 " рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдЕрдВрддрд┐рдо рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмрджрд▓рдХрд░ vers = 2.1 - рдЪреАрдпрд░реНрд╕, рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

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

рд╕рднреА рдЕрдЪреНрдЫрд╛рдИ, рд╢рдХреНрддрд┐ рдФрд░ рджреГрдврд╝рддрд╛!

рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдЪрд┐рддреНрд░рдг рдмреНрд▓реЙрдЧ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ редeduonix.com/software-development/learn-debug-docker-containers

All Articles