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