我是码头工人的新手。我经常使用码头工具"本地"从具有Windows容器的Windows服务器2016开始,中间没有中间虚拟机(没有泊坞机),也没有泊坞工具箱,所以"主机"是我运行docker的实际Windows服务器。
Docker版本:
PS C:>码头版 客户: 版本:17.03.1-ee-3 API版本:1.27 转到版本:go1.7.5 Git commit:3fcee33 建造:2017年3月30日星期四19:31:22 OS / Arch:windows / amd64
服务器: 版本:17.03.1-ee-3 API版本:1.27(最低版本1.24) 转到版本:go1.7.5 Git commit:3fcee33 建造:2017年3月30日星期四19:31:22 OS / Arch:windows / amd64 实验:假 PS C:> 我从码头中心拉出图像。我需要在运行时替换docker镜像中的文件并提交对图像的更改。
假设我在Docker镜像中有我从Sampleer hub中提取的Sample.java和datafile.properties。
我想用Hello.java替换它和data.properties [我从github中提取这些文件]
我将如何以自动方式执行此操作?任何建议和一些这方面的例子都会有所帮助。提前谢谢。
答案 0 :(得分:0)
自动构建映像的最佳方法是使用Dockerfile。例如,可以在文档中找到一些信息; https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
如果目录中有Hello.java
和datafile.properties
,请在同一目录中创建一个Dockerfile,例如;
FROM the-base-image-on-docker-hub
RUN rm /path/to/Sample.java
COPY ./Hello.java /path/to/
COPY ./datafile.properties /path/to/
然后,您可以构建您的图片,并标记"它为myimage:latest
with;
docker image build -t myimage:latest .
(结尾处的句点(.
)表示;使用当前目录作为"构建上下文" - 将构建上下文上载到docker守护程序,其中的所有内容都可以访问使用COPY
或ADD
Dockerfile指令添加到docker镜像中
这是一个非常天真的例子,只是为了说明这个概念;我建议阅读文档,理解概念,并搜索更多示例。