Docker
Π Π΅Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Docker (Container Registry) β ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Docker-ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ².
Dockerfile - ΡΠ°ΠΉΠ» Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Docker-ΠΎΠ±ΡΠ°Π·Π°. Π Dockerfile ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Ρ.
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ²
ΠΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π²ΠΈΠ΄Π° ΡΠ΅Π΅ΡΡΡ/Π²Π»Π°Π΄Π΅Π»Π΅Ρ/ΠΎΠ±ΡΠ°Π·:
# ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΎΠ±ΡΠ°Π· Ρ ΡΠ΅Π³ΠΎΠΌ
docker build -t ΡΠ΅Π΅ΡΡΡ/Π²Π»Π°Π΄Π΅Π»Π΅Ρ/ΠΎΠ±ΡΠ°Π·:ΡΠ΅Π³ .
# Π½Π°Π·Π²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΠΎΠ±ΡΠ°Π· Ρ ΡΠ΅Π³ΠΎΠΌ
docker tag Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ-ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ-ΠΎΠ±ΡΠ°Π·:ΡΠ΅Π³ ΡΠ΅Π΅ΡΡΡ/Π²Π»Π°Π΄Π΅Π»Π΅Ρ/ΠΎΠ±ΡΠ°Π·:ΡΠ΅Π³Π³Π΄Π΅ Π²Π°Ρ ΡΠ΅Π΅ΡΡΡ - ΡΡΠΎ Π΄ΠΎΠΌΠ΅Π½ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° GitVerse (gitverse.example.ru).
ΠΡΠΈΠΌΠ΅Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ ΠΈΠΌΠ΅Π½ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π΄Π»Ρ Π²Π»Π°Π΄Π΅Π»ΡΡΠ° coauthor Π² GitVerse:
gitverse.ru/coauthor/myimage
gitverse.ru/coauthor/my-image
gitverse.ru/coauthor/my/imageΠ Π΅Π΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΠ΅Π³ΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ±ΡΠ°Π·Ρ image:tag ΠΈ image:Tag ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π· Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΠ΅Π³ΠΎΠΌ.
ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Docker
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
docker login -u Π²Π°Ρ_username_Π²_GitVerse gitverse.ruΠ‘ΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
docker build -t gitverse.ru/Π²Π°Ρ_username_Π²_GitVerse/Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΏΠ°ΠΊΠ΅ΡΠ°:Π²Π΅ΡΡΠΈΡ_ΠΏΠ°ΠΊΠ΅ΡΠ° .ΠΡΠΏΡΠ°Π²ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
docker push gitverse.ru/Π²Π°Ρ_username_Π²_GitVerse/Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΏΠ°ΠΊΠ΅ΡΠ°:Π²Π΅ΡΡΠΈΡ_ΠΏΠ°ΠΊΠ΅ΡΠ°
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΠΊΠ΅ΡΠ°
ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΎΠΏΠΈΡΠ°Π½ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°:
