Docker build_image 无法访问我的本地 Maven 存储库
Docker build_image cannot reach my local maven repo
嗨 运行 docker:引擎:17.12.0-ce Mac 10.12.6
我正在使用 build_image 功能。
FROM openjdk:8-jdk-alpine AS BUILD_IMAGE
ENV APP_ENVIROMENT=dev
ENV APP_RUNTIME=docker
ENV BUILD_HOME=/build
COPY . $BUILD_HOME
WORKDIR $BUILD_HOME
RUN wget http://xxx.xxx.xxx.xxx:8081
出现以下错误。我很确定可以从我的 laptop/wifi 和 VPN
访问服务器
...
removing intermediate container e5519d15a106
---> b3a3dd24343f
Step 7/16 : RUN wget http://xxx.xxx.xxx.xxx:8081
---> Running in 49fdabef0923
Connecting to xxx.xxx.xxx.xxx:8081 (xxx.xxx.xxx.xxx:8081)
wget: can't connect to remote host (xxx.xxx.xxx.xxx): Host is unreachable
似乎是 DNS 问题,我的 /etc/resolv.conf 非常好,而且我很确定机器可以访问。看起来我网络上的一些机器可以访问,而另一些则不能访问。
我可以用
测试
RUN ping xxx.xxx.xxx.xxx
结果:
PING xxxxxx.mydomain.com (xxx.xxx.xxx.xxx): 56 data bytes
--- xxxxxx.mydomain.com ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
The command '/bin/sh -c ping -c 4 xxxxxx.mydomain.com' returned a non-zero code: 1
更新。添加名称以明确。
FROM openjdk:8-jdk-alpine AS BUILD_IMAGE
ENV APP_ENVIROMENT=dev
ENV APP_RUNTIME=docker
ENV BUILD_HOME=/build
COPY . $BUILD_HOME
WORKDIR $BUILD_HOME
RUN wget http://myserver.domain.net:8081
docker 构建的结果:
---> 76c263fb4490
Step 7/15 : RUN wget http://myserver.domain.net:8081
---> Running in ef2b13c77b91
Connecting to myserver.domain.net:8081 (10.0.0.1:8081) <-- I.P redacted to protect the inocent. :p
wget: can't connect to remote host (10.0.0.1): Host is unreachable
The command '/bin/sh -c wget http://myserver.domain.net:8081' returned a non-zero code: 1
从我的控制台...
wget http://myserver.domain.net:8081
--2018-02-15 10:36:44-- http://myserver.domain.net:8081/
Resolving myserver.domain.net... 10.0.0.1
Connecting to myserver.domain.net|10.0.0.1|:8081... connected.
HTTP request sent, awaiting response... 200 OK
很明显,您可以看到 docker 正在解析 I.P 并且我的笔记本电脑可以连接。
docker 网桥与我的网络冲突。我们需要在 daemon.json
中输入
{
"bip": "172.26.0.1/16"
}
您可以使用任何适合您的值。
嗨 运行 docker:引擎:17.12.0-ce Mac 10.12.6
我正在使用 build_image 功能。
FROM openjdk:8-jdk-alpine AS BUILD_IMAGE
ENV APP_ENVIROMENT=dev
ENV APP_RUNTIME=docker
ENV BUILD_HOME=/build
COPY . $BUILD_HOME
WORKDIR $BUILD_HOME
RUN wget http://xxx.xxx.xxx.xxx:8081
出现以下错误。我很确定可以从我的 laptop/wifi 和 VPN
访问服务器...
removing intermediate container e5519d15a106
---> b3a3dd24343f
Step 7/16 : RUN wget http://xxx.xxx.xxx.xxx:8081
---> Running in 49fdabef0923
Connecting to xxx.xxx.xxx.xxx:8081 (xxx.xxx.xxx.xxx:8081)
wget: can't connect to remote host (xxx.xxx.xxx.xxx): Host is unreachable
似乎是 DNS 问题,我的 /etc/resolv.conf 非常好,而且我很确定机器可以访问。看起来我网络上的一些机器可以访问,而另一些则不能访问。
我可以用
测试RUN ping xxx.xxx.xxx.xxx
结果:
PING xxxxxx.mydomain.com (xxx.xxx.xxx.xxx): 56 data bytes
--- xxxxxx.mydomain.com ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
The command '/bin/sh -c ping -c 4 xxxxxx.mydomain.com' returned a non-zero code: 1
更新。添加名称以明确。
FROM openjdk:8-jdk-alpine AS BUILD_IMAGE
ENV APP_ENVIROMENT=dev
ENV APP_RUNTIME=docker
ENV BUILD_HOME=/build
COPY . $BUILD_HOME
WORKDIR $BUILD_HOME
RUN wget http://myserver.domain.net:8081
docker 构建的结果:
---> 76c263fb4490
Step 7/15 : RUN wget http://myserver.domain.net:8081
---> Running in ef2b13c77b91
Connecting to myserver.domain.net:8081 (10.0.0.1:8081) <-- I.P redacted to protect the inocent. :p
wget: can't connect to remote host (10.0.0.1): Host is unreachable
The command '/bin/sh -c wget http://myserver.domain.net:8081' returned a non-zero code: 1
从我的控制台...
wget http://myserver.domain.net:8081
--2018-02-15 10:36:44-- http://myserver.domain.net:8081/
Resolving myserver.domain.net... 10.0.0.1
Connecting to myserver.domain.net|10.0.0.1|:8081... connected.
HTTP request sent, awaiting response... 200 OK
很明显,您可以看到 docker 正在解析 I.P 并且我的笔记本电脑可以连接。
docker 网桥与我的网络冲突。我们需要在 daemon.json
中输入{
"bip": "172.26.0.1/16"
}
您可以使用任何适合您的值。