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