Docker compose - uniqcle/DevOps GitHub Wiki

проверка версий

docker compose version  # новая, когда используется плагин. Остальные могут не сработать
docker-compose -v       # старая
docker-compose version  

основные команды

docker-compose build   # Собрать контейнеры на основе Dockerfile
docker-compose build --no-cache
docker-compose up      # Поднять контейнеры в интерактивном режиме
docker-compose up -d   # Поднять контейнеры в режиме демона
docker compose stop    # останавливаем
docker-compose down    # "Убить" контейнеры
docker system prune -a # Удаление кэша

docker compose с одним контейнером

version: '3.5'
services: 
  web-server: 
    image: nginx:stable
    volumes: 
      - '/html:/var/www/html'
      - '/html:/var/www/pics'
      - '/nginx-config:/var/www/config'
    environment: 
      - 'NGINX_HOST=uniqcle.ru'
      - 'NGINX_PORT=80'
    ports:
      - '80:80'
      - '443:443'
    restart: unless-stopped
networks: 
  default:
    driver: bridge
    name: webnet

docker compose с неск. контейнерами

version: '3.6'
services: 
  php-app:
    image: php:apache
    ports:
      - '80:80'
    restart: unless-stopped
    depends_on:
      - app-db
      - app-redis
    networks:
      - internet
      - localnet

  app-db:
    image: postgres
    restart: unless-stopped
    environment:
      - 'POSTGRES_PASSWORD=mysecret'
    networks: 
      - localnet

  app-redis: 
    image: redis
    restart: unless-stopped
    networks:
      - localnet

networks:
  internet:
    name: internet
    driver: bridge
  localnet:
    name: localnet
    driver: bridge

docker compose up -d