Как стартирах Docker Π²ΡŠΡ‚Ρ€Π΅ Π² Docker ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅ Π½Π° всички! Π’ своСто Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° статия, ΠΎΠ±Π΅Ρ‰Π°Ρ… Π΄Π° Ρ€Π°Π·ΠΊΠ°ΠΆΠ° Π·Π° стартиранС Π½Π° Docker Π² Docker ΠΈ практичСскитС аспСкти Π½Π° Ρ‚ΠΎΠ²Π° Π·Π°Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π’Ρ€Π΅ΠΌΠ΅ Π΅ Π΄Π° изпълня ΠΎΠ±Π΅Ρ‰Π°Π½ΠΈΠ΅Ρ‚ΠΎ си. ΠžΠΏΠΈΡ‚Π΅Π½ DevOps спСциалист ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡŠΠ·Ρ€Π°Π·ΠΈ, Ρ‡Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌ Π΅ Π½ΡƒΠΆΠ΅Π½ Docker Π² Docker, просто ΠΏΡ€ΠΎΠ±ΠΈΠ²Π°Ρ‚ сокСта Π½Π° Docker Π΄Π΅ΠΌΠΎΠ½Π° ΠΎΡ‚ хоста Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ Ρ‚ΠΎΠ²Π° Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π² 99% ΠΎΡ‚ случаитС. Но Π½Π΅ Π±ΡŠΡ€Π·Π°ΠΉΡ‚Π΅ Π΄Π° ΠΌΠ΅ замСрятС с бисквити, Π·Π°Ρ‰ΠΎΡ‚ΠΎ става Π²ΡŠΠΏΡ€ΠΎΡ Π·Π° истинско стартиранС Π½Π° Docker Π²ΡŠΡ‚Ρ€Π΅ Π² Docker. Π’ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ възмоТни области Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π° Π΅Π΄Π½Π° ΠΎΡ‚ тях Π΅ Ρ‚Π°Π·ΠΈ статия, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ сС настанСтС ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΠΈΠ·ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Ρ€ΡŠΡ†Π΅Ρ‚Π΅ си ΠΏΡ€Π΅Π΄ сСбС си.

Как стартирах Docker Π²ΡŠΡ‚Ρ€Π΅ Π² Docker ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ

Начало

Всичко Π·Π°ΠΏΠΎΡ‡Π½Π° Π½Π° дъТдовСн сСптСмврийски Π²Π΅Ρ‡Π΅Ρ€, ΠΊΠΎΠ³Π°Ρ‚ΠΎ чистСх Π½Π°Π΅Ρ‚Π°Ρ‚Π° Π·Π° 5 $ машинка Π½Π° Digital Ocean, която сС Π±Π»ΠΎΠΊΠΈΡ€Π° Π·Π°Ρ€Π°Π΄ΠΈ Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ Docker запълни всичкитС 24 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π° Π½Π°Π»ΠΈΡ‡Π½ΠΎ дисково пространство с ΠΎΠ±Ρ€Π°Π·ΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Π˜Ρ€ΠΎΠ½ΠΈΡΡ‚Π° бСшС Π² Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ всичкитС Ρ‚Π΅Π·ΠΈ ΠΎΠ±Ρ€Π°Π·ΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ бяха ΠΏΡ€Π΅Ρ…ΠΎΠ΄Π½ΠΈ ΠΈ бяха Π½ΡƒΠΆΠ½ΠΈ само Π·Π° тСстванС Π½Π° функционалността Π½Π° ΠΌΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ всСки ΠΏΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·Π»Π΅Π·Π΅ Π½ΠΎΠ²Π° вСрсия Π½Π° някоя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠ»ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΡƒΠΎΡ€ΠΊ. ΠžΠΏΠΈΡ‚Π°Ρ… сС Π΄Π° пиша shell скриптовС ΠΈ Π΄Π° настройвам cron Π·Π°Π΄Π°Ρ‡ΠΈ Π·Π° почистванС Π½Π° ΠΌΡŠΡ€ΡΠΎΡ‚ΠΈΠΈΡ‚Π΅, Π½ΠΎ Ρ‚ΠΎΠ²Π° Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°: всСки ΠΏΡŠΡ‚ всичко Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎ Π·Π°Π²ΡŠΡ€ΡˆΠ²Π°ΡˆΠ΅ с Ρ‚ΠΎΠ²Π°, Ρ‡Π΅ дисковото пространство Π½Π° моят ΡΡŠΡ€Π²ΡŠΡ€ бСшС Π·Π°Π΅Ρ‚ΠΎ, Π° ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ зависвашС (Π² Π½Π°ΠΉ-добрия случай). Π’ Π΅Π΄ΠΈΠ½ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠΏΠ°Π΄Π½Π°Ρ… Π½Π° статия Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π° стартирам Jenkins Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° създава ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π° ΠΊΠΎΠ½Π²Π΅ΠΉΡ€ΠΈ Π·Π° компилация Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±ΠΈΡ‚ Π² Π½Π΅Π³ΠΎ сокСт Π½Π° Docker Π΄Π΅ΠΌΠΎΠ½Π°. Π˜Π΄Π΅ΡΡ‚Π° ΠΌΠΈ харСса, Π½ΠΎ Ρ€Π΅ΡˆΠΈΡ… Π΄Π° ΠΎΡ‚ΠΈΠ΄Π° ΠΏΠΎ-Π΄Π°Π»Π΅Ρ‡ ΠΈ Π΄Π° СкспСримСнтирам с Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ стартиранС Π½Π° Docker Π²ΡŠΡ‚Ρ€Π΅ Π² Docker. Π’ΠΎΠ³Π°Π²Π° ΠΌΠΈ сС ΡΡ‚Ρ€ΡƒΠ²Π°ΡˆΠ΅ напълно Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π° изтСглям docker ΠΎΠ±Ρ€Π°Π·ΠΈ ΠΈ Π΄Π° създавам ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π½Π° всички прилоТСния, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΈ трябват Π·Π° тСстванС, Π²ΡŠΡ‚Ρ€Π΅ Π² Π΄Ρ€ΡƒΠ³ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ (Π½Π΅ΠΊΠ° Π³ΠΎ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ staging ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€). Π˜Π΄Π΅ΡΡ‚Π° бСшС Π΄Π° стартирам staging ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с Ρ„Π»Π°Π³Π° -rm, ΠΊΠΎΠΉΡ‚ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π° цСлия ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с цялото ΠΌΡƒ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ спиранС. Π Π°Π·Π³Π»Π΅Π΄Π°Ρ… Docker ΠΎΠ±Ρ€Π°Π·Π° ΠΎΡ‚ самия Docker (https://hub.docker.com/_/docker), Π½ΠΎ Ρ‚ΠΎΠΉ сС ΠΎΠΊΠ°Π·Π° Ρ‚Π²ΡŠΡ€Π΄Π΅ ΠΎΠ±Π΅ΠΌΠ΅Π½ ΠΈ Π½Π΅ успях Π΄Π° Π³ΠΎ Π½Π°ΠΊΠ°Ρ€Π°ΠΌ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ ΠΌΠΈ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅, ΠΈ исках Π΄Π° ΠΏΡ€Π΅ΠΌΠΈΠ½Π° ΠΏΡ€Π΅Π· цСлия процСс сам.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. НСуспСхи

ΠŸΠΎΡΡ‚Π°Π²ΠΈΡ… си Π·Π° Ρ†Π΅Π» Π΄Π° Π½Π°ΠΊΠ°Ρ€Π°ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΌΠΈ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅, ΠΈ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ… Π΄Π° СкспСримСнтирам, Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΡŠΡ‚ ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ бяха Π±Π΅Π·Π±Ρ€ΠΎΠΉ ΠΏΡ€Π΅Ρ‡ΠΊΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° Π½Π° ΠΌΠΎΠ΅Ρ‚ΠΎ самоизтСзаниС ΠΈΠ·Π»Π΅Π·Π΅ слСдният Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ:

  1. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ.

    docker run --privileged -it docker:18.09.6

    ΠžΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° вСрсията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, всяка ΡΡ‚ΡŠΠΏΠΊΠ° наляво ΠΈΠ»ΠΈ надясно ΠΈ Π²Π°ΡˆΠΈΡΡ‚ DinD сС ΠΏΡ€Π΅Π²Ρ€ΡŠΡ‰Π° Π² Ρ‚ΠΈΠΊΠ²Π°. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚, всичко чСсто сС счупва с ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π½ΠΎΠ²Π° вСрсия.
    Врябва Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π½Π΅ΠΌ Π½Π°ΠΏΡ€Π°Π²ΠΎ Π² shell.

  2. ΠžΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ са стартирани (ΠžΡ‚Π³ΠΎΠ²ΠΎΡ€: Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ), Π½ΠΎ Π½Π΅ΠΊΠ° всС ΠΏΠ°ΠΊ изпълним ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°:

    docker ps

    Π©Π΅ Π±ΡŠΠ΄Π΅Ρ‚Π΅ ΠΌΠ°Π»ΠΊΠΎ ΠΈΠ·Π½Π΅Π½Π°Π΄Π°Π½ΠΈ, Π½ΠΎ сС ΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ Docker Π΄Π΅ΠΌΠΎΠ½ΡŠΡ‚ Π΄ΠΎΡ€ΠΈ Π½Π΅ Π΅ стартиран:

    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 (Π² bash Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΏΠΎ-приятно, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π² sh):

    apk add --no-cache iptables bash

  5. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ bash. Накрая смС ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π² познатия shell

  6. ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Π΄Π° стартирамС Docker:

    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. ΠžΡ‚Π½ΠΎΠ²ΠΎ смС Π² bash.

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠΏΠΈΡ‚Π²Π°ΠΌΠ΅ Π΄Π° стартирамС Π΄Ρ€ΡƒΠ³ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² нашия Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π½ΠΎ ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ станС, Π°ΠΊΠΎ искамС Π΄Π° Π²Π΄ΠΈΠ³Π½Π΅ΠΌ ΠΎΡ‰Π΅ Π΅Π΄ΠΈΠ½ Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²ΡŠΡ‚Ρ€Π΅ Π² нашия Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈΠ»ΠΈ Π½Π΅Ρ‰ΠΎ Π½Π΅ Π²ΡŠΡ€Π²ΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŠΡ‚ "ΠΈΠ·Π»ΠΈΡ‚Π°"? Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ ΠΎΡ‚Π½Π°Ρ‡Π°Π»ΠΎ.

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

Как стартирах Docker Π²ΡŠΡ‚Ρ€Π΅ Π² Docker ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ
Π—Π° Π΄Π° Π½Π΅ повтарям ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅ ΠΎΡ‚Π³ΠΎΡ€Π΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ ΠΈ ΠΎΡ‚Π½ΠΎΠ²ΠΎ, ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ… собствСн DinD ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:

https://github.com/alekslitvinenk/dind

Π Π°Π±ΠΎΡ‚Π½ΠΎΡ‚ΠΎ DinD Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΈ Π΄Π°Π΄Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° стартирам Docker Π²ΡŠΡ‚Ρ€Π΅ Π² Docker рСкурсивно ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π°ΠΌ ΠΏΠΎ-смСли СкспСримСнти.
Π•Π΄ΠΈΠ½ Ρ‚Π°ΠΊΡŠΠ² (ΡƒΡΠΏΠ΅ΡˆΠ΅Π½) СкспСримСнт с 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!".

Π’ моя случай Π΅ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΡŠΡ‚ с Π²Π»ΠΎΠΆΠ΅Π½ΠΈ Docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ сС ΠΎΠΊΠ°Π·Π° доста ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»Π΅Π½ ΠΈ Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ° Π΄Π° Ρ€Π°Π·Π²ΠΈΠ²Π°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π·Π° стСйдТинг. Бмятам, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΠΊΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Kubernetes ΠΈ Jenkins X. Но Ρ‚ΠΎΠ²Π° Π΅ ΠΌΠΎΠ΅ субСктивно ΠΌΠ½Π΅Π½ΠΈΠ΅.

Мисля, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ всичко Π·Π° Π΄Π½Π΅ΡˆΠ½Π°Ρ‚Π° статия. Π’ слСдващата статия Ρ‰Π΅ опиша ΠΏΠΎ-ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ СкспСримСнтитС с рСкурсивното стартиранС Π½Π° Docker Π² Docker ΠΈ ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π½Π°Π²ΡŠΡ‚Ρ€Π΅ Π² Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.

P.S. Ако смятатС, Ρ‡Π΅ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½, моля, Π΄Π°ΠΉΡ‚Π΅ ΠΌΡƒ Π·Π²Π΅Π·Π΄Π° Π² GitHub, Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ Ρ„ΠΎΡ€ΠΊ ΠΈ Ρ€Π°Π·ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π½Π° приятСлитС си.

Edit1 ΠŸΠΎΠΏΡ€Π°Π²ΠΈΡ… Π³Ρ€Π΅ΡˆΠΊΠΈ, фокусирах сС Π²ΡŠΡ€Ρ…Ρƒ 2 Π²ΠΈΠ΄Π΅Π°

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster