包装 origin public Dockerfile 以管理构建参数等
Wrap origin public Dockerfile to manage build args, etc
我对 Docker 之类的东西很陌生,所以我想知道我是否可以从 Docker.Hub 更改来源官方和 public 图片(我在 FROM
指令)在我自己的容器构建中即时使用它们,有点像厨师 chef-rewind 做的?
例如,如果我需要将 build-args 传递给 openresty/latest-centos 以在没有模块的情况下构建它,我将不会使用。我需要把这个
FROM openresty/latest-centos
在我的 Docker 文件中,我还应该做什么才能让 openresty 只使用我需要的模块构建?
当您在 Docker 文件中使用 FROM
指令时,您只是在指示 Docker 使用指定的图像作为将使用您的图像构建的图像的基础Docker文件。这不会导致重建基础映像,因此无法 "pass parameters" 进入构建过程。
如果openresty镜像不能满足您的需求,您可以:
- 克隆 openresty git 存储库,
- 修改Docker文件,
- 运行
docker build ...
建立自己的形象
或者,您可以省去这些工作,只使用现有的图像,并使用一些未使用的模块。如果模块是单独的组件,您还可以在 Docker 文件中发出必要的命令来删除它们。
我对 Docker 之类的东西很陌生,所以我想知道我是否可以从 Docker.Hub 更改来源官方和 public 图片(我在 FROM
指令)在我自己的容器构建中即时使用它们,有点像厨师 chef-rewind 做的?
例如,如果我需要将 build-args 传递给 openresty/latest-centos 以在没有模块的情况下构建它,我将不会使用。我需要把这个
FROM openresty/latest-centos
在我的 Docker 文件中,我还应该做什么才能让 openresty 只使用我需要的模块构建?
当您在 Docker 文件中使用 FROM
指令时,您只是在指示 Docker 使用指定的图像作为将使用您的图像构建的图像的基础Docker文件。这不会导致重建基础映像,因此无法 "pass parameters" 进入构建过程。
如果openresty镜像不能满足您的需求,您可以:
- 克隆 openresty git 存储库,
- 修改Docker文件,
- 运行
docker build ...
建立自己的形象
或者,您可以省去这些工作,只使用现有的图像,并使用一些未使用的模块。如果模块是单独的组件,您还可以在 Docker 文件中发出必要的命令来删除它们。