AWS docker 设置 --no-cache 标志

AWS docker set --no-cache flag

我在 AWS 上使用 EB 来部署 docker 文件。

目前我部署到脚本: dockerfile 和一个启动服务器的 run.sh 文件。

dockerfile大致是这样

FROM ubuntu:14.04
MAINTAINER xy

[...install a java server...]

ADD run.sh /run.sh
RUN chmod +x /*.sh
EXPOSE 8080

CMD ["/run.sh"]

run.sh 启动 java 服务器。

我想为 docker 设置 --no-cache 标志。我在哪里可以设置它?

您仅在 docker 构建步骤中使用 --no-cache。如果 运行 脚本没有构建图像,那么您需要找到正在构建它的是什么,并告诉该进程使用无缓存。

您不能指定 docker build--no-cache,因为 eb 不允许您这样做。

解决方法是在本地构建映像(使用 --no-cache)。然后使用 docker push 将您的图像发布到 Docker hub public 注册表。

您的 Docker 文件可以简化(未经测试)为:

FROM custom_java_server_build:latest
MAINTAINER xy

EXPOSE 8080

CMD ["/run.sh"]

听起来您正在创建一个大图像,您可以通过将整个安装序列变成单个 运行 语句来缓解这种情况。也不要忘记删除所有临时文件。