ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ! Π ΡΠ²ΠΎΠ΅ΠΉ
ΠΠ°ΡΠ°Π»ΠΎ
ΠΡΠ΅ Π½Π°ΡΠ°Π»ΠΎΡΡ Π΄ΠΎΠΆΠ΄Π»ΠΈΠ²ΡΠΌ ΡΠ΅Π½ΡΡΠ±ΡΡΡΠΊΠΈΠΌ Π²Π΅ΡΠ΅ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠΈΡΡΠΈΠ» Π°ΡΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡΡ Π·Π° $5 ΠΌΠ°ΡΠΈΠ½ΠΊΡ Π½Π° Digital Ocean, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΠΌΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ²ΠΈΡΠ»Π° ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ ΡΡΠΎ ΠΠΎΠΊΠ΅Ρ Π·Π°ΠΏΠΎΠ»ΠΎΠ½ΠΈΠ» ΡΠ²ΠΎΠΈΠΌΠΈ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Π²ΡΠ΅ 24 Π³ΠΈΠ³Π°Π±Π°ΠΉΡΠ° Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ³ΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°. ΠΡΠΎΠ½ΠΈΡ Π±ΡΠ»Π° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΡΡΠΈ ΠΎΠ±ΡΠ°Π·Ρ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π±ΡΠ»ΠΈ ΡΡΠ°Π½Π·ΠΈΠ΅Π½ΡΠ½ΡΠΌΠΈ ΠΈ Π½ΡΠΆΠ½Ρ Π±ΡΠ»ΠΈ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΠ³Π΄Π° Π²ΡΡ
ΠΎΠ΄ΠΈΠ»Π° Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°. Π― ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠΈΡΠ°ΡΡ ΡΠ΅Π»Π»-ΡΡΠΊΠΈΠΏΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΡΠΎΠ½ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΠΌΡΡΠΎΡΠ°, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΏΠ°ΡΠ»ΠΎ: ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π²ΡΠ΅ Π½Π΅ΠΌΠΈΠ½ΡΠ΅ΠΌΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π»ΠΎΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΠΎΡΡ ΡΡΠ΅Π΄Π΅Π½Π½ΡΠΌ Π° ΡΠ΅ΡΠ²Π΅Ρ Π·Π°Π²ΠΈΡΡΠΈΠΌ (Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅). Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ Π½Π°ΡΠΊΠ½ΡΠ»ΡΡ Π½Π° ΡΡΠ°ΡΡΡ ΠΏΡΠΎ ΡΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Jenkins Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ±ΠΎΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠ½Π²Π΅Π΅ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±ΡΠΎΡΠ΅Π½Π½ΡΠΉ Π² Π½Π΅Π³ΠΎ ΡΠΎΠΊΠ΅Ρ Π΄ΠΎΠΊΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½Π°. ΠΠ΄Π΅Ρ ΠΌΠ½Π΅ ΠΏΡΠΈΠ³Π»ΡΠ½ΡΠ»Π°ΡΡ, Π½ΠΎ Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠΉΡΠΈ Π΄Π°Π»ΡΡΠ΅ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΌ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΠΎΠΊΠ΅ΡΠ° Π²Π½ΡΡΡΠΈ ΠΠΎΠΊΠ΅ΡΠ°. ΠΠ½Π΅ ΡΠΎΠ³Π΄Π° ΠΊΠ°Π·Π°Π»ΠΎΡΡ Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ Π΄ΠΎΠΊΠ΅Ρ ΠΎΠ±ΡΠ°Π·Ρ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π²ΡΠ΅Ρ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ½Π΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° (Π΄Π°Π²Π°ΠΉΡΠ΅ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ staging ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ). ΠΠ΄Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ staging ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Ρ ΡΠ»Π°Π³ΠΎΠΌ -rm, ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²Π΅ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠΎ Π²ΡΠ΅ΠΌ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅. Π― ΠΏΠΎΠΊΠΎΠΏΠ°Π»ΡΡ Ρ Π΄ΠΎΠΊΠ΅Ρ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΠΎΠΊΠ΅ΡΠ° (
ΠΡΠ°ΠΊΡΠΈΠΊΠ°. Π¨ΠΈΡΠΊΠΈ
Π― Π·Π°Π΄Π°Π»ΡΡ ΡΠ΅Π»ΡΡ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½Π΅ Π±ΡΠ»ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π» ΡΠ²ΠΎΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ°Π»ΠΎ Π½Π΅ΡΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΠ΅ΠΊ. ΠΡΠΎΠ³ΠΎΠΌ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ°ΠΌΠΎΠΈΡΡΡΠ·Π°Π½ΠΈΡ ΡΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ:
-
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅.
docker run --privileged -it docker:18.09.6
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, ΡΠ°Π³ Π²ΠΏΡΠ°Π²ΠΎ ΠΈΠ»ΠΈ Π² Π»Π΅Π²ΠΎ ΠΈ Π²Π°Ρ ΠΠΈΠ½Π ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΡΠΊΠ²Ρ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π²ΡΠ΅ Π»ΠΎΠΌΠ°Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΡΠΎ Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ.
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΡΠ΅Π»Π». -
ΠΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ (ΠΡΠ²Π΅Ρ: Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅), Π½ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π²ΡΠ΅-ΡΠ°Π²Π½ΠΎ:
docker ps
ΠΡ Π±ΡΠ΄Π΅ΡΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΈΠ²Π»Π΅Π½Ρ, Π½ΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΠΎΠΊΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½:
error during connect: Get http://docker:2375/v1.40/containers/json: dial tcp: lookup docker on 192.168.65.1:53: no such host
-
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΠΌ Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ:
dockerd &
ΠΡΠ΅ ΠΎΠ΄Π½Π° Π½Π΅ΠΏΡΠΈΡΡΠ½Π°Ρ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡΡ:
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: Iptables not found
-
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΡ iptables ΠΈ bash (Π² Π±Π°ΡΠ΅ Π²ΡΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈΡΡΠ½Π΅Π΅ ΡΠ΅ΠΌ Π² sh):
apk add --no-cache iptables bash
-
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ bash. ΠΠ°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΌΡ ΡΠ½ΠΎΠ²Π° Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ ΡΠ΅Π»Π»Π΅
-
ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΠΎΠΊΠ΅Ρ Π΅ΡΠ΅ ΡΠ°Π·:
dockerd &
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΏΡΠΎΡΡΡΠ½Ρ Π»ΠΎΠ³ΠΎΠ² Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡΡΡ:
INFO[2019-11-25T19:51:19.448080400Z] Daemon has completed initialization INFO[2019-11-25T19:51:19.474439300Z] API listen on /var/run/docker.sock
-
ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Enter. ΠΡ ΡΠ½ΠΎΠ²Π° Π² Π±Π°ΡΠ΅.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π²Π½ΡΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°, Π½ΠΎ ΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄Π½ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²Π½ΡΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ Π½Π΅ ΡΠ°ΠΊ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ «Π²ΡΠ»Π΅ΡΠΈΡ»? ΠΠ°ΡΠΈΠ½Π°ΡΡ Π²ΡΠ΅ Ρ Π½Π°ΡΠ°Π»Π°.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ DinD ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΈ Π½ΠΎΠ²ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ
Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠ°Π³ΠΈ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π° Ρ ΡΠΎΠ·Π΄Π°Π» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ DinD ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
Π Π°Π±ΠΎΡΠ΅Π΅ DinD ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π»ΠΎ ΠΌΠ½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΠΎΠΊΠ΅Ρ Π²Π½ΡΡΡΠΈ ΠΠΎΠΊΠ΅ΡΠ° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΌΠ΅Π»ΡΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ.
ΠΠ΄ΠΈΠ½ ΡΠ°ΠΊΠΎΠΉ (ΡΠ΄Π°ΡΠ½ΡΠΉ) ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ MySQL ΠΈ Nodejs Ρ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΎΠΏΠΈΡΠ°ΡΡ.
Π‘Π°ΠΌΡΠ΅ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π»ΠΈΠ²ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ Π·Π΄Π΅ΡΡ
ΠΡΠ°ΠΊ, Π½Π°ΡΠ½Π΅ΠΌ:
-
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ DinD Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ DinD Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΡΡ Π·Π°ΠΌΠ°ΠΏΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π°ΡΠΈ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ (Ρ Π½Π°Π΄ ΡΡΠΈΠΌ ΡΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Ρ)
docker run --privileged -it -p 80:8080 -p 3306:3306 alekslitvinenk/dind
ΠΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² Π±Π°Ρ, ΠΎΡΠΊΡΠ΄Π° ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠ°Π·Ρ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ Π·Π°ΠΏΡΡΠΊΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
-
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ MySQL:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=strongpassword -d -p 3306:3306 mysql
-
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΌΡ Π±Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π»ΠΈΡΡ ΠΊ Π½Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ. Π£Π±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
-
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ:
docker run -d --rm -p 8080:8080 alekslitvinenk/hello-world-nodejs-server
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΡ ΠΌΠ°ΠΏΠΈΠ½Π³ Π·Π΄Π΅ΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ 8080:8080, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π·Π°ΠΌΠ°ΠΏΠΈΠ»ΠΈ ΠΏΠΎΡΡ 80 ΠΈΠ· Ρ ΠΎΡΡΠ° Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π½Π° ΠΏΠΎΡΡ 8080.
-
ΠΠ΄Π΅ΠΌ Π½Π° localhost Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΡΠ±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ «Hello World!».
Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΠΎΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΡ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΡΠ΅ΠΉΠ΄ΠΆΠΈΠ½Π³Π°. ΠΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌ ΡΠΎΡ ΠΆΠ΅ Kubernetes ΠΈ Jenkins X. ΠΠΎ ΡΡΠΎ ΠΌΠΎΠ΅ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅.
Π― Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π΄Π»Ρ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½Π΅ΠΉ ΡΡΠ°ΡΡΠΈ β ΡΡΠΎ Π²ΡΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΡ Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΌ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΠΎΠΊΠ΅ΡΠ° Π² ΠΠΎΠΊΠ΅ΡΠ΅ ΠΈ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ Π²Π³Π»ΡΠ±Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ².
P.S. ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΠΏΠΎΡΡΠ°Π²ΡΡΠ΅ Π΅ΠΌΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΡ Π½Π° ΠΠΈΡΠ₯Π°Π±Π΅, ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠΎΡΠΊ ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΠΈΡΠ΅ Π΄ΡΡΠ·ΡΡΠΌ.
Edit1 ΠΡΠΏΡΠ°Π²ΠΈΠ» ΠΎΡΠΈΠ±ΠΊΠΈ, ΡΠ΄Π΅Π»Π°Π» ΡΠΎΠΊΡΡ Π½Π° 2 Π²ΠΈΠ΄Π΅ΠΎ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com