π₯ ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π΄Π»Ρ Dockerfile ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠ΅ Dockerfile β Π³Π°ΡΠ°Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
Docker-ΠΎΠ±ΡΠ°Π·ΠΎΠ². ΠΡΠΎ Π·Π½Π°ΡΠΈΡ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΡ
, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ
ΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
.
Π‘ΡΠ°Π·Ρ ΠΊ Π΄Π΅Π»Ρ:β ΠΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΠΎΠ΅Π²: ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Dockerfile Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ»ΠΎΠΉ ΠΊ ΠΎΠ±ΡΠ°Π·Ρ. Π§ΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π·Π° ΠΈ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ±ΠΎΡΠΊΡ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² RUN ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ && Π΄Π»Ρ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄.
β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ .dockerignore
: ΠΠ°ΠΊ ΠΈ
.gitignore
, ΠΎΠ½ΠΈ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ Docker.
β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΡΡ: Docker ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΡΡ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ, ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»ΠΎΠΈ. Π§ΡΠΎΠ±Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
β ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΡΠΉΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π·Π°: ΡΠ΄Π°Π»ΡΠΉΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Alpine Linux, ΠΈ Π½Π΅ ΡΡΠ°Π²ΡΡΠ΅ Π»ΠΈΡΠ½ΠΈΡ
ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
β ΠΡΠΈΡΡΠΊΠ° ΠΏΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ: ΡΠ΄Π°Π»ΡΠΉΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΡΡ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄
apt-get clean
,
yum clean
ΠΈΠ»ΠΈ
apk
, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠ±ΡΠ°Π·Π°.
β ΠΠ΅Π»Π°ΠΉΡΠ΅ Docker-ΠΎΠ±ΡΠ°Π·Ρ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ, ΡΠΊΠ°Π½ΠΈΡΡΡ ΠΈΡ
Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
β ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ: Π΄ΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π³, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ±ΠΎΡΠΊΠ΅ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ.
ΠΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΈ Π΄Π΅Π»ΠΈΡΠ΅ΡΡ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ
π«‘@DevOpsKaz π