Как я запускал Π”ΠΎΠΊΠ΅Ρ€ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π”ΠΎΠΊΠ΅Ρ€Π° ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ· этого ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! Π’ своСй ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, я ΠΎΠ±Π΅Ρ‰Π°Π» Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ запуск Π”ΠΎΠΊΠ΅Ρ€Π° Π² Π”ΠΎΠΊΠ΅Ρ€Π΅ ΠΈ ΠΎ практичСских аспСктах примСнСния этого занятия. Настало врСмя Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ своС ΠΎΠ±Π΅Ρ‰Π°Π½ΠΈΠ΅. ΠžΠΏΡ‹Ρ‚Π½Ρ‹ΠΉ дСвопс, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π²ΠΎΠ·Ρ€Π°Π·ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΡƒ Π½ΡƒΠΆΠ΅Π½ Π”ΠΎΠΊΠ΅Ρ€ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π”ΠΎΠΊΠ΅Ρ€Π°, просто ΠΏΡ€ΠΎΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ сокСт Π”ΠΎΠΊΠ΅Ρ€ Π΄Π΅ΠΌΠΎΠ½Π° ΠΈΠ· хоста Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ этого Ρ…Π²Π°Ρ‚ΠΈΡ‚ Π² 99% случаСв. Но Π½Π΅ ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅ ΠΊΠΈΠ΄Π°Ρ‚ΡŒ Π² мСня ΠΏΠ΅Ρ‡Π΅Π½ΡŒΠΊΠΈ, вСдь Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ запускС Π”ΠΎΠΊΠ΅Ρ€Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π”ΠΎΠΊΠ΅Ρ€Π°. Π£ этого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… областСй примСнСния ΠΈ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… эта ΡΡ‚Π°Ρ‚ΡŒΡ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΡƒΡΠ°ΠΆΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈ выпрямитС Ρ€ΡƒΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ собой.

Как я запускал Π”ΠΎΠΊΠ΅Ρ€ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π”ΠΎΠΊΠ΅Ρ€Π° ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ· этого ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ

Начало

