Π’ сосудС объСмом 10 Π»ΠΈΡ‚Ρ€ΠΎΠ² находится 2 Π³ Π²ΠΎΠ΄ΠΎΡ€ΠΎΠ΄Π° ΠΏΡ€ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ 2000 К. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ

УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ:

Π’ сосудС объСмом 10 Π»ΠΈΡ‚Ρ€ΠΎΠ² находится 2 Π³ Π²ΠΎΠ΄ΠΎΡ€ΠΎΠ΄Π° ΠΏΡ€ΠΈ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ 2000 К. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π°Π·Π°, Ссли ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΌΠΎΠ»Π΅ΠΊΡƒΠ» диссоциирована Π½Π° Π°Ρ‚ΠΎΠΌΡ‹.

Π—Π°Π΄Π°Ρ‡Π° β„–4.2.57 ΠΈΠ· Β«Π‘Π±ΠΎΡ€Π½ΠΈΠΊΠ° Π·Π°Π΄Π°Ρ‡ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ экзамСнам ΠΏΠΎ Ρ„ΠΈΠ·ΠΈΠΊΠ΅ УГНВУ»

Π”Π°Π½ΠΎ:

\(V=10\) л, \(m=2\) г, \(T=2000\) К, \(\alpha=0,5\), \(p-?\)

РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ:

ΠŸΡ€ΠΈ высокой Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ молСкулярный Π²ΠΎΠ΄ΠΎΡ€ΠΎΠ΄ H2 Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π΄ΠΈΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (Ρ€Π°ΡΠΏΠ°Π΄Π°Ρ‚ΡŒΡΡ) Π½Π° Π°Ρ‚ΠΎΠΌΡ‹. ΠŸΡ€ΠΈ этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ количСства Ρ€Π°ΡΠΏΠ°Π²ΡˆΠΈΡ…ΡΡ ΠΌΠΎΠ»Π΅ΠΊΡƒΠ» ΠΊ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒΒ Ρ‡ΠΈΡΠ»Ρƒ ΠΌΠΎΠ»Π΅ΠΊΡƒΠ» Π²ΠΎΠ΄ΠΎΡ€ΠΎΠ΄Π°Β H2 называСтся ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ диссоциации \(\alpha\). Π’ этой Π·Π°Π΄Π°Ρ‡Π΅ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ диссоциации Ρ€Π°Π²Π½Π° 0,5 согласно ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.

Π”Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π°Π·Π° Π² сосудС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ суммС ΠΏΠ°Ρ€Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π²Π»Π΅Π½ΠΈΠΉ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ (H) \(p_1\)Β ΠΈ молСкулярного (H2) \(p_2\) Π²ΠΎΠ΄ΠΎΡ€ΠΎΠ΄Π° согласно Π·Π°ΠΊΠΎΠ½Ρƒ Π”Π°Π»ΡŒΡ‚ΠΎΠ½Π°.

\[p = {p_1} + {p_2}\;\;\;\;(1)\]

ΠŸΡƒΡΡ‚ΡŒ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° диссоциации Π² сосудС ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π»ΠΎΡΡŒΒ \(N\) ΠΌΠΎΠ»Π΅ΠΊΡƒΠ»Β H2. Если ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ диссоциации Ρ€Π°Π²Π½Π°Β \(\alpha\), Ρ‚ΠΎ число Π°Ρ‚ΠΎΠΌΠΎΠ² Π²ΠΎΠ΄ΠΎΡ€ΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎΒ \(2 \alpha N\), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ»Π΅ΠΊΡƒΠ»Ρ‹ образуСтся Π΄Π²Π° Π°Ρ‚ΠΎΠΌΠ°, Π° число ΠΌΠΎΠ»Π΅ΠΊΡƒΠ» Π²ΠΎΠ΄ΠΎΡ€ΠΎΠ΄Π° – \(\left( {1 – \alpha } \right)N\). Π—Π°ΠΏΠΈΡˆΠ΅ΠΌ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠšΠ»Π°ΠΏΠ΅ΠΉΡ€ΠΎΠ½Π°-МСндСлССва для ΠΎΠ±ΠΎΠΈΡ… Π³Π°Π·ΠΎΠ², прСдставив количСство вСщСства ΠΊΠ°ΠΊ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ числа частиц ΠΊ числу Авогадро \(N_А\):

