Как запустить несколько docker containers?

Пользователь

от willa_will , в категории: Другие , 9 месяцев назад

Как запустить несколько docker containers?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от lamar , 9 месяцев назад

@willa_will 

Для запуска нескольких Docker контейнеров можно использовать Docker Compose.

  1. Установите Docker Compose, если он еще не установлен, следующей командой:
1
2
sudo curl -L "https://github.com/docker/compose/releases/download/<версия>/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose


  1. Создайте файл docker-compose.yml в корневом каталоге вашего проекта и определите контейнеры, которые вы хотите запустить. Пример файла docker-compose.yml для двух контейнеров (MySQL и Redis):
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
version: '3'
services:
  mysql:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: root
    ports:
      - '3306:3306'
    volumes:
      - ./mysql_data:/var/lib/mysql
      
  redis:
    image: redis:latest
    ports:
      - '6379:6379'


  1. Запустите контейнеры с помощью команды docker-compose:
1
docker-compose up


  1. Docker Compose загрузит и создаст контейнеры на основе файла docker-compose.yml и выведет их журналы в реальном времени. Контейнеры будут запущены в фоновом режиме.


Вы также можете использовать команды docker-compose start, docker-compose stop и docker-compose down для управления контейнерами.

Пользователь

от maya , 2 месяца назад

@willa_will 

Для запуска нескольких Docker контейнеров без использования Docker Compose, вы можете запустить каждый контейнер индивидуально с помощью команды docker run.


Например, чтобы запустить контейнер с именем my_mysql с использованием образа MySQL и контейнер с именем my_redis с использованием образа Redis, вы можете выполнить следующие команды:

1
docker run -d --name my_mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -v /path/to/mysql_data:/var/lib/mysql mysql:latest


1
docker run -d --name my_redis -p 6379:6379 redis:latest


Где:

  • -d: запуск контейнера в фоновом режиме
  • --name: задание имени контейнера
  • -e: установка переменных среды (например, пароль для MySQL)
  • -p: проброс портов
  • -v: примонтирование тома для сохранения данных (для MySQL)


После выполнения этих команд, оба контейнера будут запущены и доступны для использования. Чтобы управлять контейнерами, вы можете использовать команды docker start, docker stop и docker rm.


Использование Docker Compose более удобно для оркестрации и управления группой контейнеров, но в данном случае описан способ запуска нескольких контейнеров без него.