Docker构build(MacOS vs Ubuntu)

在Mac OSX上,可以通过Dockerfile构buildDockerfile

 docker build -f Dockerfile . 

而在Debian / Ubuntu上,上述不起作用,它只是挂在那里。

 docker build - < Dockerfile 

但是Mac OSX可以采用这两种语法。 为什么?


这是因为不同的Docker版本或不同的操作系统上的不同Docker?

Mac上的Docker:

 $ docker version Client: Version: 17.03.1-ce API version: 1.27 Go version: go1.7.5 Git commit: c6d412e Built: Tue Mar 28 00:40:02 2017 OS/Arch: darwin/amd64 Server: Version: 17.04.0-ce API version: 1.28 (minimum version 1.12) Go version: go1.7.5 Git commit: 4845c56 Built: Wed Apr 5 18:45:47 2017 OS/Arch: linux/amd64 Experimental: false 

在Ubuntu上的Docker:

 $ docker version Client: Version: 17.06.0-ce API version: 1.30 Go version: go1.8.3 Git commit: 02c1d87 Built: Fri Jun 23 21:23:31 2017 OS/Arch: linux/amd64 Server: Version: 17.06.0-ce API version: 1.30 (minimum version 1.12) Go version: go1.8.3 Git commit: 02c1d87 Built: Fri Jun 23 21:19:04 2017 OS/Arch: linux/amd64 Experimental: false 

如果是不同的Docker版本,是否意味着docker build -f Dockerfile . 由于Mac版本比Ubuntu版本旧,否则不推荐使用?

正如我在我的版本中看到的,它正在工作。 我会让这个答案留在这里,让我们知道这一点

docker build -f Dockerfile .

适用于Mac上的Docker版本3,Ubuntu上的Docker版本5,以及在Ubuntu上的Docker版本6上挂起。

原来的答案:我的系统在ubuntu上运行,我testing了两种构build方法,并且都以相同的方式工作。 第一个存在

docker build -f Dockerfile .

第二个是

docker build - < Dockerfile

也许看看我的docker版本将有助于:

 $ docker version Client: Version: 17.05.0-ce API version: 1.29 Go version: go1.7.5 Git commit: 89658be Built: Thu May 4 22:10:54 2017 OS/Arch: linux/amd64 Server: Version: 17.05.0-ce API version: 1.29 (minimum version 1.12) Go version: go1.7.5 Git commit: 89658be Built: Thu May 4 22:10:54 2017 OS/Arch: linux/amd64 Experimental: false