ඩොකර් රචනා කිරීම සඳහා ආරම්භක මාර්ගෝපදේශය

ලිපියේ කතුවරයා, අපි අද ප්‍රකාශයට පත් කරන පරිවර්තනය, එය අදහස් කරන්නේ Docker Compose ඉගෙන ගැනීමට කැමති සහ Docker භාවිතයෙන් ඔවුන්ගේ පළමු සේවාදායක-සේවාදායක යෙදුම නිර්මාණය කිරීමට යන සංවර්ධකයින් සඳහා බවයි. මෙම ද්රව්යයේ පාඨකයා ඩොකර්ගේ මූලික කරුණු සමඟ හුරුපුරුදු බව උපකල්පනය කෙරේ. මෙය එසේ නොවේ නම්, ඔබට බලන්න පුළුවන් මේ මත ද්රව්ය මාලාවක් මේ Kubernetes මූලික කරුණු සමඟින් Docker මූලික කරුණු ආවරණය කිරීම, සහ මේ ආරම්භකයින් සඳහා ලිපිය.

ඩොකර් රචනා කිරීම සඳහා ආරම්භක මාර්ගෝපදේශය

Docker Compose යනු කුමක්ද?

Docker Compose යනු Docker සමඟ ඇතුලත් කර ඇති මෙවලමකි. එය සැලසුම් කර ඇත්තේ ව්‍යාපෘති යෙදවීම සම්බන්ධ ගැටළු විසඳීම සඳහා ය.

Docker හි මූලික කරුණු ඉගෙන ගන්නා අතරතුර, ස්වයංක්‍රීයව ක්‍රියා කරන සහ බාහිර දත්ත මූලාශ්‍ර මත හෝ ඇතැම් සේවාවන් මත රඳා නොපවතින සරල යෙදුම් නිර්මාණය කිරීමට ඔබ මුහුණ දී ඇති. ප්රායෝගිකව, එවැනි යෙදුම් දුර්ලභ ය. සැබෑ ව්‍යාපෘති සාමාන්‍යයෙන් එකට වැඩ කරන යෙදුම් සමූහයක් ඇතුළත් වේ.

ව්‍යාපෘතියක් යෙදවීමේදී ඔබට Docker Compose භාවිත කිරීමට අවශ්‍ය දැයි ඔබ දන්නේ කෙසේද? ඇත්තෙන්ම එය ඉතා සරලයි. ඔබ මෙම ව්‍යාපෘතිය ක්‍රියාත්මක කිරීමට බහුවිධ සේවා භාවිතා කරන්නේ නම්, Docker Compose ප්‍රයෝජනවත් විය හැක. උදාහරණයක් ලෙස, පරිශීලකයන් සත්‍යාපනය කිරීම සඳහා දත්ත සමුදායකට සම්බන්ධ වීමට අවශ්‍ය වෙබ් අඩවියක් නිර්මාණය කරන තත්වයක් තුළ. එවැනි ව්‍යාපෘතියක් සේවා දෙකකින් සමන්විත විය හැකිය - වෙබ් අඩවියේ ක්‍රියාකාරිත්වය සහතික කරන එකක් සහ දත්ත සමුදාය නඩත්තු කිරීම සඳහා වගකිව යුතු එකක්.

Docker Compose තාක්ෂණය, එය සරල ආකාරයකින් විස්තර කිරීමට, ඔබට එක් විධානයකින් බොහෝ සේවාවන් දියත් කිරීමට ඉඩ සලසයි.

Docker සහ Docker Compose අතර වෙනස

යෙදුමක් සෑදෙන තනි බහාලුම් (සේවා) කළමනාකරණය කිරීමට ඩොකර් භාවිතා කරයි.

යෙදුමක් සෑදෙන බහු බහාලුම් එකවර කළමනාකරණය කිරීමට Docker Compose භාවිතා කරයි. මෙම මෙවලම Docker වලට සමාන හැකියාවන් ලබා දෙයි, නමුත් ඔබට වඩාත් සංකීර්ණ යෙදුම් සමඟ වැඩ කිරීමට ඉඩ සලසයි.

ඩොකර් රචනා කිරීම සඳහා ආරම්භක මාර්ගෝපදේශය
ඩොකර් (තනි බහාලුම්) සහ ඩොකර් රචනා (බහු බහාලුම්)

Docker Compose සඳහා සාමාන්‍ය භාවිත අවස්ථාව

