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

552
Vistas
Why is my Docker image of my Play Framework for Scala app not starting with an AccessDeniedException?

Problem

My project builds just fine using sbt docker:publish or sbt docker:publishLocal, but when I go to run the image, it fails with the following stack trace:

eleanor@demo-machine:~/workbench/opendar/opendar$ docker run eholley/opendar:1.0-SNAPSHOT
Oops, cannot start the server.
java.nio.file.AccessDeniedException: /opt/docker/RUNNING_PID
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
        at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:434)
        at java.nio.file.Files.newOutputStream(Files.java:216)
        at play.core.server.ProdServerStart$.createPidFile(ProdServerStart.scala:136)
        at play.core.server.ProdServerStart$.start(ProdServerStart.scala:43)
        at play.core.server.ProdServerStart$.main(ProdServerStart.scala:25)
        at play.core.server.ProdServerStart.main(ProdServerStart.scala)
eleanor@demo-machine:~/workbench/opendar/opendar$ 

To Reproduce

The image is public on DockerHub under eholley/opendar:1.0-SNAPSHOT. (In the run command, I have omitted a couple of environment variables, so the expected output should be that it fails on configuration based on the application.conf instead of the above error.)

If you want to try to build and package it yourself, you can clone https://0x00F3@bitbucket.org/0x00F3/opendar.git.

What I've tried

The issue isn't altogether dissimilar to this issue, so as a shot in the dark I tried adding this

import com.typesafe.sbt.packager.docker.DockerChmodType
dockerChmodType := DockerChmodType.UserGroupWriteExecute

per the advice in the thread. It didn't appear to change anything.

Background

  • Ubuntu Version 18.04.2 LTS
  • Java version openjdk 1.8.0_191
  • sbt version 1.2.1
  • Scala version 2.12.6
  • sbt-native-packager version 1.3.21
  • Play Framework version 2.6.20
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

I had to add both:

build.sbt

Universal / javaOptions ++= Seq(
  "-Dpidfile.path=/dev/null"
)

conf/application.conf

play.server.pidfile.path=/dev/null
over 4 years ago · Santiago Trujillo Denunciar

0

This problem is noted and has a few issues on various repositories on github https://github.com/lightbend/sbt-reactive-app/issues/177

You can either point the pid file to /dev/null like some otheres suggest or if you are using later versions of sbt native packager you can set the permissions for the docker user via the sbt setting

dockerChmodType := DockerChmodType.UserGroupWriteExecute

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