在Mac OSX上,可以通过Dockerfile
来构建泊坞窗图像:
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版本,是否因为Mac版本早于Ubuntu版本而不推荐使用docker build -f Dockerfile .
?
答案 0 :(得分:2)
正如我在我的版本中看到的那样,它正在发挥作用。我会让这个答案留在这里,以便我们知道
docker build -f Dockerfile .
适用于mac上的docker版本3,ubuntu上的docker版本5,并挂载在ubuntu上的docker版本6上。
原始答案: 我的系统在ubuntu上运行,我测试了两种构建方法,并且都以相同的方式工作。第一个是
docker build -f Dockerfile .
和第二个
docker build - < Dockerfile
也许看看我的码头版本会有所帮助:
$ 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