\[\left\{ \begin{gathered}
{p_1}V = \frac{{2\alpha N}}{{{N_А}}}RT \hfill \\
{p_2}V = \frac{{\left( {1 – \alpha } \right)N}}{{{N_А}}}RT \hfill \\
\end{gathered} \right.\]

ПодСлим ΠΎΠ±Π΅ части прСдставлСнных ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π½Π° объСм \(V\), Ρ‚ΠΎΠ³Π΄Π°:

\[\left\{ \begin{gathered}
{p_1} = \frac{{2\alpha N}}{{{N_А}V}}RT \hfill \\
{p_2} = \frac{{\left( {1 – \alpha } \right)N}}{{{N_А}V}}RT \hfill \\
\end{gathered} \right.\]

Оба выраТСния для Π΄Π°Π²Π»Π΅Π½ΠΈΠΉ подставим Π² Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ (1):

\[p = \frac{{2\alpha N}}{{{N_А}V}}RT + \frac{{\left( {1 – \alpha } \right)N}}{{{N_А}V}}RT\]

\[p = \frac{{\left( {\alpha  + 1} \right)N}}{{{N_А}V}}RT\]

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ числа ΠΌΠΎΠ»Π΅ΠΊΡƒΠ»Β \(N\) ΠΊ числу Авогадро \(N_А\) Ρ€Π°Π²Π½ΠΎ количСству вСщСства \(\nu\), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

\[\nu  = \frac{N}{{{N_А}}} = \frac{m}{M}\]

Π—Π΄Π΅ΡΡŒ \(M\) – молярная масса Π²ΠΎΠ΄ΠΎΡ€ΠΎΠ΄Π°, равная 0,002 ΠΊΠ³/моль. 23 * 0,1) = 0,639Β ΠΊΠ³/ΠΌ3

ΠžΡ‚Π²Π΅Ρ‚:Β 0,639Β ΠΊΠ³/ΠΌ3

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° занятиС ΠΊ этому Ρ€Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρƒ

Π—Π°Π΄Π°ΠΉΡ‚Π΅ свой вопрос!

Наши Ρ€Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρ‹ максимально быстро Π΄Π°Π΄ΡƒΡ‚ Π½Π° Π½Π΅Π³ΠΎ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Это бСсплатно!

Π—Π°Π΄Π°Ρ‚ΡŒ вопрос

НовыС вопросы

Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π°7 класс

Π£

Π£Ρ‡Π΅Π½ΠΈΠΊ

ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ поТалуйста, ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π΄ΠΎ!!Π‘Π°ΠΌΡ‹ΠΉ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉΡΡ эпизод Π² сказС «богиня Π² шинСли» ΠΈ ΠΎ Ρ‡Ρ‘ΠΌ заставляСт Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅? (И.М. Π•Ρ€ΠΌΠ°ΠΊΠΎΠ²) Π±ΡƒΠ΄Ρƒ ΠΎΡ‡Π΅Π½ΡŒ Π±Π»Π°Π³ΠΎΠ΄Π°Ρ€Π½Π°!!

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½ΠΠ°Ρ‚Π°Π»ΡŒΡ Π’Π°ΡΠΈΠ»ΡŒΠ΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ школС, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ классы, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Русский язык, Онлайн няня

Π₯имия8 класс

Π£

Π£Ρ‡Π΅Π½ΠΈΠΊ

ЗдравствуйтС! ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅, поТалуйста, с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ. «ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ массу Π²ΠΎΠ΄Ρ‹, взятой для приготовлСния 20% раствора соли, взятой Π² количСствС 20 Π³».

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½ΠΠ°Ρ‚Π°Π»ΡŒΡ Π‘Π΅Ρ€Π³Π΅Π΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ГСомСтрия, АлгСбра, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ классы, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠžΠ“Π­, Русский язык

АлгСбра8 класс

М

ΠœΠ°Ρ‚Π²Π΅ΠΉ

Π Π΅ΡˆΠΈΡ‚Π΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅ π‘₯^2 = 5,5π‘₯ + 3 сначала графичСски, Π°Π·Π°Ρ‚Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ ΠΊΠΎΡ€Π½Π΅ΠΉ.

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½ΠΠ°Ρ‚Π°Π»ΡŒΡ Π’Π°ΡΠΈΠ»ΡŒΠ΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ школС, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ классы, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Русский язык, Онлайн няня

ВсСобщая история7 класс

М

ΠœΠ°ΠΊΠ°Ρ€

ΠŸΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ поТалуйста. сравнСниС уровня ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ экономичСского развития гСрманских государств с Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Π°Π½Π³Π»ΠΈΠΈ ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π½Ρ†ΠΈΠΈ ΠΈ ΡƒΠΊΠ°ΠΆΠΈ Π½Π° основС различия.

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½ΠΠ°Ρ‚Π°Π»ΡŒΡ Π’Π°ΡΠΈΠ»ΡŒΠ΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ школС, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ классы, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Русский язык, Онлайн няня

ГСомСтрия8 класс

М

ΠœΠ°Ρ‚Π²Π΅ΠΉ

Из Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ 𝐡 Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° 𝐴𝐡𝐢 провСдСныбиссСктриса 𝐡𝐸 ΠΈ высота 𝐡𝐻, равная 12, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ высота дСлитсторону 𝐴𝐢 Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ 𝐴𝐻 ΠΈ 𝐻𝐢, Ρ€Π°Π²Π½Ρ‹Π΅ 9 ΠΈ 16 соотвСтствСнно.НайдитС стороны Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ биссСктриса Π΄Π΅Π»ΠΈΡ‚ сторону 𝐴𝐢.

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½ΠΠ°Ρ‚Π°Π»ΡŒΡ Π‘Π΅Ρ€Π³Π΅Π΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ГСомСтрия, АлгСбра, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ классы, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠžΠ“Π­, Русский язык

ГСомСтрия8 класс

М

ΠœΠ°Ρ‚Π²Π΅ΠΉ

ΠŸΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° 𝐴𝐡𝐢 Ρ€Π°Π²Π΅Π½ 60 см. На сторонах𝐴𝐡, 𝐡𝐢, 𝐴𝐢 Π»Π΅ΠΆΠ°Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ 𝐷, 𝐸, 𝐹 соотвСтствСнно Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ 𝐷𝐡𝐸𝐹 βˆ’Ρ€ΠΎΠΌΠ±. НайдитС стороны 𝐴𝐡 ΠΈ 𝐡𝐢 Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Ссли 𝐴𝐹 = 10,𝐹𝐢 = 15.

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½

Π’Π΅ΠΏΠ°Π΅Π²Π° ΠœΠ°Ρ€ΠΈΡ

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ России6 класс

И

Π˜Ρ€ΠΈΠ½Π°

НС ΠΌΠΎΠ³Ρƒ Π½Π°ΠΉΡ‚ΠΈ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Π΅ события Π² 982 Π³ΠΎΠ΄Ρƒ ? ΠΏΠΎ истории 6 класс 

ΠžΡ‚Π²Π΅Ρ‚ данИнна Π˜Π³ΠΎΡ€Π΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ школС, Π˜ΡΡ‚ΠΎΡ€ΠΈΡ России, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ Π•Π“Π­, ΠžΠ±Ρ‰Π΅ΡΡ‚Π²ΠΎΠ·Π½Π°Π½ΠΈΠ΅, ВсСобщая история, Π˜Π—Πž, МΠ₯К, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Русский язык

Русский язык8 класс

М

ΠœΠ°Ρ‚Π²Π΅ΠΉ

НайдитС прСдлоТСния с нСсогласованным ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ, Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ: 1. Π‘ΠΎΠ»Π½Ρ†Π΅ гуляло ΠΏΠΎ ΠΌΠΎΠΊΡ€Ρ‹ΠΌ ΠΎΡ‚ Π²Ρ‡Π΅Ρ€Π°ΡˆΠ½Π΅Π³ΠΎ доТдя Тнивьям. 2. Π― Π½Π΅ ΠΌΠΎΠ³ Π·Π°Π±Ρ‹Ρ‚ΡŒ Π΄Π΅Π²ΡƒΡˆΠΊΡƒ с синими Π³Π»Π°Π·Π°ΠΌΠΈ. 3. Π”Π°Π»ΡŒΡˆΠ΅ ΠΏΠΎ ΠΎΠ²Ρ€Π°Π³Ρƒ Π΅Ρ‰Π΅ Π»Π΅ΠΆΠ°Π» снСг Π² ΠΆΠ΅Π»Ρ‚Ρ‹Ρ…, Π² синих пятнах. 4. ПослС Π΄ΡƒΡˆΠ½ΠΎΠΉ Π½ΠΎΡ‡ΠΈ потянул Π½Π° рассвСтС свСТий Π²Π΅…

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½ΠΠ°Ρ‚Π°Π»ΡŒΡ Π’Π°ΡΠΈΠ»ΡŒΠ΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ школС, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ классы, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Русский язык, Онлайн няня

АлгСбра8 класс

М

ΠœΠ°Ρ‚Π²Π΅ΠΉ

Π Π΅ΡˆΠΈΡ‚Π΅ графичСски уравнСния:1. √π‘₯ = 6 βˆ’ π‘₯;2. 2√π‘₯ = 2π‘₯ βˆ’ 4.

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½ΠΠ°Ρ‚Π°Π»ΡŒΡ Π‘Π΅Ρ€Π³Π΅Π΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ГСомСтрия, АлгСбра, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ классы, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ ΠžΠ“Π­, Русский язык

Русский язык8 класс

М

ΠœΠ°Ρ‚Π²Π΅ΠΉ

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΌΠΎΡ€Ρ„Π΅ΠΌΠ½Ρ‹ΠΉ Ρ€Π°Π·Π±ΠΎΡ€ слов: сущСствованиС, Π³ΠΎΡ€Π΅Π²ΡˆΠΈΠΉ.

ΠžΡ‚Π²Π΅Ρ‚ Π΄Π°Π½ΠΠ°Ρ‚Π°Π»ΡŒΡ Π’Π°ΡΠΈΠ»ΡŒΠ΅Π²Π½Π°

ΠŸΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ школС, ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΠΉ ΠΌΠΈΡ€, ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ классы, Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Русский язык, Онлайн няня

Volumes

Volumes ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ для сохранСния Π΄Π°Π½Π½Ρ‹Ρ…, созданных ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Docker. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ привязки зависит ΠΎΡ‚ структура ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ ОБ хост-ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ‚ΠΎΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π”ΠΎΠΊΠ΅Ρ€. Π£ Ρ‚ΠΎΠΌΠΎΠ² Π΅ΡΡ‚ΡŒ нСсколько прСимущСств ΠΏΠ΅Ρ€Π΅Π΄ привязкой:

  • Π’ΠΎΠΌΠ° Π»Π΅Π³Ρ‡Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ связанныС монтирования.
  • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠΌΠ°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ Docker CLI ΠΈΠ»ΠΈ Docker API.
  • Π’ΠΎΠΌΠ°
  • Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Linux, Ρ‚Π°ΠΊ ΠΈ с Windows.
  • Π’ΠΎΠΌΠ° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ бСзопасно Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ.
  • Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Ρ‚ΠΎΠΌΠΎΠ²
  • ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΌΠ° Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… хостах ΠΈΠ»ΠΈ Ρƒ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ содСрТимоС Ρ‚ΠΎΠΌΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΎΠΌΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ.
  • Π’ΠΎΠΌΠ°
  • Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС Docker ΠΈΠΌΠ΅ΡŽΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с привязкой ΠΈΠ· Π₯осты Mac ΠΈ Windows.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚ΠΎΠΌΠ° часто ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Ρ‡Π΅ΠΌ сохранСниС Π΄Π°Π½Π½Ρ‹Ρ… Π² доступный для записи слой ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΌ Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ, ΠΈ содСрТимоС Ρ‚ΠΎΠΌΠ° сущСствуСт Π²Π½Π΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

Если ваш ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ нСпостоянныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ состоянии, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования tmpfs, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ постоянного хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² любом мСстС ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, избСгая записи Π² записываСмый слой.

Π’ΠΎΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ распространСниС привязки rprivate , Π° распространСниС привязки Π½Π΅ настраиваСтся для Ρ‚ΠΎΠΌΠΎΠ².

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„Π»Π°Π³ -v ΠΈΠ»ΠΈ —mount

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, --mount Π±ΠΎΠ»Π΅Π΅ явный ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ. Бамая большая Ρ€Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ 9Бинтаксис 0027 -v ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ вмСстС Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅, Π° --mount синтаксис раздСляСт ΠΈΡ…. Π’ΠΎΡ‚ сравнСниС синтаксиса для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π°.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Ρ‚ΠΎΠΌΠ°, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ --mount .

  • -v ΠΈΠ»ΠΈ --volume : Бостоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΠΎΠ»Π΅ΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ (

    : ). Поля Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля сразу Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ.

    • Π’ случаС ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠΌΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ β€” это имя Ρ‚ΠΎΠΌΠ°. ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Для Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… Ρ‚ΠΎΠΌΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ.
    • Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»Π΅ β€” это ΠΏΡƒΡ‚ΡŒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ монтируСтся Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.
    • Π’Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΏΠΎΠ»Π΅ являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ прСдставляСт собой список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ Ρ€ΠΎ . Π­Ρ‚ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΆΠ΅.
  • --mount

    : состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ состоящий ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° = . Бинтаксис --mount Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ. Ρ‡Π΅ΠΌ -v ΠΈΠ»ΠΈ --volume , Π½ΠΎ порядок ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„Π»Π°Π³Π° Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ.

    • Ρ‚ΠΈΠΏΠ° крСплСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ bind , volume ΠΈΠ»ΠΈ тмпфс . Π’ этой Ρ‚Π΅ΠΌΠ΅ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΌΡ‹, поэтому Ρ‚ΠΈΠΏ всСгда Ρ‚ΠΎΠΌ .
    • Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ крСплСния. Для ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠΌΠΎΠ² это имя Ρ‚ΠΎΠΌΠ°. Для Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… Ρ‚ΠΎΠΌΠΎΠ² это ΠΏΠΎΠ»Π΅ ΠΎΠΏΡƒΡ‰Π΅Π½ΠΎ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ источник ΠΈΠ»ΠΈ
      источник
      .
    • ΠŸΡƒΠ½ΠΊΡ‚ назначСния ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС значСния ΠΏΡƒΡ‚ΡŒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ находится Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. монтируСтся Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡƒΠ½ΠΊΡ‚ назначСния , dst , ΠΈΠ»ΠΈ Ρ†Π΅Π»ΡŒ .
    • Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния 9ΠžΠΏΡ†ΠΈΡ 0028, Ссли ΠΎΠ½Π° присутствуСт, заставляСт ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ привязку Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния ΠΈΠ»ΠΈ ro .
    • ΠžΠΏΡ†ΠΈΡ volume-opt , ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Π°, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π° ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, состоящая ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈ Π΅Π³ΠΎ значСния.

Escape-значСния ΠΈΠ· внСшнСго синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° CSV

Если ваш Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‚ΠΎΠΌΠ° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ список, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ запятыми, Π² качСствС ΠΎΠΏΡ†ΠΈΠΈ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ внСшнСго синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π° CSV. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠΌ-ΠΎΠΏΡ‚ , Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ( " ) ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠΈΡ‚Π΅ вСсь ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ монтирования с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ ( ' ).

НапримСр, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ монтирования Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми список Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ o .

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ способ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· списка.

 $ созданиС слуТбы Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ² \
    --mount 'type=volume,src=<ИМЯ-ВОМА>,dst=<ПУВЬ-ΠšΠžΠΠ’Π•Π™ΠΠ•Π Π>,volume-driver=local,volume-opt=type=nfs,volume-opt=device=: ,"volume-opt=o=addr=,vers=4,soft,timeo=180,bg,tcp,rw"'
    --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΅ΠΉ слуТбы \
    <Π˜Π—ΠžΠ‘Π ΠΠ–Π•ΠΠ˜Π•>
 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½ синтаксис --mount ΠΈ -v , Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ --mount прСдставлСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ

-v ΠΈ --mount ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ привязки, всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚ΠΎΠΌΠΎΠ² доступны для ΠΎΠ±ΠΎΠΈΡ… --mount ΠΈ -v Ρ„Π»Π°Π³ΠΈ.

ΠŸΡ€ΠΈ использовании Ρ‚ΠΎΠΌΠΎΠ² со слуТбами поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ

--mount .

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ привязки, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌΠ° ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ любого ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌ :

 $ docker Ρ‚ΠΎΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ my-vol
 

Бписок Ρ‚ΠΎΠΌΠΎΠ² :

 $ Ρ‚ΠΎΠΌ Π΄ΠΎΠΊΠ΅Ρ€Π°, лс
мСстный ΠΌΠΎΠΉ-vol
 

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΎΠΌΠ° :

 $ docker Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ my-vol
[
    {
        "Π’ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ": "мСстный",
        Β«Π―Ρ€Π»Ρ‹ΠΊΠΈΒ»: {},
        "Π’ΠΎΡ‡ΠΊΠ° монтирования": "/var/lib/docker/volumes/my-vol/_data",
        "Имя": "ΠΌΠΎΠΉ-Ρ‚ΠΎΠΌ",
        "ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹": {},
        "ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия": "мСстный"
    }
]
 

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΌ :

 $ объСм Π΄ΠΎΠΊΠ΅Ρ€Π° rm my-vol
 

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с объСмом

Если Π²Ρ‹ запускаСтС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ‚ΠΎΠΌΠΎΠΌ, Docker создаСт объСм для вас. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠΌ myvol2 монтируСтся Π² /app/ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ -v ΠΈ --mount Π΄Π°ΡŽΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΈΡ… ΠΎΠ±ΠΎΠΈΡ…, Ссли Π²Ρ‹ Π½Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ devtest ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ Ρ‚ΠΎΠΌ myvol2 послС запуска ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ.

  • --ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅
  • -Π²
$ docker run -d \ --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° \ --mount источник=myvol2, Ρ†Π΅Π»ΡŒ=/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \ nginx: послСдний
 $ docker run -d \
  --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° \
  -v myvol2:/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \
  nginx: послСдний
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ docker inspect devtest , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΌ создан ΠΈ смонтирован. ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Π˜Ρ‰ΠΈΡ‚Π΅ Mounts Ρ€Π°Π·Π΄Π΅Π»:

 "ΠšΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΡ": [
    {
        "Вип": "объСм",
        "Имя": "myvol2",
        "Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ": "/var/lib/docker/volumes/myvol2/_data",
        «НазначСниС»: Β«/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β»,
        "Π’ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ": "мСстный",
        "Π Π΅ΠΆΠΈΠΌ": "",
        "RW": ΠΏΡ€Π°Π²Π΄Π°,
        "РаспространСниС": ""
    }
],
 

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ являСтся Ρ‚ΠΎΠΌΠΎΠΌ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ источник ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ доступно для чтСния ΠΈ записи.

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Ρ‚ΠΎΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠ° β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ шаг.

 $ docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ devtest
$ docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ rm devtest
$ Ρ‚ΠΎΠΌ Π΄ΠΎΠΊΠ΅Ρ€Π° rm myvol2
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌ с Docker Compose

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ΄Π½ΠΎΠΉ слуТбы Docker Compose с Ρ‚ΠΎΠΌΠΎΠΌ:

 услуги:
  внСшний интСрфСйс:
    ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: ΡƒΠ·Π΅Π»:lts
    Ρ‚ΠΎΠΌΠ°:
      - ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:/Π΄ΠΎΠΌ/ΡƒΠ·Π΅Π»/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Ρ‚ΠΎΠΌΠ°:
  ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
 

Запуск docker compose up Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ создаСт Ρ‚ΠΎΠΌ. Π’ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΎΠΌ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌ нСпосрСдствСнно Π²Π½Π΅ Compose, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ docker volume create ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ docker-compose.yml ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 услуги:
  внСшний интСрфСйс:
    ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅: ΡƒΠ·Π΅Π»:lts
    Ρ‚ΠΎΠΌΠ°:
      - ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:/Π΄ΠΎΠΌ/ΡƒΠ·Π΅Π»/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Ρ‚ΠΎΠΌΠ°:
  ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
    внСшний: ΠΏΡ€Π°Π²Π΄Π°
 

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎΠ± использовании Ρ‚ΠΎΠΌΠΎΠ² Π² Compose см. ΠžΠ±ΡŠΠ΅ΠΌΡ‹ Ρ€Π°Π·Π΄Π΅Π» Π² спСцификации Compose.

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ слуТбу с Ρ‚ΠΎΠΌΠ°ΠΌΠΈ

ΠŸΡ€ΠΈ запускС слуТбы ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠΌΠ° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ слуТбы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ собствСнный Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм. Ни ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅

мСстный ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€. Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Ρ‚ΠΎΠΌΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΠ±Ρ‰Π΅Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ запускаСтся слуТба nginx с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°ΠΌΠΈ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΌ с ΠΈΠΌΠ΅Π½Π΅ΠΌ myvol2 .

 $ docker service create -d \
  --replicas=4 \
  --name devtest-сСрвис \
  --mount источник=myvol2, Ρ†Π΅Π»ΡŒ=/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \
  nginx: послСдний
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ слуТбу Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ² ps devtest-service , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ слуТба Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

 $ слуТба Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ² ps devtest-service
ID ΠΠΠ—Π’ΠΠΠ˜Π• Π˜Π—ΠžΠ‘Π ΠΠ–Π•ΠΠ˜Π• Π£Π—Π•Π› Π’Π Π•Π‘Π£Π•ΠœΠžΠ• Π‘ΠžΠ‘Π’ΠžΠ―ΠΠ˜Π• Π’Π•ΠšΠ£Π©Π•Π• Π‘ΠžΠ‘Π’ΠžΠ―ΠΠ˜Π• ΠžΠ¨Π˜Π‘ΠšΠ ПОРВЫ
4d7oz1j85wwn devtest-service.1 nginx:latest moby ВыполняСтся ВыполняСтся 14 сСкунд Π½Π°Π·Π°Π΄
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ слуТбу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

 $ слуТба Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ² rm devtest-service
 

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ слуТбы Π½Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠΌΠΎΠ², созданных слуТбой. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠ° β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг.

Различия Π² синтаксисС для слуТб

Команда docker service create Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„Π»Π°Π³ -v ΠΈΠ»ΠΈ --volume . ΠŸΡ€ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚ΠΎΠΌΠ° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ слуТбы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --mount . Ρ„Π»Π°Π³.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°

Если Π²Ρ‹ запускаСтС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΌ, Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ для монтирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ /app/ , содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° копируСтся Π² Ρ‚ΠΎΠΌ. Π—Π°Ρ‚Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ запускаСтся ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ nginx ΠΈ заполняСт Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΌ nginx-vol содСрТимым ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° /usr/share/nginx/html ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Π—Π΄Π΅ΡΡŒ Nginx Ρ…Ρ€Π°Π½ΠΈΡ‚ HTML ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. содСрТаниС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ --mount ΠΈ -v ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

  • --ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅
  • -Π²
 $ docker run -d \
  --name=nginxtest \
  --mount source=nginx-vol,destination=/usr/share/nginx/html \
  nginx: послСдний
 
 $ docker run -d \
  --name=nginxtest \
  -v nginx-vol:/usr/доля/nginx/html \
  nginx: послСдний
 

ПослС выполнСния любого ΠΈΠ· этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для очистки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈ Ρ‚ΠΎΠΌΠ°. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠ° β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг.

 $ остановка ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ² nginxtest
$ Π΄ΠΎΠΊΠ΅Ρ€-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ rm nginxtest
$ Ρ‚ΠΎΠΌ Π΄ΠΎΠΊΠ΅Ρ€Π° rm nginx-vol
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния

Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запись Π² привязку mount, Ρ‡Ρ‚ΠΎΠ±Ρ‹ измСнСния Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° хост Docker. Π’ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ доступ для чтСния ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. НСсколько ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΎΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ для чтСния-записи для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния для Π΄Ρ€ΡƒΠ³ΠΈΡ….

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ измСняСт ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, Π½ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠ°ΠΊ доступный Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния Ρ‚ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ro Π² (пустой ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) список ΠΎΠΏΡ†ΠΈΠΉ, послС Ρ‚ΠΎΡ‡ΠΊΠ° монтирования Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Если присутствуСт нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ запятых.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ --mount ΠΈ -v Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

  • --ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅
  • -Π²
 $ docker run -d \
  --name=nginxtest \
  --mount source=nginx-vol,destination=/usr/share/nginx/html, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния \
  nginx: послСдний
 
 $ docker run -d \
  --name=nginxtest \
  -v nginx-vol:/usr/share/nginx/html:ro \
  nginx: послСдний
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ docker inspect nginxtest , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния Π±Ρ‹Π»ΠΎ создано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Π˜Ρ‰ΠΈΡ‚Π΅ Mounts Ρ€Π°Π·Π΄Π΅Π»:

 "ΠšΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΡ": [
    {
        "Вип": "объСм",
        «Имя»: «nginx-vol»,
        "Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ": "/var/lib/docker/volumes/nginx-vol/_data",
        «НазначСниС»: Β«/usr/share/nginx/htmlΒ»,
        "Π’ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ": "мСстный",
        "Π Π΅ΠΆΠΈΠΌ": "",
        "RW": лоТь,
        "РаспространСниС": ""
    }
],
 

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ Ρ‚ΠΎΠΌ. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ объСма – это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ шаг.

 $ остановка ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ² nginxtest
$ Π΄ΠΎΠΊΠ΅Ρ€-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ rm nginxtest
$ Ρ‚ΠΎΠΌ Π΄ΠΎΠΊΠ΅Ρ€Π° rm nginx-vol
 

ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ машинами

ΠŸΡ€ΠΈ создании отказоустойчивых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ нСсколько Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ сСрвиса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Ρ„Π°ΠΉΠ»Π°ΠΌ.

БущСствуСт нСсколько способов Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ этого ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Один ΠΈΠ· Π½ΠΈΡ… β€” Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΡƒ для хранСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅. систСма хранСния, такая ΠΊΠ°ΠΊ Amazon S3. Π”Ρ€ΡƒΠ³ΠΎΠΉ способ β€” ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ запись Ρ„Π°ΠΉΠ»ΠΎΠ² Π²ΠΎ внСшнюю систСму хранСния, Ρ‚Π°ΠΊΡƒΡŽ ​​как NFS ΠΈΠ»ΠΈ Amazon S3.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Ρ‚ΠΎΠΌΠΎΠ²

ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΡƒΡŽ систСму хранСния ΠΎΡ‚ Π»ΠΎΠ³ΠΈΠΊΠ° прилоТСния. НапримСр, Ссли ваши слуТбы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚ΠΎΠΌ с NFS Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ слуТбы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ±Π»Π°ΠΊΠ΅, Π½Π΅ мСняя Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‚ΠΎΠΌΠ°

ΠŸΡ€ΠΈ создании Ρ‚ΠΎΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΌΠ° Π΄ΠΎΠΊΠ΅Ρ€Π° создайтС ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π΅Ρ‰Π΅ Π½Π΅ созданный Ρ‚ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‚ΠΎΠΌΠ°. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‚ΠΎΠΌΠ° vieux/sshfs , ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈ создании Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΌ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π½ΠΎΠ²Ρ‹ΠΉ объСм.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ настройка

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΡƒΠ·Π»Π°, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… β€” Docker. host ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΡƒΠ·Π»Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SSH.

На хостС Docker установитС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ vieux/sshfs :

 $ установка ΠΏΠ»Π°Π³ΠΈΠ½Π° Π΄ΠΎΠΊΠ΅Ρ€Π° --grant-all-permissions vieux/sshfs
 

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Ρ‚ΠΎΠΌΠ°

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡƒΠΊΠ°Π·Π°Π½ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ SSH, Π½ΠΎ Ссли Π΄Π²Π° хоста ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ настроСн, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‚ΠΎΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ настраиваСмыС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… указываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³Π° -o .

 $ docker volume create --driver vieux/sshfs \
  -o sshcmd=test@node2:/home/test \
  -o ΠΏΠ°Ρ€ΠΎΠ»ΡŒ=тСстовый ΠΏΠ°Ρ€ΠΎΠ»ΡŒ \
  sshvolume
 

ЗапуститС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Ρ‚ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Ρ‚ΠΎΠΌΠ°

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ указываСтся ΠΏΠ°Ρ€ΠΎΠ»ΡŒ SSH. Однако, Ссли Π΄Π²Π° хоста ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ настроСны, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‚ΠΎΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ настраиваСмых ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Если Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‚ΠΎΠΌΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°Π³ --mount для монтирования Ρ‚ΠΎΠΌΠ°, Π° Π½Π΅ -v .

 $ запуск Π΄ΠΎΠΊΠ΅Ρ€Π° -d \
  --имя sshfs-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° \
  --volume-driver vieux/sshfs \
  --mount src=sshvolume,target=/app,volume-opt=sshcmd=test@node2:/home/test,volume-opt=password=testpassword \
  nginx: послСдний
 

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ слуТбу, которая создаСт Ρ‚ΠΎΠΌ NFS

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌ NFS ΠΏΡ€ΠΈ создании слуТбы. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 10.0.0.10 Π² качСствС сСрвСра NFS ΠΈ /var/docker-nfs Π² качСствС экспортируСмого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π° сСрвСрС NFS. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ‚ΠΎΠΌΠ° local .

NFSv3
 $ docker service create -d \
  --имя nfs-сСрвиса \
  --mount 'type=volume,source=nfsvolume,target=/app,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/var/docker-nfs,volume-opt=o =адрСс=10.0.0.10' \
  nginx: послСдний
 
NFSv4
 $ docker service create -d \
    --имя nfs-сСрвиса \
    --mount 'type=volume,source=nfsvolume,target=/app,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/var/docker-nfs,"volume-opt= o=addr=10.0.0.10,rw,nfsvers=4,асинхронный"' \
    nginx: послСдний
 

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠΎΠ² CIFS/Samba

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ рСсурс Samba нСпосрСдствСнно Π² Docker Π±Π΅Π· настройки Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° своСм хостС.

 $ созданиС Ρ‚ΠΎΠΌΠ° Π΄ΠΎΠΊΠ΅Ρ€Π° \
--Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ \
--opt Ρ‚ΠΈΠΏ=cifs \
--opt устройство=//uxxxxx. your-server.de/backup \
--opt o=addr=uxxxxx.your-server.de,имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ=uxxxxxxx,ΠΏΠ°Ρ€ΠΎΠ»ΡŒ=*****,file_mode=0777,dir_mode=0777 \
--name cif-Ρ‚ΠΎΠΌ
 

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ addr трСбуСтся, Ссли Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ имя хоста вмСсто IP. Π­Ρ‚ΠΎ позволяСт Docker Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ поиск ΠΈΠΌΠ΅Π½ΠΈ хоста.

Π‘Π»ΠΎΡ‡Π½Ρ‹Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ устройства

К ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ устройство, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ внСшний диск ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π» диска. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² качСствС Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ устройства. ΠΈ ΠΊΠ°ΠΊ ΡΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΡ‡Π½ΠΎΠ΅ устройство ΠΊΠ°ΠΊ Ρ‚ΠΎΠΌ-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.

Π’Π°ΠΆΠ½ΠΎ

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° являСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ здСсь Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ рСкомСндуСтся Π² качСствС ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ. НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Ссли Π²Ρ‹ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚Π΅.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ½Ρ‹Ρ… Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств

Под ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ Ρ„Π»Π°Π³ --mount с использованиСм локального Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Linux ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ систСмный Π²Ρ‹Π·ΠΎΠ² ΠΈ пСрСнаправляСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ Π²Π°ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Docker Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎΠΌΠΈΠΌΠΎ встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ монтирования, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ядром Linux.

Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Команда Linux mount , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± опциях --mount ΠΊΠ°ΠΊ ΠΎ пСрСадрСсации Π½Π° смонтируйтС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 $ mount -t    -o 
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ это, рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mount . Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ устройство /dev/loop5 ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ /external-drive Π² систСмС.

 $ mount -t ext4 /dev/loop5 /внСшний диск
 

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π΄ΠΎΠΊΠ΅Ρ€ запускаСт 9Команда 0028 Π΄Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния запускаСмого ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Запуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с этой ΠΎΠΏΡ†ΠΈΠ΅ΠΉ --mount настраиваСт ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° mount ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

 $ запуск Π΄ΠΎΠΊΠ΅Ρ€Π° \
  --mount='type=volume,dst=/внСшний диск,volume-driver=local,volume-opt=device=/dev/loop5,volume-opt=type=ext4'
 

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mount Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ /dev/loop5 устройство. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ вмСсто этого ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --mount для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ docker run .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€: установка Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму ext4 ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Π΅Π΅ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы вашСй систСмой зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π²Π°ΠΌΠΈ вСрсии ядра Linux.

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ для Π½Π΅Π³ΠΎ мСсто:

     $ fallocate -f 1G disk.raw
     
  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму Π½Π° Ρ„Π°ΠΉΠ»Π΅ disk.raw :

     $ mkfs.ext4 disk.raw
     
  3. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠ΅ устройство:

     $ lossup -f --show disk.raw
    /dev/loop5
     

    ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

    lossup создаСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ‚Π»ΡŽ, которая удаляСтся послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° систСмы ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ lossup -d .

  4. ЗапуститС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ‚Π»Π΅Π²ΠΎΠ΅ устройство ΠΊΠ°ΠΊ Ρ‚ΠΎΠΌ:

     $ docker run -it --rm \
      --mount='type=volume,dst=/внСшний диск,volume-driver=local,volume-opt=device=/dev/loop5,volume-opt=type=ext4' \
      ΡƒΠ±ΡƒΠ½Ρ‚Ρƒ баш
     

    ΠŸΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΡƒΡ‚ΡŒ /внСшний диск ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ disk. raw Ρ„Π°ΠΉΠ» ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы хоста Π² качСствС Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства.

  5. Когда Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ ΠΈ устройство Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΎΡ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, отсоСдинитС ΠΏΠ΅Ρ‚Π»Π΅Π²ΠΎΠ΅ устройство, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ устройство ΠΈΠ· хост-систСмы:

     $ lossup -d /dev/loop5
     

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, восстановлСниС ΠΈΠ»ΠΈ миграция Ρ‚ΠΎΠΌΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…

Π’ΠΎΠΌΠ°

ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, восстановлСния ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π»Π°Π³ --volumes-from , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ этот Ρ‚ΠΎΠΌ.

Π Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠΌΠ°

НапримСр, создайтС Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΈΠΌΠ΅Π½Π΅ΠΌ dbstore :

.
 $ docker run -v /dbdata --name dbstore ubuntu /bin/bash
 

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

  • Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ ΡΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΌ ΠΈΠ· ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° dbstore
  • Π‘ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ хоста ΠΊΠ°ΠΊ /backup
  • ΠŸΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ содСрТимоС Ρ‚ΠΎΠΌΠ° dbdata Π² Ρ„Π°ΠΉΠ» backup. tar Π²Π½ΡƒΡ‚Ρ€ΠΈ нашСго ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /backup .
 $ docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
 

Когда ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ останавливаСтся, создаСтся рСзСрвная копия dbdata Ρ‚ΠΎΠΌ.

Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΌ ΠΈΠ· Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ

Волько Ρ‡Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ создали Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС.

НапримСр, создайтС Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΈΠΌΠ΅Π½Π΅ΠΌ dbstore2 :

.
 $ docker run -v /dbdata --name dbstore2 ubuntu /bin/bash
 

Π—Π°Ρ‚Π΅ΠΌ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ Π² Ρ‚ΠΎΠΌΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:

 $ docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /dbdata && tar xvf /backup/backup.tar --strip 1"
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ описанныС Π²Ρ‹ΡˆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ восстановлСния. тСстированиС с использованиСм ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Ρ… Π²Π°ΠΌΠΈ инструмСнтов.

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΌΠ°

Π’ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Docker сохраняСтся послС удалСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Ρ‚ΠΎΠΌΠΎΠ² для рассмотрСния:

  • Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠΌΠ° ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ источник Π²Π½Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, awesome:/bar .
  • АнонимныС Ρ‚ΠΎΠΌΠ° Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ источника. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π΅ΠΌΠΎΠ½Ρƒ Docker Engine ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ….

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… Ρ‚ΠΎΠΌΠΎΠ²

Для автоматичСского удалСния Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… Ρ‚ΠΎΠΌΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ --rm . НапримСр, эта ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΌ /foo . Когда Π²Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Docker Engine удаляСт Ρ‚ΠΎΠΌ /foo , Π½ΠΎ Π½Π΅ Ρ‚ΠΎΠΌ awesome .

 $ docker run --rm -v /foo -v awesome:/bar busybox top
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ :

Если Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ связываСт Ρ‚ΠΎΠΌΠ° с --volumes-ΠΈΠ· , опрСдСлСния Ρ‚ΠΎΠΌΠΎΠ² скопированы ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ остаСтся послС удалСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ‚ΠΎΠΌΠ°

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‚ΠΎΠΌΠ° ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ мСсто:

 $ сокращСниС объСма Π΄ΠΎΠΊΠ΅Ρ€Π°
 

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги

  • Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ Π±ΠΈΠ½Π΄ΠΎΠ²Ρ‹Ρ… крСплСниях.
  • Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ tmpfs.
  • Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… устройств хранСния.
  • Π£Π·Π½Π°ΠΉΡ‚Π΅ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… модулях Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Ρ‚ΠΎΠΌΠΎΠ² сторонних ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ.

Bind mounts

Bind mounts ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ с ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π½Π΅ΠΉ сущСствования Docker. ΠšΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΡ для привязки Π΅ΡΡ‚ΡŒ ограничСнная Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚ΠΎΠΌΠ°ΠΌΠΈ. Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ привязку mount Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ монтируСтся Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. На Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ссылаСтся Π΅Π³ΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π½Π° хостС машина. Напротив, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚ΠΎΠΌ, Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ создаСтся Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Docker Π½Π° хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΈ Docker управляСт ΠΈΠΌ. содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

Π€Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° хостС Docker. Π­Ρ‚ΠΎ создаСтся ΠΏΠΎ запросу, Ссли ΠΎΠ½ Π΅Ρ‰Π΅ Π½Π΅ сущСствуСт. Bind mount ΠΎΡ‡Π΅Π½ΡŒ эффСктивны, Π½ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму хост-ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΡƒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² доступный. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ прилоТСния Docker, рассмотритС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования вмСсто этого ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠΌΠ°. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Docker CLI для прямого ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ привязки.

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ„Π»Π°Π³ -v ΠΈΠ»ΠΈ --mount

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, --mount Π±ΠΎΠ»Π΅Π΅ явный ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ. Бамая большая Ρ€Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ синтаксис -v ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ вмСстС Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅, Π° --mount синтаксис раздСляСт ΠΈΡ…. Π’ΠΎΡ‚ сравнСниС синтаксиса для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π»Π°Π³Π°.

НаконСчник

НовыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ синтаксис --mount . ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ с синтаксисом -v ΠΈΠ»ΠΈ --volume , Π½ΠΎ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ --mount , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ исслСдования ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

  • -v ΠΈΠ»ΠΈ --volume : Бостоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… ΠΏΠΎΠ»Π΅ΠΉ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ ( : ). Поля Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля сразу Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ.
    • Π’ случаС монтирования с привязкой ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ β€” это ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ .
    • Π’Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ»Π΅ β€” это ΠΏΡƒΡ‚ΡŒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ смонтирован Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€.
    • Π’Ρ€Π΅Ρ‚ΡŒΠ΅ ΠΏΠΎΠ»Π΅ являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ прСдставляСт собой список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊ Ρ€ΠΎ , z ΠΈ Z . Π­Ρ‚ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½ΠΈΠΆΠ΅.
  • --mount : состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми ΠΈ состоящий ΠΈΠ· ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° = . Бинтаксис --mount Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ. Ρ‡Π΅ΠΌ -v ΠΈΠ»ΠΈ --volume , Π½ΠΎ порядок ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„Π»Π°Π³Π° Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ.
    • Ρ‚ΠΈΠΏ монтирования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ bind , volume ΠΈΠ»ΠΈ tmpfs . Π­Ρ‚ΠΎΡ‚ Ρ‚Π΅ΠΌΠ° обсуТдаСт ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ привязки, поэтому Ρ‚ΠΈΠΏ всСгда bind .
    • Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ крСплСния. Для монтирования привязки это ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° хостС Π΄Π΅ΠΌΠΎΠ½Π° Docker. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ источник ΠΈΠ»ΠΈ источник .
    • ΠŸΡƒΠ½ΠΊΡ‚ назначСния ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС значСния ΠΏΡƒΡ‚ΡŒ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ находится Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. монтируСтся Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΏΡƒΠ½ΠΊΡ‚ назначСния , дст , ΠΈΠ»ΠΈ Ρ†Π΅Π»ΡŒ .
    • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния , Ссли ΠΎΠ½ присутствуСт, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ привязки Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.
    • ΠžΠΏΡ†ΠΈΡ bind-propagation , Ссли ΠΎΠ½Π° присутствуСт, измСняСт ΡΠ²ΡΠ·Π°Ρ‚ΡŒ распространСниС. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· rprivate , частный , rshared , ΠΎΠ±Ρ‰ΠΈΠΉ , rslave , Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ .
    • Π€Π»Π°Π³ --mount Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ z ΠΈΠ»ΠΈ Z Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ этикСтки сСлинукс.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½ синтаксис --mount ΠΈ -v , Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ --mount прСдставлСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ.

Различия ΠΌΠ΅ΠΆΠ΄Ρƒ

-v ΠΈ --mount ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ„Π»Π°Π³ΠΈ -v ΠΈ --volume Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя Π±Ρ‹Π»ΠΈ Ρ‡Π°ΡΡ‚ΡŒΡŽ Docker. врСмя ΠΈΡ… ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ это отличаСтся ΠΌΠ΅ΠΆΠ΄Ρƒ -v ΠΈ --mount .

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ -v ΠΈΠ»ΠΈ --volume для привязки-монтирования Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π΅Ρ‰Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° хостС Docker, -v создаСт для вас ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ. Π­Ρ‚ΠΎ всСгда создаСтся ΠΊΠ°ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ --mount для связывания монтирования Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π΅Ρ‰Π΅ Π½Π΅ сущСствуСт Π½Π° хостС Docker, Docker , Π° Π½Π΅ автоматичСски создаСт Π΅Π³ΠΎ для Π²Ρ‹, Π½ΠΎ Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с привязанным ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ΠΌ

Рассмотрим случай, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаСтС исходный ΠΊΠΎΠ΄, Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, source/target/ . Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ доступны для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΏΠΎ адрСсу /app/ , ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π» доступ ΠΊ Π½ΠΎΠ²ΠΎΠΉ сборкС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ собираСтС исходный ΠΊΠΎΠ΄ Π½Π° вашСм хостС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для привязки Ρ†Π΅Π»ΠΈ /. ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² ваш ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² /ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ . ЗапуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ· исходный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ . Подкоманда $(pwd) замСняСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° хостах Linux ΠΈΠ»ΠΈ macOS. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² Windows, см. Ρ‚Π°ΠΊΠΆΠ΅ ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ Π² Windows.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ --mount ΠΈ -v Π΄Π°ΡŽΡ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΠ±Π°, Ссли Π²Ρ‹ Π½Π΅ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ devtest послС запуска ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ.

  • --ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅
  • -Π²
 $ docker run -d \
  -это \
  --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° \
  --mount type=bind,source="$(pwd)"/target,target=/app \
  nginx: послСдний
 
 $ docker run -d \
  -это \
  --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° \
  -v "$(pwd)"/Ρ†Π΅Π»ΡŒ:/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \
  nginx: послСдний
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ docker inspect devtest , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ привязки Π±Ρ‹Π»ΠΎ создано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Π˜Ρ‰ΠΈΡ‚Π΅ Mounts Ρ€Π°Π·Π΄Π΅Π»:

 "ΠšΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΡ": [
    {
        "Π’ΠΈΠΏ": "ΡΠ²ΡΠ·Π°Ρ‚ΡŒ",
        "Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ": "/tmp/источник/Ρ†Π΅Π»ΡŒ",
        «НазначСниС»: Β«/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β»,
        "Π Π΅ΠΆΠΈΠΌ": "",
        "RW": ΠΏΡ€Π°Π²Π΄Π°,
        «РаспространСниС»: Β«rprivateΒ»
    }
],
 

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ являСтся ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ bind , ΠΎΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ источник ΠΈ назначСния, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ доступно для чтСния ΠΈ записи ΠΈ Ρ‡Ρ‚ΠΎ распространСниС ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° rprivate .

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:

 $ docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ devtest
$ docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ rm devtest
 

Π‘ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² нСпустой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°

Если Π²Ρ‹ привязываСтС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊ ​​нСпустому ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ содСрТимоС скрыто ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ привязки. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ вашСго прилоТСния Π±Π΅Π· построСниС Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠΈΠ΄ΠΆΠ°. Однако это Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ отличаСтся ΠΎΡ‚ Ρ‚ΠΎΠΌΠΎΠ² Π΄ΠΎΠΊΠ΅Ρ€ΠΎΠ².

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π°Π΄ΡƒΠΌΠ°Π½ ΠΊΠ°ΠΊ ΡΠΊΡΡ‚Ρ€Π΅ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ замСняСт содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° /usr/ с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ /tmp/ Π½Π° хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π’ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв это ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π΅Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ --mount ΠΈ -v ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

  • --ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅
  • -Π²
 $ docker run -d \
  -это \
  --name сломанный-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ \
  --mount type=bind,source=/tmp,target=/usr \
  nginx: послСдний
docker: ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΠ± ошибкС ΠΎΡ‚ Π΄Π΅ΠΌΠΎΠ½Π°: ошибка Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния oci: container_linux. go:262:
запуск процСсса ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π²Ρ‹Π·Π²Π°Π» "exec: \"nginx\": исполняСмый Ρ„Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² $PATH".
 
 $ docker run -d \
  -это \
  --name сломанный-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ \
  -v /tmp:/usr \
  nginx: послСдний
docker: ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΠ± ошибкС ΠΎΡ‚ Π΄Π΅ΠΌΠΎΠ½Π°: ошибка Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния oci: container_linux.go:262:
запуск процСсса ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π²Ρ‹Π·Π²Π°Π» "exec: \"nginx\": исполняСмый Ρ„Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ Π² $PATH".
 

ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ создан, Π½ΠΎ Π½Π΅ запускаСтся. Π£Π΄Π°Π»ΠΈΡ‚Π΅ это:

 $ docker container rm сломанный-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния

Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ запись Π² ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ привязки, поэтому измСнСния Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° Π”ΠΎΠΊΠ΅Ρ€-хост. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ трСбуСтся доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ измСняСт ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅, Π½ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΊΠ°ΠΊ доступный Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ro Π² (пустой ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ) список ΠΎΠΏΡ†ΠΈΠΉ, послС Ρ‚ΠΎΡ‡ΠΊΠ° монтирования Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ --mount ΠΈ -v Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

  • --ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅
  • -Π²
 $ docker run -d \
  -это \
  --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° \
  --mount type=bind,source="$(pwd)"/target,target=/app,Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния \
  nginx: послСдний
 
 $ docker run -d \
  -это \
  --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° \
  -v "$(pwd)"/Ρ†Π΅Π»ΡŒ:/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:ro \
  nginx: послСдний
 

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ docker inspect devtest , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ привязки Π±Ρ‹Π»ΠΎ создано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Π˜Ρ‰ΠΈΡ‚Π΅ Mounts Ρ€Π°Π·Π΄Π΅Π»:

 "ΠšΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΡ": [
    {
        "Π’ΠΈΠΏ": "ΡΠ²ΡΠ·Π°Ρ‚ΡŒ",
        "Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ": "/tmp/источник/Ρ†Π΅Π»ΡŒ",
        «НазначСниС»: Β«/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Β»,
        Β«Π Π΅ΠΆΠΈΠΌΒ»: Β«Ρ€ΠΎΒ»,
        "RW": лоТь,
        «РаспространСниС»: Β«rprivateΒ»
    }
],
 

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:

 $ docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ devtest
$ docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ rm devtest
 

Настройка распространСния привязки

РаспространСниС привязки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ rprivate ΠΊΠ°ΠΊ для монтирования привязки, Ρ‚Π°ΠΊ ΠΈ для Ρ‚ΠΎΠΌΠΎΠ². Π­Ρ‚ΠΎ настраиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для монтирования с привязкой ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Linux. Π‘Π²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ РаспространСниС β€” слоТная Ρ‚Π΅ΠΌΠ°, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π΅.

РаспространСниС привязки относится ΠΊ Ρ‚ΠΎΠΌΡƒ, созданы Π»ΠΈ монтирования Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π΄Π°Π½Π½ΠΎΠ³ΠΎ bind-mount ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ этого монтирования. Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΠ° монтирования /mnt , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ монтируСтся Π½Π° /tmp . Настройки распространСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° /tmp/a Ρ‚Π°ΠΊΠΆΠ΅ доступно Π½Π° /mnt/a . ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ настройка распространСния ΠΈΠΌΠ΅Π΅Ρ‚ рСкурсивный ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΏΡƒΠ½ΠΊΡ‚. Π’ случаС рСкурсии ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ /tmp/a Ρ‚Π°ΠΊΠΆΠ΅ монтируСтся ΠΊΠ°ΠΊ /foo . Настройки распространСния ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сущСствованиС /mnt/a ΠΈ/ΠΈΠ»ΠΈ /tmp/a .

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅

РаспространСниС монтирования Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Docker Desktop.

Настройка распространСния ОписаниС
ΠΎΠ±Ρ‰ΠΈΠΉ Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты исходного крСплСния ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°ΠΌ, Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½Π° исходноС ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅.
ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΡŽ, Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½Ρƒ сторону. Если исходноС ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ. Однако, Ссли ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ прСдоставляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, исходноС ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ.
частный БрСдство пСрСдвиТСния являСтся Π»ΠΈΡ‡Π½Ρ‹ΠΌ. Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ элСмСнты Π² Π½Π΅ΠΌ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ€Π΅ΠΏΠ»ΠΈΠΊ, Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты монтирования Ρ€Π΅ΠΏΠ»ΠΈΠΊ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ исходному ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.
ΠΎΠ±Ρ‰ΠΈΠΉ доступ Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅, Π½ΠΎ распространСниС Ρ‚Π°ΠΊΠΆΠ΅ распространяСтся Π½Π° Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π»ΡŽΠ±ΡƒΡŽ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.
ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π²Π΅Π΄ΠΎΠΌΠΎΠ΅ устройство, Π½ΠΎ распространСниС Ρ‚Π°ΠΊΠΆΠ΅ распространяСтся Π½Π° Ρ‚ΠΎΡ‡ΠΊΠΈ монтирования, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π»ΡŽΠ±ΡƒΡŽ ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ монтирования ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° ΠΈΠ»ΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ, ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.
частный По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ частный, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ монтирования Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… исходных Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡Π΅ΠΊ монтирования Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ Π½Π΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ смоТСтС ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ распространСниС привязки Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ монтирования, файловая систСма хоста Π΄ΠΎΠ»ΠΆΠ½Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ распространСниС привязки.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния ΠΎ распространСнии привязки см. ДокумСнтация ядра Linux для ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ target/ Π΄Π²Π°ΠΆΠ΄Ρ‹ монтируСтся Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ устанавливаСт ΠΊΠ°ΠΊ ΠΎΠΏΡ†ΠΈΡŽ ro , Ρ‚Π°ΠΊ ΠΈ распространСниС привязки rslave . Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ --mount ΠΈ -v Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

  • --ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅
  • -Π²
 $ запуск Π΄ΠΎΠΊΠ΅Ρ€Π° -d \
  -это \
  --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° \
  --mount type=bind,source="$(pwd)"/target,target=/app \
  --mount type=bind,source="$(pwd)"/target,target=/app2,Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния,bind-propagation=rslave \
  nginx: послСдний
 
 $ docker run -d \
  -это \
  --Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° \
  -v "$(pwd)"/Ρ†Π΅Π»ΡŒ:/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ \
  -v "$(pwd)"/target:/app2:ro,rslave \
  nginx: послСдний
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Π²Ρ‹ создадитС /app/foo/ , /app2/foo/ Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт.

Настройка ΠΌΠ΅Ρ‚ΠΊΠΈ selinux

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ selinux , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ z ΠΈΠ»ΠΈ Z , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ selinux ΠΌΠ΅Ρ‚ΠΊΠ° хост-Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° , ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π­Ρ‚ΠΎΡ‚ влияСт Π½Π° Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° самом хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ послСдствия, выходящиС Π·Π° Ρ€Π°ΠΌΠΊΠΈ Docker.

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ z ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ содСрТимоС привязки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСсколькими ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹.
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Z ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ содСрТимоС монтирования привязки являСтся частным ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ совмСстно.

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны с этими ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° систСмного ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, /home ΠΈΠ»ΠΈ /usr с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ Z ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ваш хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ нСработоспособСн, ΠΈ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π’Π°ΠΆΠ½ΠΎ : ΠŸΡ€ΠΈ использовании связанных ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΉ со слуТбами ΠΌΠ΅Ρ‚ΠΊΠΈ selinux ( :Z ΠΈ :z ), Π° Ρ‚Π°ΠΊΠΆΠ΅ :ro ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.