我在Azure VM内运行一个Ubuntu 16.04(Xenial),已按照说明安装了Docker,看起来一切正常。当我触发docker run
时,需要做的一件事情是传递--net=host
,这允许我在容器内运行apt-get update
和其他需要互联网的命令。
然而问题出现在我尝试基于现有的Ubuntu镜像触发docker build
时。它会失败:
问题在于没有办法将--net=host
传递给构建命令。我看到Docker GitHub上有相关问题(#20987,#10324),但没有明确的解决方案。
Stack Overflow上有一个现有的答案,涵盖了我想要的场景,但在云VM内运行不起作用。
对此有任何想法吗?
更新1:
这是docker version
输出:
Client:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 22:11:10 2016
OS/Arch: linux/amd64
Server:
Version: 1.12.0
API version: 1.24
Go version: go1.6.3
Git commit: 8eab29e
Built: Thu Jul 28 22:11:10 2016
OS/Arch: linux/amd64
更新2:
这里是docker network ls
的输出结果:
NETWORK ID NAME DRIVER SCOPE
aa69fa066700 bridge bridge local
1bd082a62ab3 host host local
629eacc3b77e none null local
ping
和curl
都可以直接在虚拟机上运行。但是docker build
仍然失败。 - Dendocker run
时,我可以传递--net=host
,然后ping
、apt-get
和curl
就会工作。没有办法将--net=host
传递给docker build
,否则将会失败。 - Den