Ich habe 2 Container, die ich mit "docker-compose run" für bash iteraction ausführen möchte. Mein Komponist Datei aussehen wie der Balgdocker-compose run, Link zum zuvor laufenden Container
---
services:
dataBase:
image: "mysql:latest"
container_name: dataBase
environment:
MYSQL_ROOT_PASSWORD: SOME_PASSWORD
MYSQL_DATABASE: SOME_DATABASE
ports:
- "3306:3306"
volumes:
- ../data:/var/lib/mysql
api:
build: builds/web
container_name: api
hostname: "api"
ports:
- "5000:5000"
external_links:
- dataBase
volumes:
- ../api:/etc/api
working_dir: /etc/api
command: npm start
nginx:
image: nginx:1.11.13-alpine
ports:
- "8080:80"
volumes:
- ../nginx/conf.d:/etc/nginx/conf.d/
external_links:
- api:api
restart: always
version: "3"
ich tun:
docker-compose run --service-ports api bash
dass der api Behälter mit dem Link zur Datenbank initialisiert. Und dann brauche ich die Nginx zu laufen und mit API verknüpft werden, ich konnte das noch nicht tun. Ich tue:
docker-compose run -d --service-ports --no-deps nginx
Gibt es eine Möglichkeit für mich, diese zwei Läufe getrennt zu machen und immer noch die nginx Verknüpfung zu erreichen. Ich habe external_link versucht, aber das hat es nicht gekappt.
Es ist unklar, was Sie zu erreichen versuchen. Warum nicht einfach 'docker-compose up' und eine separate' docker-compose run api bash'? –
Ich möchte eigentlich 2 Bashs verlinkt haben, da würde ich für Entwicklungszwecke verwenden (eins auf api und eins auf anderen Container, immer noch nicht erstellt). Ich benutzte NGINX als Versuchskaninchen, damit es funktioniert (der Linking-Teil) – FabioCosta
Zusätzlich ist das Nginx ein Reverse-Proxy, also wenn ich api laufen lasse, würde Nginx keine Verbindung zu ihm haben, was den Reverse-Proxy zum Scheitern bringen würde – FabioCosta