只在Dockerfile中读取第一行

时间:2015-12-01 14:48:17

标签: c# unix docker

我正在尝试使用Docker.DotNet(Docker Rest Api的c#包装器)在远程linux vm上构建映像,但只读取了我的Dockerfile的第一行:

FROM ubuntu:14.04
RUN apt-get update && apt-get install -y php5-cli

因此,仅创建了基本Ubuntu映像,并且尚未安装php。我已经将我的Dockerfile中的文件结尾转换为\ n(Unix)而不是\ r \ n(Windows),但这没有任何效果。根据我的api调用,还没有设置映像存储库名称。

奇怪的是,如果我在Dockerfile中只包含一行:

FROM ubuntu:14.04

然后设置了图像存储库名称,因此看起来第二行中的某些内容导致了问题。

这是在Docker.DotNet中调用BuildImageFromDockerfileAsync的方法:

static async Task BuildImageFromDockerfile(DockerClient client)
    {
        var parameters = new BuildImageFromDockerfileParameters
        {
            RepositoryTagName = "test-image-python",
            RemoveIntermediateContainers = false
        };

        using (var fileStream = new FileStream(@"C:\Users\Dan\Desktop\DockerProjects\helloworld-py.tar", FileMode.Open))
        {
            await client.Miscellaneous.BuildImageFromDockerfileAsync(fileStream, parameters, new CancellationToken());
        }
    }

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

正在关闭的连接是问题,所以这看起来是Docker.DotNet的问题。希望我有机会在未来几周内创建一个拉取请求并修复它,因为除了BuildFromDockerfile之外,我发现该库非常有用。暂时,我只是在c#中自己打电话给api。 - Dan O' Leary