每次重新启动容器时重新安装graphicsmagick包似乎是我不想做的黑客行为。
如果您已经修改启动脚本,不妨使用 Dockerfile:
FROM meteorhacks/meteord:base
RUN apt-get install graphicsmagick -y
然后修改start.sh
使用graphicsmagick构建新的docker镜像的模板,标记它并使用该镜像:
see: https://gist.github.com/so0k/7d4be21c5e2d9abd3743/revisions
编辑:Dockerfile 放在哪里?
start.sh
模板被复制到/opt/<appName>/config/
,目前 Dockerfile 需要位于同一目录中(/opt/<appName>/config/Dockerfile
)
see Linux 初始化任务
或者,您可以使用以下命令指定特定的 Dockerfile-f
标志为docker build
Or 你的第三个选择是将 Dockerfile 通过管道传输到docker build
用一个这里的文档
我已经更新了start.sh要点,我们不再拉取 metered:base 镜像并构建它:
docker build -t meteorhacks/meteord:app - << EOF
FROM meteorhacks/meteord:base
RUN apt-get install graphicsmagick -y
EOF
The docker build
每次都会运行,但只要需求没有改变,docker就会使用它缓存的docker镜像。