Docker“config”Container / Docker镜像

我想创build一个Docker镜像来保存我的应用程序configuration,所以当更改某些东西时,我只能更改configuration容器,而不必为我的应用程序构build一个新镜像。

这是我的Dockerfile:

FROM scratch RUN mkdir -p /config ADD config.properties /config VOLUME /config ENTRYPOINT /bin/true 

但它甚至不能创build目录。 有这样的事情的最佳做法吗?

请记住, scratch图像字面上完全是空的 。 您无法创build目录,因为该映像中没有/usr/bin/mkdir可执行文件。

要创build目录,你可以利用Dockerfile中的ADD语句隐式创build目录的事实,所以下面的Dockerfile应该足够了:

 FROM scratch ADD config.properties /config/config.properties VOLUME /config 

关于进入ENTRYPOINT 你的图片中也没有/bin/true 。 这意味着容器将不会启动(即立即退出exec: "/bin/true": stat /bin/true: no such file or directory )。 但是,如果您打算将此映像用于仅包含数据的容器,则可能是正确的。 只需使用docker create而不是docker run即可创build容器,无需启动它:

 docker build -t config_image . docker create --name config config_image