1
我想在遠程linux虛擬機上使用Docker.DotNet(Docker Rest Api的ac#封裝)創建一個映像,但是隻有我的Dockerfile的第一行被讀取: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());
}
}
任何幫助,將不勝感激。
UPDATE:在追問,在/var/log/upstart/docker.log日誌,我收到此錯誤信息:客戶端斷開,取消作業:建立 –
連接被關閉了的問題,所以這看起來是Docker.DotNet的問題。希望我有機會創建一個pull請求並在接下來的幾周內解決這個問題,除了BuildFromDockerfile之外,我發現這個庫非常有用。就目前而言,我只是在c#中自己調用api。 –