ВсС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ Π΄ΠΎΠΆΠ΄Π»ΠΈΠ²Ρ‹ΠΌ ΡΠ΅Π½Ρ‚ΡΠ±Ρ€ΡŒΡΠΊΠΈΠΌ Π²Π΅Ρ‡Π΅Ρ€ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° я чистил Π°Ρ€Π΅Π½Π΄ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π·Π° $5 ΠΌΠ°ΡˆΠΈΠ½ΠΊΡƒ Π½Π° Digital Ocean, которая Π½Π°ΠΌΠ΅Ρ€Ρ‚Π²ΠΎ повисла ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π”ΠΎΠΊΠ΅Ρ€ Π·Π°ΠΏΠΎΠ»ΠΎΠ½ΠΈΠ» своими ΠΎΠ±Ρ€Π°Π·Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ всС 24 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° доступного дискового пространства. Π˜Ρ€ΠΎΠ½ΠΈΡ Π±Ρ‹Π»Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС эти ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ Ρ‚Ρ€Π°Π½Π·ΠΈΠ΅Π½Ρ‚Π½Ρ‹ΠΌΠΈ ΠΈ Π½ΡƒΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ лишь для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΅Π³ΠΎ прилоТСния ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠ»Π° новая вСрсия ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Π― ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΠΏΠΈΡΠ°Ρ‚ΡŒ шСлл-сркипты ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ расписаниС ΠΊΡ€ΠΎΠ½ для очистки мусора, Π½ΠΎ это Π½Π΅ спасло: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· всС Π½Π΅ΠΌΠΈΠ½ΡƒΠ΅ΠΌΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π»ΠΎΡΡŒ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ дисковоС пространство ΠΌΠΎΠ΅Π³ΠΎ сСрвСра ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ ΡΡŠΠ΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π° сСрвСр зависшим (Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС). Π’ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ я наткнулся Π½Π° ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΡ€ΠΎ Ρ‚ΠΎ ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Jenkins Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ сборочныС ΠΊΠΎΠ½Π²Π΅Π΅Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ Π² Π½Π΅Π³ΠΎ сокСт Π΄ΠΎΠΊΠ΅Ρ€ Π΄Π΅ΠΌΠΎΠ½Π°. ИдСя ΠΌΠ½Π΅ ΠΏΡ€ΠΈΠ³Π»ΡΠ½ΡƒΠ»Π°ΡΡŒ, Π½ΠΎ я Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠΉΡ‚ΠΈ дальшС ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с нСпосрСдствСнным запуском Π”ΠΎΠΊΠ΅Ρ€Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π”ΠΎΠΊΠ΅Ρ€Π°. МнС Ρ‚ΠΎΠ³Π΄Π° казалось Π²ΠΏΠΎΠ»Π½Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹ΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π·Ρ‹ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ всСх ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½Ρ‹ для тСстирования Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° (Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ staging ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€). ИдСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ staging ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с Ρ„Π»Π°Π³ΠΎΠΌ -rm, Ρ‡Ρ‚ΠΎ автоматичСски удаляСт вСсь ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ со всСм Π΅Π³ΠΎ содСрТимым ΠΏΡ€ΠΈ Π΅Π³ΠΎ остановкС. Π― покопался с Π΄ΠΎΠΊΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΡ‚ самого Π”ΠΎΠΊΠ΅Ρ€Π° (https://hub.docker.com/_/docker), Π½ΠΎ ΠΎΠ½ΠΎ оказалось слишком Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ ΠΈ ΠΌΠ½Π΅ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈ ΠΌΠ½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ вСсь ΠΏΡƒΡ‚ΡŒ самому.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Шишки

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

  1. ЗапускаСм Π”ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

    docker run --privileged -it docker:18.09.6

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, шаг Π²ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ Π² Π»Π΅Π²ΠΎ ΠΈ ваш Π”ΠΈΠ½Π” прСвращаСтся Π² Ρ‚Ρ‹ΠΊΠ²Ρƒ. На самом Π΄Π΅Π»Π΅, всС ломаСтся довольно часто с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ вСрсии.
    ΠœΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сразу ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² шСлл.

  2. ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ (ΠžΡ‚Π²Π΅Ρ‚: Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅), Π½ΠΎ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ всС-Ρ€Π°Π²Π½ΠΎ:

    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

  3. Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим Π΅Π³ΠΎ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ:

    dockerd &

    Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° нСприятная Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΡΡ‚ΡŒ:

    failed to start daemon: Error initializing network controller: error obtaining controller instance: failed 
    to create NAT chain DOCKER: Iptables not found

  4. УстанавливаСм ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ iptables ΠΈ bash (Π² башС всяко Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ приятнСС Ρ‡Π΅ΠΌ Π² sh):

    apk add --no-cache iptables bash

  5. ЗапускаСм bash. НаконСц-Ρ‚ΠΎ ΠΌΡ‹ снова Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ шСллС

  6. ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π”ΠΎΠΊΠ΅Ρ€ Π΅Ρ‰Π΅ Ρ€Π°Π·:

    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

  7. НаТимаСм Enter. ΠœΡ‹ снова Π² башС.

Начиная с этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ нашСго Π”ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π½ΠΎ Ρ‡Ρ‚ΠΎ Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π”ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²Π½ΡƒΡ‚Ρ€ΠΈ нашСго Π”ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ «Π²Ρ‹Π»Π΅Ρ‚ΠΈΡ‚»? ΠΠ°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ всС с Π½Π°Ρ‡Π°Π»Π°.

БобствСнный DinD ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ экспСримСнты

Как я запускал Π”ΠΎΠΊΠ΅Ρ€ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π”ΠΎΠΊΠ΅Ρ€Π° ΠΈ Ρ‡Ρ‚ΠΎ ΠΈΠ· этого ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ
Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π²Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ шаги снова ΠΈ снова я создал собствСнный DinD ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:

https://github.com/alekslitvinenk/dind

Π Π°Π±ΠΎΡ‡Π΅Π΅ DinD Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π°Π»ΠΎ ΠΌΠ½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π”ΠΎΠΊΠ΅Ρ€ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π”ΠΎΠΊΠ΅Ρ€Π° рСкурсивно ΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ смСлыС экспСримСнты.
Один Ρ‚Π°ΠΊΠΎΠΉ (ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ) экспСримСнт с запуском MySQL ΠΈ Nodejs я ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ сСйчас ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ.
Π‘Π°ΠΌΡ‹Π΅ Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ здСсь

Π˜Ρ‚Π°ΠΊ, Π½Π°Ρ‡Π½Π΅ΠΌ:

  1. ЗапускаСм DinD Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΉ вСрсии DinD Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π·Π°ΠΌΠ°ΠΏΠΈΡ‚ΡŒ всС ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ наши Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ (я Π½Π°Π΄ этим ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ)

    docker run --privileged -it 
    -p 80:8080 
    -p 3306:3306 
    alekslitvinenk/dind

    ΠœΡ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² баш, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΌΠΎΠΆΠ΅ΠΌ сразу ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ запуску Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

  2. ЗапускаСм MySQL:

    docker run --name mysql -e MYSQL_ROOT_PASSWORD=strongpassword -d -p 3306:3306 mysql

  3. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΌΡ‹ Π±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ ΠΊ Π½Π΅ΠΉ локально. УбСТдаСмся Ρ‡Ρ‚ΠΎ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

  4. ЗапускаСм Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:

    docker run -d --rm -p 8080:8080 alekslitvinenk/hello-world-nodejs-server

    ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ€Ρ‚ ΠΌΠ°ΠΏΠΈΠ½Π³ здСсь Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ 8080:8080, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΆΠ΅ Π·Π°ΠΌΠ°ΠΏΠΈΠ»ΠΈ ΠΏΠΎΡ€Ρ‚ 80 ΠΈΠ· хоста Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° ΠΏΠΎΡ€Ρ‚ 8080.

  5. ИдСм Π½Π° localhost Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, убСТдаСмся Ρ‡Ρ‚ΠΎ сСрвСр ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ «Hello World!».

Π’ ΠΌΠΎΠ΅ΠΌ случаС экспСримСнт с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π”ΠΎΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ оказался довольно ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ я ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для стСйдТинга. МнС каТСтся, Ρ‡Ρ‚ΠΎ это Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ лСгковСсноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‡Π΅ΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Kubernetes ΠΈ Jenkins X. Но это ΠΌΠΎΠ΅ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅.

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ для сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” это всС. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡˆΡƒ экспСримСнты с рСкурсивным запуском Π”ΠΎΠΊΠ΅Ρ€Π° Π² Π”ΠΎΠΊΠ΅Ρ€Π΅ ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ Π²Π³Π»ΡƒΠ±ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².

P.S. Если Π²Ρ‹ считаСтС Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ρ‚ΠΎ поТалуйста ΠΏΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅ΠΌΡƒ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΡƒ Π½Π° Π“ΠΈΡ‚Π₯Π°Π±Π΅, сдСлайтС Ρ„ΠΎΡ€ΠΊ ΠΈ расскаТитС Π΄Ρ€ΡƒΠ·ΡŒΡΠΌ.

Edit1 Π˜ΡΠΏΡ€Π°Π²ΠΈΠ» ошибки, сдСлал фокус Π½Π° 2 Π²ΠΈΠ΄Π΅ΠΎ

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com