Π ΡΠΎΡΡΠ΄Π΅ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ 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
ΡΠ»Π°Π³ΠΈ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠΌΠΎΠ² ΡΠΎ ΡΠ»ΡΠΆΠ±Π°ΠΌΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ
.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠΌΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠΌΠ° ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠΌ :
$ 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.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΈ Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠΎ:
$ fallocate -f 1G disk.raw
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° ΡΠ°ΠΉΠ»Π΅
disk.raw
:$ mkfs.ext4 disk.raw
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ:
$ lossup -f --show disk.raw /dev/loop5
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
lossup
ΡΠΎΠ·Π΄Π°Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΡΠ½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡlossup -d
.ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ½ΡΠΈΡΡΠ΅Ρ ΠΏΠ΅ΡΠ»Π΅Π²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ°ΠΊ ΡΠΎΠΌ:
$ docker run -it --rm \ --mount='type=volume,dst=/Π²Π½Π΅ΡΠ½ΠΈΠΉ Π΄ΠΈΡΠΊ,volume-driver=local,volume-opt=device=/dev/loop5,volume-opt=type=ext4' \ ΡΠ±ΡΠ½ΡΡ Π±Π°Ρ
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΡΡΡ
/Π²Π½Π΅ΡΠ½ΠΈΠΉ Π΄ΠΈΡΠΊ
ΠΌΠΎΠ½ΡΠΈΡΡΠ΅Ρdisk. raw
ΡΠ°ΠΉΠ» ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ ΠΎΡΡΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π»ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΠΎΡΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΏΠ΅ΡΠ»Π΅Π²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ· Ρ ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΡ:
$ 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
. - ΠΡΡΠΎΡΠ½ΠΈΠΊ
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
ΠΈΠ»ΠΈΠΈΡΡΠΎΡΠ½ΠΈΠΊ
. - ΠΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
,Π΄ΡΡ
, ΠΈΠ»ΠΈΡΠ΅Π»Ρ
. - ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ
ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ
, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ, Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. - ΠΠΏΡΠΈΡ
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
ΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.
Leave A Comment