Docker Compose යනු, දකුණු අතේ, සංකීර්ණ ගෘහ නිර්මාණ ශිල්පය සහිත යෙදුම් ඉතා ඉක්මනින් යෙදවීමට ඔබට ඉඩ සලසන ඉතා බලවත් මෙවලමකි. දැන් අපි Docker Compose හි ප්‍රායෝගික භාවිතය පිළිබඳ උදාහරණයක් දෙස බලමු, එය විශ්ලේෂණය කිරීමෙන් ඔබට Docker Compose භාවිතා කිරීමෙන් ලැබෙන ප්‍රතිලාභ ඇගයීමට ඉඩ සලසයි.

ඔබ වෙබ් ව්‍යාපෘතියක සංවර්ධකයෙකු යැයි සිතන්න. මෙම ව්‍යාපෘතියට වෙබ් අඩවි දෙකක් ඇතුළත් වේ. පළමුවැන්න ක්ලික් කිරීම් කිහිපයක් සමඟ සබැඳි වෙළඳසැල් නිර්මාණය කිරීමට ව්‍යාපාරිකයින්ට ඉඩ දෙයි. දෙවැන්න පාරිභෝගික සහාය අරමුණු කර ගෙන ඇත. මෙම අඩවි දෙක එකම දත්ත ගබඩාවක් සමඟ අන්තර්ක්‍රියා කරයි.

ඔබේ ව්‍යාපෘතිය වැඩි වැඩියෙන් ජනප්‍රිය වෙමින් පවතින අතර, එය ක්‍රියාත්මක වන සේවාදායකයේ බලය තවදුරටත් ප්‍රමාණවත් නොවන බව පෙනී යයි. ප්රතිඵලයක් වශයෙන්, ඔබ සම්පූර්ණ ව්යාපෘතිය වෙනත් යන්ත්රයකට ගෙන යාමට තීරණය කරයි.

අවාසනාවට, ඔබ Docker Compose වැනි දෙයක් භාවිත කළේ නැත. එමනිසා, ක්‍රියාවලියේදී ඔබට කිසිවක් අමතක නොවනු ඇතැයි බලාපොරොත්තු වන ඔබට එකවර සේවා මාරු කිරීමට සහ නැවත සැකසීමට සිදුවේ.

ඔබ Docker Compose භාවිතා කරන්නේ නම්, ඔබේ ව්‍යාපෘතිය නව සේවාදායකයකට ගෙන යාම විධාන කිහිපයක් ක්‍රියාත්මක කිරීමෙන් විසඳිය හැකි කාරණයකි. ව්‍යාපෘතිය නව ස්ථානයකට මාරු කිරීම සම්පූර්ණ කිරීම සඳහා, ඔබට අවශ්‍ය වන්නේ යම් සැකසුම් සකස් කර නව සේවාදායකයට දත්ත සමුදායේ උපස්ථ පිටපතක් උඩුගත කිරීම පමණි.

Docker Compose භාවිතයෙන් සේවාදායක-සේවාදායක යෙදුමක් සංවර්ධනය කිරීම

අපි Docker Compose භාවිතා කරන්නේ කුමක් සඳහාද යන්න දැන් ඔබ දන්නා බැවින්, මෙම මෙවලම භාවිතයෙන් ඔබේ පළමු සේවාදායක-සේවාදායක යෙදුම නිර්මාණය කිරීමට කාලයයි. එනම්, අපි කතා කරන්නේ Python හි කුඩා වෙබ් අඩවියක් (සේවාදායකයක්) සංවර්ධනය කිරීම ගැන වන අතර එය පෙළ කැබැල්ලක් සමඟ ගොනුවක් ප්‍රතිදානය කළ හැකිය. මෙම ගොනුව Python වලින්ද ලියා ඇති වැඩසටහනක් (සේවාලාභියා) විසින් සේවාදායකයෙන් ඉල්ලා ඇත. සේවාදායකයෙන් ගොනුවක් ලැබීමෙන් පසු, වැඩසටහන එහි ගබඩා කර ඇති පෙළ තිරය මත පෙන්වයි.

ඔබට Docker පිළිබඳ මූලික අවබෝධයක් ඇති බවත් ඔබ දැනටමත් Docker වේදිකාව ස්ථාපනය කර ඇති බවත් අපි උපකල්පනය කරන බව කරුණාවෙන් සලකන්න.

