2017-10-20 15 views
1

J'ai configuré ce fichier de composition et quand j'ai tout fait comme prévu, mais la semaine dernière quand nous avons essayé de le transmettre aux autres développeurs pour le développement, il n'exposait plus le réseau et pour la vie de moi, je ne sais pas pourquoi, beaucoup de googling n'a donné aucun résultat.Docker Compose n'exposant pas le port réseau

Le réseau est sur le pont, et dev est le seul à ne pas travailler, Préchauffage prod fonctionne très bien

version: '2' 
    services: 

    dev: 
     build: 
     context: ./ 
     volumes: 
     - ./:/app 
     ports: 
     - "8080:8080" 
     command: yarn start 

    prod: 
     build: 
     context: ./ 
     ports: 
     - "8080:5000" 
     command: node express.js 

Voici le dockerfile associé

FROM remejuan/node-yarn:8.5.0 

# Override the base log level (info). 
ENV NPM_CONFIG_LOGLEVEL warn 

# Copy all local files into the image. 
RUN mkdir -p /app 
WORKDIR /app 
COPY ./ ./ 

# Install all dependencies of the current project. 
RUN yarn install --pure-lockfile 
RUN yarn cache clean 

# Install and configure `serve`. 
EXPOSE 8080 
EXPOSE 5000 

J'ai éliminé le système d'exploitation comme cause, nous l'avons testé sur 2 fenêtres 10 machines fonctionnant le plus récent CE, même avec le mac et ma machine exécute ubuntu et prod fonctionne sur tout, dev pas, pourtant dans le journal je vois le webpack tourner, écoutant sur le port 8080.

Sauter manuellement en utilisant docker run -ti -p 8080: 8080 ... ne fonctionne pas non plus.

Saisir à toute autre idée possible.

Merci

+0

pourquoi exposer à plusieurs ports comme dans votre fichier docker –

+0

Prod 5000; Dev 8080 – RemeJuan

Répondre

1

Vous exposez votre conteneur à même port 8080. Cela ne fonctionnera pas. Parce que deux services utilisent le même port. Essayez d'utiliser un autre port pour le développement. Vous pouvez également définir l'environnement et ses variables dans le fichier Docker-Composer si vous n'avez pas spécifié. Environnement devrait être explicitement spécifier pour détecter sur quel environnement vous exécutez votre application

+0

Merci, tous les quais que j'ai traversés l'ont eu dans les deux, l'ont enlevé sans succès, mais je pense qu'il peut s'agir de webpacks. Google avec cela dans le terme m'amène à des choses supplémentaires qui doivent être passées dans la configuration webpack qui l'a corrigé. Merci – RemeJuan