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

546
Vistas
Cambiar puerto amazon/dynamodb-local

¿Cómo puedo cambiar el puerto en el que se inicia dynamodb a través de la imagen de Amazon Docker?

De acuerdo con esta respuesta , la opción -port se puede usar al ejecutar el archivo java de dynamodb.

Sin embargo, cuando ejecuto la imagen de la ventana acoplable con este comando: docker run -p 8000:8000 amazon/dynamodb-local , no tengo la opción de especificar el puerto que escucha dynamodb, solo el puerto conectado entre mi host y el contenedor.

¿Tendría que crear mi propio Dockerfile, especificar el sistema operativo e instalar dynamodb y otras cosas, para poder ejecutar el comando java y especificar mi puerto?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

No es necesario reconstruir la imagen. Haciendo

 docker inspect amazon/dynamodb-local

muestra que el punto de entrada está configurado como

 "Entrypoint": [ "java" ],

Así que ejecutar el siguiente comando da un error:

 $ docker run -p 8001:8001 amazon/dynamodb-local -port 8001 Unrecognized option: -port Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

porque estamos tratando de pasar el argumento -port a java pero necesitamos pasarlo a DynamoDBLocal.jar .

Una vez que sepamos eso, podemos agregar el jar a la ejecución de Docker y lo siguiente funciona:

 $ docker run -p 8001:8001 amazon/dynamodb-local -jar DynamoDBLocal.jar -port 8001 Initializing DynamoDB Local with the following configuration: Port: 8001 InMemory: false DbPath: null SharedDb: false shouldDelayTransientStatuses: false CorsParams: *

Lo plantearía como un error, pero https://hub.docker.com/r/amazon/dynamodb-local/ no menciona un repositorio público de github para plantear el problema.

over 4 years ago · Santiago Trujillo Denunciar

0

Probé la imagen oficial para anular el punto de entrada, pero hubo un error desconocido, pero puede seguir con este enfoque. Simplemente cree una nueva imagen de Docker desde amazon/dynamodb-local como imagen base. Construir.

 docker build -t mydb .

y ejecutarlo

 docker run -it --rm -p 8001:8001 mydb

A continuación se muestra el Dockerfile

 FROM amazon/dynamodb-local WORKDIR /home/dynamodblocal ENTRYPOINT ["java", "-jar", "DynamoDBLocal.jar", "-port", "8003"]

Como verás el puerto.

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar

0

Por alguna razón docker-compose no asigna puertos al host para dynamodb. La siguiente configuración no funcionará para la imagen dynamodb-local :

 ports: - "9000:8000"

La solución es colocar el puerto directamente en el comando, -port 9000 es lo mismo que los ports: - "9000:9000" en docker-compose.

 version: "3.8" services: service-dynamodb: image: amazon/dynamodb-local image: "amazon/dynamodb-local:latest" working_dir: /home/dynamodblocal # -port {number} is the same as # ports: - {number}:{number} in Docker command: "-jar DynamoDBLocal.jar -port 9000 -sharedDb -optimizeDbBeforeStartup -dbPath ./data" volumes: - ./data:/home/dynamodblocal/data
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