Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

547
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda