Запуск Docker из контейнера Docker - PullRequest
0 голосов
/ 11 ноября 2019

Выполнение проекта для моей диссертации, которая включает в себя угловой интерфейс, который взаимодействует с бэкэндом API узла, которому необходимо использовать docker для создания контейнеров из изображений, запускает несколько строк кода для вывода на консоль.

У меня естьиспользовал docker-compose для создания двух док-контейнеров для моего внешнего интерфейса и бэкэнда.

моему бэкэнд-контейнеру (api) нужен способ подключения к докеру с помощью dockerode , и я не уверен, каксделать это.

version: "3"
services:
  app:
    build: ./frontend
    ports:
      - "3001:4200"
    volumes:
      - ./frontend:/code
    depends_on:
      - api
  api:
    build: ./backend
    ports:
      - "3000:8080"
    volumes:
      - ./backend:/code

Я пытался:

1, используя docker-machine на моем хосте (windows 10), но всякий раз, когда я пытаюсь подключиться из контейнера docker (backend) через dockerode 'ReferenceError: docker не определен', но я не уверен, что на моем хосте правильно работает docker-машина, поскольку я нахожусь в Windows 10 с использованием hyper-v.

const docker = new Docker({host: 'http://192.168.0.23', port: 3000});

2 при установке dockerв контейнер докера, который каждый раз выходил из строя, и при успешной установке он не распознает «докер» как работающий в системе.

3 добавление образа докера в dКак я думал, это может сработать? для меня нет, но не знаю, связано ли это с сетью, а не с целью использования образа докера

  docker:
   image: docker
   ports: 
    - "2376:2376"
   stdin_open: true
   tty: true
   volumes:
    - /var/run/docker.sock:/var/run/docker.sock

Я довольно новичок в докере, особенно в области сетевых технологий, и смотрю на такие вещи, какdocker-machine, docker-swarm & Kubernetes, чтобы найти лучшее решение.

Любое понимание этого будет высоко оценено, поскольку самым большим препятствием для этого проекта является заставка моего бэкэнд-API общаться с докером в развернутой среде.

...