අපි ව්යාපෘතියේ වැඩ ආරම්භ කරමු.

▍1. ව්යාපෘතියක් නිර්මාණය කිරීම

ඔබගේ පළමු සේවාදායක-සේවාදායක යෙදුම ගොඩනැගීමට, ව්‍යාපෘති ෆෝල්ඩරයක් සෑදීමෙන් ආරම්භ කිරීමට මම යෝජනා කරමි. එහි පහත ගොනු සහ ෆෝල්ඩර අඩංගු විය යුතුය:

  • ගොනුව docker-compose.yml. මෙය Docker Compose ගොනුවක් වන අතර එහි සේවාවන් ආරම්භ කිරීමට සහ වින්‍යාස කිරීමට අවශ්‍ය උපදෙස් අඩංගු වේ.
  • ෆෝල්ඩරය server. සේවාදායකය ක්‍රියාත්මක කිරීමට අවශ්‍ය ගොනු එහි අඩංගු වේ.
  • ෆෝල්ඩරය client. සේවාදායක යෙදුම් ගොනු මෙහි පිහිටා ඇත.

එහි ප්‍රතිඵලයක් වශයෙන්, ඔබේ ව්‍යාපෘතියේ ප්‍රධාන ෆෝල්ඩරයේ අන්තර්ගතය මෙසේ විය යුතුය:

.
├── client/
├── docker-compose.yml
└── server/
2 directories, 1 file

▍2. සේවාදායකයක් නිර්මාණය කිරීම

මෙන්න, සේවාදායකයක් සෑදීමේ ක්‍රියාවලියේදී, අපි ඩොකර් සම්බන්ධ මූලික කරුණු කිහිපයක් ස්පර්ශ කරමු.

2a. ගොනු නිර්මාණය කිරීම

ෆෝල්ඩරයට යන්න server සහ එහි පහත ගොනු සාදන්න:

  • ගොනුව server.py. එහි සේවාදායක කේතය අඩංගු වනු ඇත.
  • ගොනුව index.html. මෙම ගොනුවේ සේවාදායක යෙදුම ප්‍රතිදානය කළ යුතු පෙළ කොටසක් අඩංගු වේ.
  • ගොනුව Dockerfile. මෙය සේවාදායක පරිසරය නිර්මාණය කිරීමට අවශ්‍ය උපදෙස් අඩංගු ඩොකර් ගොනුවකි.

ඔබේ ෆෝල්ඩරයේ අන්තර්ගතය විය යුත්තේ මෙයයි server/:

.
├── Dockerfile
├── index.html
└── server.py
0 directories, 3 files

2b. Python ගොනුවක් සංස්කරණය කිරීම.

ගොනුවට එක් කරන්න server.py පහත කේතය:

#!/usr/bin/env python3

# Импорт системных библиотек python.
# Эти библиотеки будут использоваться для создания веб-сервера.
# Вам не нужно устанавливать что-то особенное, эти библиотеки устанавливаются вместе с Python.

import http.server
import socketserver

# Эта переменная нужна для обработки запросов клиента к серверу.

handler = http.server.SimpleHTTPRequestHandler

# Тут мы указываем, что сервер мы хотим запустить на порте 1234. 
# Постарайтесь запомнить эти сведения, так как они нам очень пригодятся в дальнейшем, при работе с docker-compose.

with socketserver.TCPServer(("", 1234), handler) as httpd:

    # Благодаря этой команде сервер будет выполняться постоянно, ожидая запросов от клиента.

   httpd.serve_forever()

මෙම කේතය ඔබට සරල වෙබ් සේවාදායකයක් නිර්මාණය කිරීමට ඉඩ සලසයි. ඔහු ගනුදෙනුකරුවන්ට ගොනුව ලබා දෙනු ඇත index.html, එහි අන්තර්ගතය පසුව වෙබ් පිටුවේ පෙන්වනු ඇත.

2c. HTML ගොනුවක් සංස්කරණය කිරීම

ගොනු කිරීමට index.html පහත පෙළ එක් කරන්න:

Docker-Compose is magic!

මෙම පාඨය සේවාදායකයා වෙත යවනු ලැබේ.

2d. Dockerfile සංස්කරණය කිරීම

දැන් අපි සරල ගොනුවක් සාදන්නෙමු Dockerfile, පයිතන් සේවාදායකය සඳහා ධාවන කාල පරිසරය සංවිධානය කිරීම සඳහා වගකිව යුත්තේ කවුද? සාදන ලද රූපය සඳහා පදනම ලෙස, අපි භාවිතා කරන්නෙමු නිල ආකාරයෙන්, Python හි ලියා ඇති වැඩසටහන් ධාවනය කිරීමට නිර්මාණය කර ඇත. මෙන්න Dockerfile හි අන්තර්ගතය:

# На всякий случай напоминаю, что Dockerfile всегда должен начинаться с импорта базового образа.
# Для этого используется ключевое слово 'FROM'.
# Здесь нам нужно импортировать образ python (с DockerHub).
# В результате мы, в качестве имени образа, указываем 'python', а в качестве версии - 'latest'.

FROM python:latest

# Для того чтобы запустить в контейнере код, написанный на Python, нам нужно импортировать файлы 'server.py' и 'index.html'.
# Для того чтобы это сделать, мы используем ключевое слово 'ADD'.
# Первый параметр, 'server.py', представляет собой имя файла, хранящегося на компьютере.
# Второй параметр, '/server/', это путь, по которому нужно разместить указанный файл в образе.
# Здесь мы помещаем файл в папку образа '/server/'.

ADD server.py /server/
ADD index.html /server/

# Здесь мы воспользуемся командой 'WORKDIR', возможно, новой для вас.
# Она позволяет изменить рабочую директорию образа.
# В качестве такой директории, в которой будут выполняться все команды, мы устанавливаем '/server/'.

WORKDIR /server/

දැන් අපි සේවාදායකයා මත වැඩ ආරම්භ කරමු.

▍3. සේවාදායකයකු නිර්මාණය කිරීම

අපගේ ව්‍යාපෘතියේ සේවාදායක පැත්ත නිර්මාණය කරන අතරතුර, අපි ඩොකර් මූලික කරුණු කිහිපයක් මතක තබා ගනිමු.

3a. ගොනු නිර්මාණය කිරීම

ඔබගේ ව්‍යාපෘති ෆෝල්ඩරය වෙත යන්න client සහ එහි පහත ගොනු සාදන්න:

  • ගොනුව client.py. සේවාදායක කේතය මෙහි ස්ථානගත වනු ඇත.
  • ගොනුව Dockerfile. මෙම ගොනුව සේවාදායක ෆෝල්ඩරයේ සමාන ගොනුවක් ලෙස එකම භූමිකාවක් ඉටු කරයි. එනම්, සේවාදායක කේතය ක්‍රියාත්මක කිරීම සඳහා පරිසරයක් නිර්මාණය කරන්නේ කෙසේද යන්න විස්තර කරන උපදෙස් එහි අඩංගු වේ.

ප්රතිඵලයක් වශයෙන්, ඔබගේ ෆෝල්ඩරය client/ කාර්යයේ මෙම අදියරේදී එය මේ ආකාරයට විය යුතුය:

.
├── client.py
└── Dockerfile
0 directories, 2 files

3b. පයිතන් ගොනුවක් සංස්කරණය කිරීම

ගොනුවට එක් කරන්න client.py පහත කේතය:

#!/usr/bin/env python3

# Импортируем системную библиотеку Python.
# Она используется для загрузки файла 'index.html' с сервера.
# Ничего особенного устанавливать не нужно, эта библиотека устанавливается вместе с Python.

import urllib.request

# Эта переменная содержит запрос к 'http://localhost:1234/'.
# Возможно, сейчас вы задаётесь вопросом о том, что такое 'http://localhost:1234'.
# localhost указывает на то, что программа работает с локальным сервером.
# 1234 - это номер порта, который вам предлагалось запомнить при настройке серверного кода.

fp = urllib.request.urlopen("http://localhost:1234/")

# 'encodedContent' соответствует закодированному ответу сервера ('index.html').
# 'decodedContent' соответствует раскодированному ответу сервера (тут будет то, что мы хотим вывести на экран).

encodedContent = fp.read()
decodedContent = encodedContent.decode("utf8")

# Выводим содержимое файла, полученного с сервера ('index.html').

print(decodedContent)

# Закрываем соединение с сервером.

fp.close()

මෙම කේතය සමඟ, සේවාදායක යෙදුමට සේවාදායකයෙන් දත්ත බාගත කර එය තිරය මත පෙන්විය හැක.

