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 при розробці та розгортанні додатків у контейнерах.