English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Дocker-compose: объяснение и примеры кода

Пример использования docker-compose

Для установки mysql + java service + nginx с использованием docker, всего необходимо 4 контейнера docker. Если использовать команду docker run для создания каждого контейнера по отдельности, это становится довольно утомительным. Для более эффективного создания групп контейнеров docker推出了 инструмент docker-compose, который позволяет быстро создать группу контейнеров, просто определив файл docker-compose.yml.

mysql:
 image: daocloud.io/yjmyzz/mysql-osx:latest
 volumes:
   - ./mysql/db:/var/lib/mysql
 ports:
   - 3306:3306
 environment:
   - MYSQL_ROOT_PASSWORD=123456
service1:
 image: java:latest
 volumes:
   - ./java:/opt/app
 expose:
   - 8080
 #ports:
 #  - 9081:8080
 links:
   - mysql:default
 command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar
service2:
 image: java:latest
 volumes:
   - ./java:/opt/app
 expose:
   - 8080
 #ports:
 #  - 9082:8080
 links:
   - mysql:default
 command: java -jar /opt/app/spring-boot-rest-framework-1.0.0.jar
nginx1:
  image: nginx:latest
  volumes:
   - ./nginx/html:/usr/share/nginx/html:ro
   - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
   - ./nginx/conf.d:/etc/nginx/conf.d:ro
  #expose:
  #  - 80
  ports:
   - "80:80"
  links:
   - service1:service1
   - service2:service2

Содержание не сложное, подробные ключевые слова см. в конце статьи с ссылкой на источник.

Вопрос: где находится этот файл?

См.下面的 структура каталога:

mysql-java-nginx
├── docker-compose.yml
├── java
│  └── spring-boot-rest-framework-1.0.0.jar
├── mysql
│  └── db
└── nginx
  ├── conf
  ├── conf.d
  │  └── default.conf
  ├── html
  │  └── index.html
  └── nginx.conf

Создайте контейнер:

cd mysql-java-nginx
docker-compose up

Это так просто, одна команда 'up' решает все вопросы с созданием контейнеров, 'up' обычно используется при первом создании, можно наблюдать за логами в реальном времени на терминале, чтобы определить, запустился ли контейнер правильно, если нет проблем, вы можете просто нажать Ctrl+C, чтобы выйти, затем

docker-compose start

Запустите контейнер в фоновом режиме.  

Другие команды включают:

Команды:
 сборка       Соберите или пересоберите сервисы
 помощь        Получите помощь по команде
 kill        Убить контейнеры
 logs        Просмотреть вывод из контейнеров
 pause       Приостановить услуги
 port        Вывести общественный порт для привязки порта
 ps         Список контейнеров
 pull        Пул сервисных изображений
 restart      Перезапустить услуги
 rm         Удалить остановленные контейнеры
 run        Запустить единичный команду
 scale       Установить количество контейнеров для услуги
 start       Запустить услуги
 stop        Остановить услуги
 unpause      Включить услуги
 up         Создать и запустить контейнеры
 migrate-to-labels Пересоздать контейнеры для добавления меток
 version      Показать информацию о версии Docker-Compose

В основном по имени можно понять смысл.  

Ссылки на статьи:

https://docs.docker.com/compose/compose-file/

Спасибо за чтение, надеюсь, это поможет вам, спасибо за поддержку нашего сайта!

Вам может понравиться