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

3.4K
Visualizações
"No se puede acceder al archivo jar" al intentar ejecutar un jar con docker

Error: Unable to access jarfile jar-runner.jar cuando intento ejecutar mi jar.

archivo acoplable:

 FROM anapsix/alpine-java MAINTAINER bramhaag CMD ["java", "-jar", "jar-runner.jar", "some param", "some param"]

El archivo jar se encuentra en /home/selfbot/ y lo estoy ejecutando con Portainer. Así es como se ve mi contenedor Portainer:portaherramientas[1]

¿Cómo haría que esto funcione?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Con el formato CMD [ ] "exec", Docker intentará ver los argumentos y dar su opinión sobre su utilidad. "No se puede acceder al archivo jar" es un mensaje de Docker y solo significa que Docker tiene algunos problemas (no especificados) con un archivo jar. Lo encontré cuando el nombre del archivo jar contenía una variable ENV , por ejemplo. Docker no pudo manejar eso, aparentemente.

También existe el formato "shell" de CMD , CMD java -jar jar-runner.jar "some param" "some param" . Esto se conoce como el formato de shell porque Docker entrega los argumentos a /bin/sh -c . Como resultado, no está tratando de adivinar lo que significan los argumentos. sh a su vez tampoco trata de ser inteligente. Y java es completamente capaz de usar jar-runner.jar .

Eso sí, si tiene un error tipográfico en jar-runner.jar , o si lo colocó en la ubicación incorrecta, entonces el mensaje de Docker podría ser correcto. La solución de shell es útil cuando Docker adivina mal.

over 4 years ago · Santiago Trujillo Relatório

0

Parece que tiene el volumen montado, por lo que suponiendo que tenga razón en que el archivo jar está disponible en el contenedor a través de ese volumen, probablemente solo necesite especificar la ruta para que Java pueda encontrarlo.

 CMD ["java", "-jar", "/home/selfbot/jar-runner.jar", "some param", "some param"]

Puede verificar si el archivo está realmente disponible ejecutando un comando diferente para mostrarle el contenido de un directorio determinado. Cambie el comando (en Portainer) a algo como

 ls -la /home/selfbot

Y luego puede verificar si el archivo jar está realmente donde lo cree, si es legible, etc. Este comando se cerrará de inmediato, pero su salida estará disponible en el registro del contenedor.

over 4 years ago · Santiago Trujillo Relatório

0

Tratar
ENTRYPOINT ["java","-jar","jar-runner.jar"] CMD ["some param"]

Tuve un problema similar aquí en mi publicación: Error: no se puede acceder al archivo jar cuando se ejecuta el contenedor docker

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