Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

423
Vistas
Docker compose bind falló: el puerto ya está asignado

He estado tratando de mover un servidor socketio de EC2 a Docker.

He podido conectarme al zócalo a través de un cliente web (http), pero parece imposible conectarse directamente al zócalo a través de iOS o Android.

Leí que uno de los problemas puede ser que los puertos expuestos no se publiquen realmente cuando se usa Docker. Dado que nuestras aplicaciones móviles actualmente se conectan en el puerto 8080 en nuestra instancia EC2 clásica. Configuré un archivo docker-compose.yml para intentar abrir todos los puertos y protocolos de comunicación, pero tengo dos problemas:

1. No estoy seguro de cómo se debe llamar el servicio, así que elegí "src" (ver DockerFile a continuación). ¿Pero se pregunta si debería ser una aplicación ya que el archivo del servidor es app.js?

2. Obtener "Enlace para 0.0.0.0:8080 falló: el puerto ya está asignado".

DockerFile

 FROM ubuntu:14.04 ENV DEBIAN_FRONTEND noninteractive RUN mkdir /src ADD package.json /src RUN apt-get update RUN apt-get install --yes curl RUN curl --silent --location https://deb.nodesource.com/setup_4.x | sudo bash - RUN apt-get install --yes nodejs RUN apt-get install --yes build-essential RUN update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10 RUN cd /src; npm install RUN npm install --silent socket.io@0.9.14 WORKDIR /src # Bundle app source # Trouble with COPY http://stackoverflow.com/a/30405787/2926832 COPY . /src ADD app.js /src/ EXPOSE 8080 CMD ["node", "/src/app.js"]

Docker-Compose.yml

 src: build: . volumes: - ./:/src expose: - 8080 ports: - "8080" - "8080:8080/udp" - "8080:8080/tcp" - "0.0.0.0:8080:8080" - "0.0.0.0:8080:8080/tcp" - "0.0.0.0:8080:8080/udp" environment: - NODE_ENV=development - PORT=8080 command: sh -c 'npm i && node server.js' echo 'ready'
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

  1. Obtener "Enlace para 0.0.0.0:8080 falló: el puerto ya está asignado".

tiene asignaciones de puertos duplicadas.

  1. cuando no se especifica un tipo de conexión, el puerto predeterminado es tcp : lo que significa "0.0.0.0:8080:8080" y "0.0.0.0:8080:8080/tcp" ambos tratando de vincularse al mismo puerto y de ahí su error.

  2. dado que la ventana acoplable usa 0.0.0.0 para el enlace predeterminado , lo mismo se aplica a "8080:8080/tcp" y "0.0.0.0:8080:8080/tcp" : 8080: 8080/tcp": no necesita ninguno de los dos.

por lo tanto, puede reducir su sección de ports a:

 ports: - "8080:8080" - "8080:8080/udp"

No estoy seguro de cómo debería llamarse el servicio.

Depende completamente de ti. por lo general, los servicios reciben el nombre de su contenido o función en la red, como nginx_proxy laravel_backend etc., por lo que node_app me parece bien, la app también está bien en redes pequeñas, src no parece tener ningún significado, pero de nuevo, es solo un identificador por su servicio, sin ningún efecto adicional.

over 4 years ago · Santiago Trujillo Denunciar

0

Simplemente está ejecutando otro contenedor en el mismo puerto. Puede verlo con docker ps y detenerlo con docker stop [CONTAINER ID] .

over 4 years ago · Santiago Trujillo Denunciar

0

solo necesita abrir el archivo docker.yml y cambiar su dirección de puerto... esto me sucede porque mi compañía ya usó ese contenedor, otro miembro

ejemplo de 0.0.0.0:80==>0.0.0.0:8000 y también puerto de puertos:- 80/80 a puertos:- 8000:8000

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda