首页 > 解决方案 > 如何在 Dockerfile 中预拉 docker 镜像?

问题描述

我需要对自己运行 docker 容器的现有脚本进行 docker 化:这会导致 docker 模式中的 docker。

目前,我能够构建一个基本的 docker 镜像,其中安装了 docker 以及我的脚本的代码依赖项。不幸的是,每次我运行这个镜像时,都会基于这个镜像创建一个新容器,并且需要拉取运行我的脚本所需的所有 docker 镜像(带有ENTRYPOINT脚本)。这需要很多时间,而且感觉不对。

我希望能够在 Dockerfile 中预先拉取我的脚本所需的 docker 映像,这样所有子容器都不需要这样做。

问题是,我无法在 Dockerfile 中启动 docker 服务,需要拉取这些图像。

我做事正确吗?我应该完全重新审视我的方法吗?或者我应该适应什么?

我的 Dockerfile:

FROM debian:buster

# Install docker
RUN apt-get update && apt-get install -y curl 
RUN curl -fsSL https://get.docker.com -o get-docker.sh
RUN sh ./get-docker.sh

# I tried:
# RUN docker pull hello-world
# RUN dockerd && docker pull hello-world
# RUN service docker start && docker pull hello-world

标签: dockerdockerfile

解决方案


推荐阅读