我在Docker 18.06.1-ce中使用Rancher 1.6.21(env:default Cattle),我的问题是在同一堆栈中链接不能正常工作,因此服务无法通信.
我尝试从Rancher Catalog安装Docker Registry堆栈,我在容器日志中遇到错误,因为主机不可访问,比如'db'.链接存在于配置中,在容器shell中按名称(链接名称或容器名称)ping服务导致找不到主机但是通过IP它可以工作.在容器主机文件中,没有相应链接的条目.
我还尝试了一些事情,比如使用简单的mysql数据库容器和openjdk springboot hello-world app容器创建另一个堆栈,我遇到了同样的问题,并将网络类型从托管更改为桥接但这具有相同的效果.奇怪的是,相同的配置适用于具有相同规格的其他服务器(其他客户端).
为什么会发生这种情况的任何想法?我认为Rancher的配置有问题,但无法确定是什么.
提前致谢.
编辑: 经过一些更多的文档,我发现,因为我们在牧场主使用CATTLE编排,所有网络管理都是由他们的服务(一些容器,ipsec,cni-driver,元数据和网络管理器)完成的,所以我认为可能存在问题但是在重新创建设置后我仍然有同样的问题,另一个奇怪的事情是创建一个带有2个基本ubuntu容器的简单堆栈并"链接"它们,他们可以通过他们的dns(网络,没有主机条目)名称看到对方.
db:
image: mysql:5.7.10
environment:
MYSQL_DATABASE: portus
MYSQL_ROOT_PASSWORD: ${ROOTPASSWORD}
MYSQL_USER: portus
MYSQL_PASSWORD: ${DBPASSWORD}
tty: true
stdin_open: true
volumes:
- ${DIR}/db:/var/lib/mysql
labels:
registry.portus.db: 1
sslproxy:
image: nginx:1.9.9
tty: true
stdin_open: true
links:
- portus:portus
volumes:
- ${DIR}/certs:/etc/nginx/certs:ro
- ${DIR}/proxy:/etc/nginx/conf.d:ro
labels:
io.rancher.scheduler.affinity:container_label_soft: registry.portus.db=1
registry:
image: registry:2.3.1
environment:
REGISTRY_LOG_LEVEL: warn
REGISTRY_STORAGE_DELETE_ENABLED: true …Run Code Online (Sandbox Code Playgroud) 在使用"yarn start"启动后,我无法使用默认管理员登录或测试生成的JHipster(4.2.0)单片应用程序(maven,mysql on dev&prod,ES,Angular4 with i18n - no proxy set)(与"./一起使用) mvnw"虽然).
控制台日志:
同时从本地主机试图代理请求/ API /轮廓信息发生[HPM]错误:9060至http://127.0.0.1:8080(ECONNREFUSED)(https://nodejs.org/api/errors.html#errors_common_system_errors)同时从本地主机试图代理请求/ API /帐户发生[HPM]错误:9060至http://127.0.0.1:8080(ECONNREFUSED)(https://nodejs.org/api/errors.html#errors_common_system_errors)HPM 9060到:]而试图代理请求/ API /轮廓信息从本地主机时发生错误http://127.0.0.1:8080(ECONNREFUSED)(https://nodejs.org/api/errors.html#errors_common_system_errors)HPM 9060到:]而试图代理请求/ API /认证从本地主机时发生错误http://127.0.0.1:8080(ECONNREFUSED)(https://nodejs.org/api/errors.html#errors_common_system_errors)[HPM]错误而从本地主机试图代理请求/ API /注销发生了:9060到http://127.0.0.1:8080(ECONNREFUSED)(https://nodejs.org/api/errors.html#errors_common_system_errors)
在开始之前,我使用包装器运行了maven测试并启动了mysql和elasticsearch docker容器(在src/main/docker中生成).
任何想法都将非常感谢,提前感谢.