AppSec & Pentest
CloudSec
CloudSec
  • Sandboxes, Containers, Virtualization
    • Какие бывают
    • Kubernetes
      • About
      • Tools
        • kubectl
        • minikube
        • helm
        • tiller
        • Others
      • Components
      • Concepts
      • Security
      • Learning
      • Conferences & Events
    • Container Runtime Interface (CRI)
      • containerd
      • CRI-0
      • Podman
      • Colima
      • Docker
        • About
        • CLI
        • Dockerfile
        • docker compose
        • Registry
        • Testcontainers
        • [Def] Security
        • [Off] Security
    • Red Hat OpenShift Container Platform (OCP)
      • About
      • OCP Components
        • Platform services
        • Application services
        • Developer services
        • OpenShift Kubernetes Engine
      • Security
        • Container Security
        • Podman
        • Kubernetes Security
        • Securing Platform Services
        • Vulnerabilities
        • CIS
    • VMWare
      • Workspace ONE Access
      • Workspace One UEM SSRF (AirWatch)
      • vSphere
      • vCenter
      • Learn
      • Horizon Security Server
      • VMWare log4j
    • Tools
      • Build container image inside containers
      • Moby
      • Security
  • Cloud
    • Google Cloud Platform (GCP)
      • GCP Components
      • GCP CLI
      • Security
        • Get access to GCP via service-account [json]
        • PrivEsc
        • Papers
      • Courses & Certifications
    • Azure
      • Azure Start
      • Azure CLI
      • Компоненты и механизмы
        • Azure Storage BLOB
        • Подписанные URL (SAS)
      • Papers and Resources
      • Azure Security Center
      • Tools
    • AWS
      • AWS Intro
      • AWS Basics
      • AWS Components
        • Computing
        • Storage
        • Messaging
        • Serverless
        • Business Productivity
        • Network and Content Delivery
        • Mobile
        • Databases
      • AWS Testing
      • Basic Work: Examples
        • AWS Cli
        • AWS SES
        • S3 Bucket
      • Security
        • Enumeration
        • AWS Lambda
        • Разные примеры
        • Learn Materials
      • Books & Papers
      • Courses & Certifications
    • Yandex Cloud
      • YC CLI
      • YC API
      • Cloud Organization
      • VM
        • Cloud Computing
        • Virtual Private Cloud (VPC)
        • Network Load Balancer
      • Data Platform
        • Definitions
        • Как выбрать БД
        • Реляционные БД
        • Нереляционные БД
        • Object Storage and S3
      • Yandex k8s
      • Serverless
      • Security
      • Billing
    • Another platforms
    • OpenStack
    • Tools
      • Tool list
      • Packer
      • Terraform
        • Intro
        • Getting started
        • Configuration
          • Basic
            • Terraform Block
            • Providers
            • Resources
            • Variables
            • Outputs
            • Functions
          • Modules
        • Security
        • Papers
    • Papers
Powered by GitBook
On this page
  • Примеры конфигов
  • Управление
  • Синтаксис конфига

Was this helpful?

  1. Sandboxes, Containers, Virtualization
  2. Container Runtime Interface (CRI)
  3. Docker

docker compose

PreviousDockerfileNextRegistry

Last updated 2 years ago

Was this helpful?

Примеры конфигов

Пишутся в формате yaml. По дефолту должны быть названы docker-compose.yml, но можно и по-другому (тогда использовать ключ -f)

github:

Управление

Собрать:
docker-compose build

Остановить:
docker-compose down 
ключ --rmi - удалит все, что было связано с билдом

Запустить:
docker-compose up - поднять инфру
docker-compose -f some_config.yml up -d 

Или одной командой удалить страрые контейнеры, пересобрать и сбилдить новые:
$ docker compose rm -f && docker compose build && docker compose up 

Можно указать несколько конфигов, например:

$ ls -al
docker-compose.prod.yml
docker-compose.mocks.yml
docker-compose.yml
$ docker compose -f docker-compose.yml -f docker-compose.mocks.yml up

При этом, в docker-compose.yml — базовые настройки, а в docker-compose.mocks.yml — настройки, связанные с Mock-окружением.

Например:

# docker-compose.yml
version: '3'

networks:
    default:
        driver: bridge
        enable_ipv6: true
        
# docker-compose.mocks.yml
version: '3'

services:
    my-service:
        image: ...

Синтаксис конфига

port mapping (format - "HOST:CONTAINER")

ports:
  - "8080:80"

tty — добавляем в services, чтоб контейнер не падал, если у нас нет CMD (нечего запустить если, например образ системы только есть). Пример:

version: '3'

services:

  ruby_rails_irb:
    build:
      context: .
      dockerfile: Dockerfile
    container_name: rails-irb
    restart: always
    depends_on:
     - db
    tty: true

Настройка сетки

version: '3'

services:
  myservice:
    ...
    networks:
    - my-spring-app-network

networks:
  my-spring-app-network:

Настройка логирования

version: '3'

services:
  myservice:
    ...
    logging:
      driver: "local"
      options:
        max-size: "10m"
        max-file: "3"

man:

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