无法使用Invoke-command执行docker run

时间:2017-07-02 07:25:20

标签: powershell powershell-remoting docker-windows

我是码头工人的新手。我经常使用码头工具"本地"从具有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中提取这些文件]

我将如何以自动方式执行此操作?任何建议和一些这方面的例子都会有所帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

自动构建映像的最佳方法是使用Dockerfile。例如,可以在文档中找到一些信息; https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/

如果目录中有Hello.javadatafile.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守护程序,其中的所有内容都可以访问使用COPYADD Dockerfile指令添加到docker镜像中

这是一个非常天真的例子,只是为了说明这个概念;我建议阅读文档,理解概念,并搜索更多示例。