@Durov90

Как через docker-compose запустить установки из скриптов?

Итак, попробую сформулировать максимально понятно. У меня есть архив (репозиторий), он автоматически проводит установку NODE JS, NGINX и т.д.

Для запуска этой самой установки в консоли линукса надо написать следующую команду:

docker-compose --profile nginx --profile prod up -d


На выходе я получаю ошибку "Define and run multi-container applications with Docker."
И руководство по использованию.

Но не всё так просто, у меня есть docker-compose.yml:

version: '3.8'

services:
  nginx:
    image: nginx:1.21.6
    container_name: relaxc-nginx
    profiles: 
      - nginx
    restart: unless-stopped
    environment:
      - ADMIN_HOST=${ADMIN_HOST?err}
      - CLIENT_HOST=${CLIENT_HOST?err}
      - SERVER_HOST=${SERVER_HOST?err}
      - CLIENT_PORT=${CLIENT_PORT:-3000}
      - ADMIN_PORT=${ADMIN_PORT:-4000}
      - SERVER_PORT=${SERVER_PORT:-5000}
    volumes:
      - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./docker/nginx/templates:/etc/nginx/templates
      - ./logs/nginx:/var/log/nginx
    ports:
      - 80:80
      - 443:443

  mariadb:
    image: mariadb:10.8.2
    container_name: relaxc-mariadb
    restart: unless-stopped
    ports:
      - 3306:3306
    environment:
      MYSQL_DATABASE: ${MYSQL_DATABASE?err}
      MYSQL_USER: ${MYSQL_USER?err}
      MYSQL_PASSWORD: ${MYSQL_PASSWORD?err}
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD?err}
    volumes:
      - ./docker/mysql-data:/var/lib/mysql

  app:
    container_name: relaxc
    profiles: 
      - prod
    restart: always
    build:
      context: .
      dockerfile: ./docker/node/Dockerfile
    volumes:
      - .:/usr/local/app
      - /usr/local/app/node_modules
    depends_on:
      - mariadb
    extra_hosts:
      - "host.docker.internal:host-gateway"

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: relaxc-pma
    restart: unless-stopped
    profiles: 
      - dev
    links:
      - mariadb
    environment:
      PMA_HOST: mariadb
      PMA_PORT: 3306
      UPLOAD_LIMIT: 100M
    ports:
      - 8081:80


Есть ещё так же ряд файлов с настройками для nginx и отдельные настройки для докера.
Если нужна ещё инфа, напишите, допишу.

Но помогите пожалуйста решить этот вопрос.
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
@Durov90 Автор вопроса
UPD: Переписал немного команду саму.
Так же отредактировал файл в некоторых местах, заменив переменные основным текстом.
Всё работает.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы