如何确保我的 docker 镜像/容器在 100 年后仍然可以工作?

Lig*_*iga 5 containers docker dockerfile docker-compose

我已经创建了我的 Docker compose 和 Dockerfile,但正如您所看到的,我正在从 Docker Hub 下载 PHP,并且还在下载和安装 PHP 扩展。但是,如果 20 年后这些镜像/包将不再托管在 Docker hub 上呢?如果我想仍然能够运行我的容器怎么办?

我能以某种方式及时冻结我的容器吗?我可以将它们全部捆绑在一起,这样如果我从现在起 100 年后回到它并运行我的图像,它仍然可以工作吗?我不想让它出去从互联网上下载任何东西。我想现在下载所有内容,并在将来运行它。

Docker 撰写文件

version: '3'
services:

  php:
    build:
      context: ./php
      dockerfile: Dockerfile
    image: digitalocean.com/php
    container_name: php
Run Code Online (Sandbox Code Playgroud)

还有我的 PHP Dockerfile

RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/
RUN docker-php-ext-install gd
Run Code Online (Sandbox Code Playgroud)

Mic*_*ant 0

您需要自己提供它们

如果将来不可用,您需要立即通过以下任一方式获取并保存它们:

  • 创建现在已下载包并将其保存在本地的映像。

  • 立即下载软件包并设置本地服务器以便将来根据需要提供服务。