Author Topic: Как работает Docker?  (Read 166 times)

Offline cetsalcoatle

  • Эльрат – дракон света
  • Глобальный модератор
  • Дважды герой
  • *****
  • Posts: 9929
  • Карма: +1210/-387
  • Благородный муж прям и твёрд, но не упрям.
    • View Profile
Как работает Docker?
« on: 29 May 2026, 04:40:20 »
  • 0
  • 0
Я понял общий принцип, но я не совсем понимаю механику. :what?

Он используется для работы на сервере?
WHITE LIVES MATTER.

Всё, что нужно для счастья, — это тело, не страдающее от боли, и душа, свободная от тревог. (с) Эпикур

Останься прост, беседуя с царями,
Останься честен, говоря с толпой;
Будь прям и тверд с врагами и друзьями,
Пусть все, в свой час, считаются с тобой;

Simba mwenda pole ndiye mla nyama

Offline Upliner

  • Администратор
  • Дважды герой
  • *****
  • Posts: 6298
  • Карма: +742/-29
  • Gender: Male
  • Кис-кис-кис!
    • View Profile
    • лифчег
Re: Как работает Docker?
« Reply #1 on: 29 May 2026, 04:50:28 »
  • 0
  • 0
Суть вопроса совершенно непонятна :look:
Вход в Московское княжество -- 1 рубль, выход -- бесценен.
Византийский цирк уехал, а клоуны остались среди русских.
Дві найголовніші помилки українського народу -- зек і зєк.

Offline cetsalcoatle

  • Эльрат – дракон света
  • Глобальный модератор
  • Дважды герой
  • *****
  • Posts: 9929
  • Карма: +1210/-387
  • Благородный муж прям и твёрд, но не упрям.
    • View Profile
Re: Как работает Docker?
« Reply #2 on: 29 May 2026, 04:55:44 »
  • 0
  • 0
Quote
Docker — это платформа, которая позволяет упаковывать приложения и все их зависимости (библиотеки, конфигурацию, системные утилиты) в один единый стандартный модуль, называемый контейнером.
Ближайшая понятная аналогия — что-то вроде универсального WinRar.
WHITE LIVES MATTER.

Всё, что нужно для счастья, — это тело, не страдающее от боли, и душа, свободная от тревог. (с) Эпикур

Останься прост, беседуя с царями,
Останься честен, говоря с толпой;
Будь прям и тверд с врагами и друзьями,
Пусть все, в свой час, считаются с тобой;

Simba mwenda pole ndiye mla nyama

Offline Yougi

  • Ветеран
  • *****
  • Posts: 1695
  • Карма: +276/-64
    • View Profile
Re: Как работает Docker?
« Reply #3 on: 29 May 2026, 08:11:18 »
  • 2
  • 0
Quote
что-то вроде универсального WinRar
совсем непохоже.
 там жеж написано - приложения и все зависимости.
 Тебе не надо ставить экрзотическую версию .NET на свой комп или разыскивать библиотеки написанные хрен знает когда хрен знает кем. Аффтар контейнера об этом уже позаботился.
 

Offline Квас

  • Ветеран
  • *****
  • Posts: 1564
  • Карма: +499/-18
    • View Profile
Re: Как работает Docker?
« Reply #4 on: 29 May 2026, 16:47:14 »
  • 1
  • 0
Да, это для приложений, а не для данных. Вместо того, чтобы ставить приложения непосредственно в свою ОС, можно их ставить в их собственные ОС, работающие в контейнерах. И на hub.docker.com есть большое количество готовых образов с установленным софтом. Преимущества:
- контроль над версиями
- легко воспроизводимо
- упрощается установка и конфигурирование софта
- основная ОС не забивается хламом

Например,
- контейнер 1: бэкенд
- контейнер 2: postgresql
- контейнер 3: pgadmin
Можете для практики попробовать реализовать такую конфигурацию. Для усложнения можно добавить фронтенд:
- контейнер 4: дев-сервер фронтенда
- контейнер 5: nginx, за которым работают бэкенд и фронтенд, чтобы не было ошибок CORS.

Контейнеры общаются друг с другом по внутридокерной сети. Поэтому, например, для postgresql не нужно конфигурировать порт. Он может использовать порт по умолчанию, потому что это не порт компьютера-хоста, а порт контейнера.

Offline cetsalcoatle

  • Эльрат – дракон света
  • Глобальный модератор
  • Дважды герой
  • *****
  • Posts: 9929
  • Карма: +1210/-387
  • Благородный муж прям и твёрд, но не упрям.
    • View Profile
Re: Как работает Docker?
« Reply #5 on: 29 May 2026, 16:51:12 »
  • 0
  • 0
Т.е. это что вроде эмулятора? Допустим я создаю приложение для Linux, но мне нужно чтобы оно запускалось на Windows, Docker берёт и в момент запуска приложения создаёт микросреду Linux? :what?
WHITE LIVES MATTER.

Всё, что нужно для счастья, — это тело, не страдающее от боли, и душа, свободная от тревог. (с) Эпикур

Останься прост, беседуя с царями,
Останься честен, говоря с толпой;
Будь прям и тверд с врагами и друзьями,
Пусть все, в свой час, считаются с тобой;

Simba mwenda pole ndiye mla nyama

Offline Квас

  • Ветеран
  • *****
  • Posts: 1564
  • Карма: +499/-18
    • View Profile
Re: Как работает Docker?
« Reply #6 on: 29 May 2026, 19:35:16 »
  • 0
  • 0
Это вроде кучи виртуальных машин, но гораздо легковеснее. С виндоусом в контексте докера никогда не работал, не знаю деталей. Контейнеры с линуксом хорошо работают на линуксе. :)

Offline Квас

  • Ветеран
  • *****
  • Posts: 1564
  • Карма: +499/-18
    • View Profile
Re: Как работает Docker?
« Reply #7 on: 29 May 2026, 20:40:28 »
  • 1
  • 0
Вот пример. У вас есть сайт, и вы хотите раздавать его nginx-ом.

Для примера, сайт будет такой: в папке mysite файл index.html
Code: [Select]
<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
    </head>
    <body>
        <p>This is an example of a simple HTML page with one paragraph.</p>
    </body>
</html>

Запускаете контейнер nginx:
Code: [Select]
docker run -v /path/to/mysite:/usr/share/nginx/html:ro -p 8080:80 nginx
Можно открыть localhost:8080 и посмотреть.

-v - сокращение от --volume. Эта опция монтирует директорию хоста в контейнер. nginx предполагает, что раздаваемые файлы лежат в директории /usr/share/nginx/html, и мы "подсовываем" туда локальную директорию.

Опция -p перенаправляет порт. nginx по умолчанию раздаёт файлы на порту 80. Когда он используется в контейнере, это порт 80 контейнера. Опция -p 8080:80 перенаправляет запросы на порт 8080 локалхоста на порт 80 контейнера.

Так мы используем nginx, не устанавливая его и не конфигурируя.

Но, конечно, можно запускать nginx и с кастомной конфигурацией, скопировав или примонтировав локальный конфиг-файл в контейнер.

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 8665
  • Карма: +2906/-626
    • View Profile
Re: Как работает Docker?
« Reply #8 on: Today at 04:49:15 »
  • 0
  • 0
Интересно, насколько именно оно легковеснее. Это ж всё равно одну операционку внутри другой запускать. А винда сама по себе нехило так отжирает. Какие ресурсы на каждый контейнер нужны, не меньше гига памяти?
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.
…Когда ты чем-то не интересуешься, то после шокового события ты готов принять любую удобную интерпретацию, которую тебе предложат. Григорий Юдин

Offline Upliner

  • Администратор
  • Дважды герой
  • *****
  • Posts: 6298
  • Карма: +742/-29
  • Gender: Male
  • Кис-кис-кис!
    • View Profile
    • лифчег
Re: Как работает Docker?
« Reply #9 on: Today at 13:52:12 »
  • 0
  • 0
Допустим я создаю приложение для Linux, но мне нужно чтобы оно запускалось на Windows
Можно напрямую в WSL запускать, докер всё равно через него работает.
Какие ресурсы на каждый контейнер нужны, не меньше гига памяти?
Однозначно нет. К тому же если контейнеры основаны на одной системе, то общие библиотеки у них будут расшарены.
Вход в Московское княжество -- 1 рубль, выход -- бесценен.
Византийский цирк уехал, а клоуны остались среди русских.
Дві найголовніші помилки українського народу -- зек і зєк.

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 8665
  • Карма: +2906/-626
    • View Profile
Re: Как работает Docker?
« Reply #10 on: Today at 18:10:53 »
  • 0
  • 0
Куда именно расшарены? У докера есть ещё какое-то "внешнее пространство" для разных контейнеров? Или в пределах WSL?
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный
Ceterum censeo gebniam esse delendam.
…Когда ты чем-то не интересуешься, то после шокового события ты готов принять любую удобную интерпретацию, которую тебе предложат. Григорий Юдин