docker - 如何在不发送上下文的情况下构建docker镜像?

标签 docker containers

在我们的项目中,我们有包含 docker 配置和其他常用内容的项目目录以及每个服务的文件夹。由于我们在 dockerfiles 中使用常见的东西,我们需要将上下文设置为根文件夹,但随后 docker 将所有上下文发送到 docker deamon,大约 3 GB,这需要一些时间,尤其是当它为每个服务这样做时。

是否有选项可以让它直接使用我的本地文件系统? 或者是否有任何替代解决方案来构建不发送上下文的 OCI 容器?

最佳答案

我过去使用的一种方法是专门为 Docker 创建临时构建树。这可能看起来像

mkdir build/docker
cp Dockerfile build/docker
cp -a project-a/target/app_a build/docker
cp -a common/docker/etc build/docker
docker build -t me/project-a build/docker
rm -rf build/docker

现在上下文目录正是您所需要的,不多也不少,您的 Dockerfile 可能非常简单。

(实际上,当我这样做时,我使用 Makefile 构建了主机上下文目录,并且这种方法可能需要某种程度的构建自动化。)

关于docker - 如何在不发送上下文的情况下构建docker镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59526872/

相关文章:

docker - 在docker中,如何关闭dockerfile暴露的端口?

php - 在 Windows 上将 Xdebug 和 PhpStorm 与 Docker 容器一起使用

docker - Docker中的Subshel​​l命令

kubernetes - 有没有办法回滚编辑后的 ​​kubernetes list 文件?

Azure 容器实例 - .net sdk - 更改环境变量并重新启动任务容器

linux - 我如何从 docker 容器中知道主机的映射端口?

docker - 使用 boot2docker 将 docker 容器应用程序端口公开到 Windows 上的主机

testing - 如何测试容器的宽度/高度大小

java - 如何改进 Java 泛型通配符签名

docker - 如何为docker容器定义磁盘配额?