3c. Dockerfile සංස්කරණය කිරීම

සේවාදායකයේ මෙන්, අපි සරල එකක් සාදන්නෙමු Dockerfile, Python සේවාදායක යෙදුම ක්‍රියාත්මක වන පරිසරය නිර්මාණය කිරීමේ වගකීම. මෙන්න සේවාදායක කේතය Dockerfile:

# То же самое, что и в серверном Dockerfile.

FROM python:latest

# Импортируем 'client.py' в папку '/client/'.

ADD client.py /client/

# Устанавливаем в качестве рабочей директории '/client/'.

WORKDIR /client/

▍4. Docker Compose

ඔබ දැක ඇති පරිදි, අපි විවිධ ව්‍යාපෘති දෙකක් නිර්මාණය කළෙමු: සේවාදායකයක් සහ සේවාදායකයෙක්. ඒ සෑම එකක්ම තමන්ගේම ගොනුවක් ඇත Dockerfile. මෙතෙක් සිදු වූ සෑම දෙයක්ම ඩොකර් සමඟ වැඩ කිරීමේ මූලික කරුණු වලින් ඔබ්බට ගොස් නැත. දැන් අපි Docker Compose සමඟ ආරම්භ කරමු. මෙය සිදු කිරීම සඳහා, අපි ගොනුව වෙත යමු docker-compose.yml, ව්යාපෘති මූල ෆෝල්ඩරයේ පිහිටා ඇත.

මෙහිදී අපි භාවිතා කළ හැකි සියලුම විධානයන් ආවරණය කිරීමට උත්සාහ නොකරන බව කරුණාවෙන් සලකන්න docker-compose.yml. අපගේ ප්‍රධාන අරමුණ වන්නේ ඔබට Docker Compose පිළිබඳ මූලික දැනුම ලබා දෙන ප්‍රායෝගික උදාහරණයක් හරහා ගමන් කිරීමයි.

මෙන්න ෆයිල් එකට දාන්න කෝඩ් එක docker-compose.yml:

# Файл docker-compose должен начинаться с тега версии.
# Мы используем "3" так как это - самая свежая версия на момент написания этого кода.

version: "3"

# Следует учитывать, что docker-composes работает с сервисами.
# 1 сервис = 1 контейнер.
# Сервисом может быть клиент, сервер, сервер баз данных...
# Раздел, в котором будут описаны сервисы, начинается с 'services'.

services:

  # Как уже было сказано, мы собираемся создать клиентское и серверное приложения.
  # Это означает, что нам нужно два сервиса.
  # Первый сервис (контейнер): сервер.
  # Назвать его можно так, как нужно разработчику.
  # Понятное название сервиса помогает определить его роль.
  # Здесь мы, для именования соответствующего сервиса, используем ключевое слово 'server'.

  server:
 
    # Ключевое слово "build" позволяет задать
    # путь к файлу Dockerfile, который нужно использовать для создания образа,
    # который позволит запустить сервис.
    # Здесь 'server/' соответствует пути к папке сервера,
    # которая содержит соответствующий Dockerfile.

    build: server/

    # Команда, которую нужно запустить после создания образа.
    # Следующая команда означает запуск "python ./server.py".

    command: python ./server.py

    # Вспомните о том, что в качестве порта в 'server/server.py' указан порт 1234.
    # Если мы хотим обратиться к серверу с нашего компьютера (находясь за пределами контейнера),
    # мы должны организовать перенаправление этого порта на порт компьютера.
    # Сделать это нам поможет ключевое слово 'ports'.
    # При его использовании применяется следующая конструкция: [порт компьютера]:[порт контейнера]
    # В нашем случае нужно использовать порт компьютера 1234 и организовать его связь с портом
    # 1234 контейнера (так как именно на этот порт сервер 
    # ожидает поступления запросов).

    ports:
      - 1234:1234

  # Второй сервис (контейнер): клиент.
  # Этот сервис назван 'client'.

  client:
    # Здесь 'client/ соответствует пути к папке, которая содержит
    # файл Dockerfile для клиентской части системы.

    build: client/

    # Команда, которую нужно запустить после создания образа.
    # Следующая команда означает запуск "python ./client.py".
 
    command: python ./client.py

    # Ключевое слово 'network_mode' используется для описания типа сети.
    # Тут мы указываем то, что контейнер может обращаться к 'localhost' компьютера.

    network_mode: host

    # Ключевое слово 'depends_on' позволяет указывать, должен ли сервис,
    # прежде чем запуститься, ждать, когда будут готовы к работе другие сервисы.
    # Нам нужно, чтобы сервис 'client' дождался бы готовности к работе сервиса 'server'.
 
    depends_on:
      - server

