Docker-compose є потужним інструментом для створення та управління Docker-контейнерами. Цей інструмент дозволяє створювати, запускати та управляти безліччю контейнерів, які взаємодіють один з одним. У цій статті ми розглянемо кілька команд, які можуть бути корисні при роботі з Docker-compose.
Отже, приступимо.
-
Команди для управління контейнерами:
-
docker-compose up: для запуску всіх контейнерів, визначених у файлі docker-compose.yml.
Наприклад, команда "docker-compose up" запустить всі контейнери з файлу docker-compose.yml у поточній директорії.
- docker-compose down: для зупинки та видалення всіх контейнерів, визначених у файлі docker-compose.yml.
Наприклад, команда "docker-compose down" зупинить і видалить всі контейнери, які були запущені за допомогою файлу docker-compose.yml.
-
Команди для управління службами:
-
docker-compose ps: для відображення списку запущених контейнерів і їх статусів.
Наприклад, команда "docker-compose ps" покаже всі запущені контейнери з файлу docker-compose.yml.
- docker-compose up -d [SERVICE]: для запуску конкретної служби з файлу docker-compose.yml.
Наприклад, команда "docker-compose up nextcloud" запустить тільки контейнер nextcloud з файлу docker-compose.yml, який був зупинений.
-
Команди для управління образами:
-
docker-compose pull: для завантаження всіх образів, визначених у файлі docker-compose.yml. Наприклад, команда "docker-compose pull" завантажить всі образи, вказані у файлі docker-compose.yml.
- docker-compose build: для збору образів, визначених у файлі docker-compose.yml. Наприклад, команда "docker-compose build" збереться всі образи, вказані у файлі docker-compose.yml.
-
Команди для управління логами:
-
docker-compose logs: для перегляду логів всіх контейнерів, визначених у файлі docker-compose.yml. Наприклад, команда "docker-compose logs" виведе логи всіх контейнерів з файлу docker-compose.yml.
- docker-compose logs [SERVICE]: для перегляду логів конкретної служби з файлу docker-compose.yml. Наприклад, команда "docker-compose logs nextcloud_db" виведе логи тільки контейнера бази даних з файлу docker-compose.yml.
-
Команди для управління контейнерами в роботі:
-
docker-compose stop: для зупинки всіх контейнерів, визначених у файлі docker-compose.yml, але без їх видалення. Наприклад, команда "docker-compose stop" зупинить всі контейнери з файлу docker-compose.yml.
- docker-compose start: для запуску всіх зупинених контейнерів, визначених у файлі docker-compose.yml. Наприклад, команда "docker-compose start" запустить всі зупинені контейнери з файлу docker-compose.yml.
- docker-compose up --force-recreate змушує Docker Compose пересоздати контейнери, навіть якщо їх конфігурація або образ не змінилися. Це означає, що Compose зупинить і видалить існуючі контейнери для вказаних у файлі docker-compose.yml сервісів, а потім створить нові контейнери з нуля, використовуючи останню версію образів, визначених у файлі. Використання опції --force-recreate корисно в ситуаціях, коли ви внесли зміни у файл docker-compose.yml, які стосуються конфігурації контейнера, наприклад, змінні середовища або відображення портів.
-
Команди для управління мережами:
- docker-compose network ls: для відображення списку мереж, визначених у файлі docker-compose.yml, якщо вони є. Також можна скористатися командою docker network ls.
- docker-compose network create [NETWORK]: для створення нової мережі у файлі docker-compose.yml. Наприклад, команда "docker-compose network create frontend" створить нову мережу з назвою frontend у файлі docker-compose.yml.
- docker-compose network rm [NETWORK]: для видалення мережі, визначеної у файлі docker-compose.yml. Наприклад, команда "docker-compose network rm frontend" видалить мережу з назвою frontend з файлу docker-compose.yml.
-
Команди для управління змінними середовища:
-
docker-compose config: для перевірки коректності файлу docker-compose.yml та відображення всіх змінних середовища, визначених у ньому. Наприклад, команда "docker-compose config" перевірить коректність файлу docker-compose.yml і покаже всі змінні середовища, визначені в ньому.
- docker-compose exec [SERVICE] [COMMAND]: для виконання команди всередині контейнера, визначеного у файлі docker-compose.yml. Наприклад, команда "docker-compose exec nextcloud ls" виконає команду "ls" всередині контейнера nextcloud, який визначений у файлі docker-compose.yml.
-
Команди для управління обсягами:
-
docker-compose volume ls: для відображення списку всіх обсягів, визначених у файлі docker-compose.yml. Наприклад, команда "docker-compose volume ls" або "docker volume ls" покаже всі обсяги, які визначені у файлі docker-compose.yml.
- docker-compose volume create [VOLUME]: для створення нового обсягу, визначеного у файлі docker-compose.yml. Наприклад, команда "docker-compose volume create db_data" створить новий обсяг з назвою db_data у файлі docker-compose.yml.
- docker-compose volume rm [VOLUME]: для видалення обсягу, визначеного у файлі docker-compose.yml. Наприклад, команда "docker-compose volume rm db_data" видалить обсяг з назвою db_data з файлу docker-compose.yml.
У цій статті ми розглянули основні команди для роботи з Docker Compose, такі як запуск і зупинка контейнерів, створення мереж і томів, а також управління обсягами. Знайомство з цими командами допоможе більш ефективно використовувати Docker Compose при розробці та деплої додатків у контейнерах.
Також пропонуємо розглянути інші корисні статті:
- Як розгорнути Python додаток у Docker-Compose
- Як розгорнути будь-яку версію PHP у Docker-Compose
- Як встановити Redis у Docker і Docker Compose