Cuando hago sbt docker:publishLocal , crea un Dockerfile borrando automáticamente el contenido anterior del archivo.
Quería agregar comandos personalizados para agregar cassandra al contenedor. Copio y pego el contenido de este archivo.
e intenté ejecutar el comando anterior nuevamente. Pero eso elimina todo el contenido existente y lo reemplaza con contenido predeterminado.
¿Cómo puedo agregar comandos docker en Dockerfile o build.sbt?
El complemento sbt-docker tiene una sección de personalización, incluida una "Escribir desde cero" , que podría ser de interés:
Simplemente puede borrar todos los comandos de la ventana acoplable con
dockerCommands := Seq()Ahora comencemos a agregar algunos comandos de Docker.
import com.typesafe.sbt.packager.docker._ dockerCommands := Seq( Cmd("FROM", "openjdk:8"), Cmd("LABEL", s"""MAINTAINER="${maintainer.value}""""), ExecCmd("CMD", "echo", "Hello, World from Docker") )Puede escribir su Dockerfile personalizado de esa manera: se regenerará correctamente.
¿Cómo voy a agregar algo como esto:
RUN set -x \ && apt-get update && apt-get install -y --no-install-recommends ca-certificates wget && rm -rf /var/lib/apt/lists/* \ && wget -O /usr/local/bin/gosu....Como en el ejemplo de la documentación :
ExecCmd("RUN", "set", "-x", "&&", "apt-get", "update", ... ),