▍5. ව්යාපෘතිය ගොඩනැගීම

ඇතුල් වූ පසු docker-compose.yml අවශ්ය සියලු උපදෙස් ඇතුළත් කර ඇත, ව්යාපෘතිය එකලස් කිරීම අවශ්ය වේ. අපගේ කාර්යයේ මෙම පියවර විධානය භාවිතා කිරීමට සමාන වේ docker build, නමුත් අදාළ විධානය සේවා කිහිපයකට අදාළ වේ:

$ docker-compose build

▍6. ව්යාපෘතිය දියත් කිරීම

දැන් ව්‍යාපෘතිය එකලස් කර ඇති බැවින්, එය දියත් කිරීමට කාලයයි. අපගේ කාර්යයේ මෙම පියවර තනි බහාලුම් සමඟ වැඩ කරන විට, විධානය ක්රියාත්මක වන පියවරට අනුරූප වේ docker run:

$ docker-compose up

මෙම විධානය ක්‍රියාත්මක කිරීමෙන් පසු, සේවාදායකයා විසින් සේවාදායකයෙන් බාගත කළ පෙළ ටර්මිනලයේ දිස්විය යුතුය: Docker-Compose is magic!.

දැනටමත් සඳහන් කර ඇති පරිදි, සේවාදායකය පරිගණක වරාය භාවිතා කරයි 1234 සේවා දායක ඉල්ලීම් සඳහා. එමනිසා, ඔබ ඔබගේ බ්රවුසරයේ ලිපිනය වෙත ගියහොත් http://localhost:1234/, එය පෙළ සහිත පිටුවක් පෙන්වනු ඇත Docker-Compose is magic!.

ප්රයෝජනවත් විධාන

Docker Compose සමඟ වැඩ කිරීමේදී ඔබට ප්‍රයෝජනවත් විය හැකි විධාන කිහිපයක් බලමු.

මෙම විධානය මඟින් විධානය මඟින් සාදන ලද බහාලුම් සහ අනෙකුත් සම්පත් නැවැත්වීමට සහ මකා දැමීමට ඔබට ඉඩ සලසයි docker-compose up:

$ docker-compose down

මෙම විධානය සේවා ලඝු-සටහන් මුද්‍රණය කරයි:

$ docker-compose logs -f [service name]

උදාහරණයක් ලෙස, අපගේ ව්යාපෘතියේ එය මෙම ආකෘතියෙන් භාවිතා කළ හැකිය: $ docker-compose logs -f [service name].

මෙම විධානය භාවිතා කිරීමෙන් ඔබට බහාලුම් ලැයිස්තුවක් පෙන්විය හැක:

$ docker-compose ps

මෙම විධානය මඟින් ක්‍රියාත්මක වන බහාලුමක් තුළ විධානයක් ක්‍රියාත්මක කිරීමට ඔබට ඉඩ සලසයි:

$ docker-compose exec [service name] [command]

උදාහරණයක් ලෙස, එය මේ වගේ විය හැක: docker-compose exec server ls.

මෙම විධානය මඟින් ඔබට පින්තූර ලැයිස්තුවක් පෙන්විය හැක:

$ docker-compose images

ප්රතිඵල

අපි Docker Compose තාක්‍ෂණය සමඟ වැඩ කිරීමේ මූලික කරුණු දෙස බැලුවෙමු, ඒ පිළිබඳ දැනුම ඔබට මෙම තාක්‍ෂණය භාවිතා කිරීමට ඉඩ සලසන අතර, අවශ්‍ය නම්, එය වඩාත් ගැඹුරින් අධ්‍යයනය කිරීමට පටන් ගනී. මෙහි අප මෙහි බැලූ ව්‍යාපෘතිය සඳහා කේතය සහිත ගබඩාවක්.

හිතවත් පා readers කයින්! ඔබ ඔබේ ව්‍යාපෘතිවල Docker Compose භාවිතා කරනවාද?

ඩොකර් රචනා කිරීම සඳහා ආරම්භක මාර්ගෝපදේශය

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න