这是我的代码:
#ifndef MY_STRUCTS_HPP
#define MY_STRUCTS_HPP
#include <iostream>
#include <string>
typedef struct {
std::string a;
std::string b;
} Info;
std::ostream &operator<<(std::ostream &o, const Info &rhs);
#endif
我尝试使用docker运行服务容器并将其部署在docker容器主机(sloppy.io)上,此服务调用另一个服务(帐户服务)以从该服务获取帐户和密码并使用用户输入在同一主机上。问题是当我登录我的页面然后502 Bad Gateway显示。跟踪记录我看到错误:TLS握手超时。
我该如何解决这个问题?
答案 0 :(得分:1)
由于您的golang应用程序依赖于帐户服务,您应该在设置中定义此依赖项,并使用docker的网络功能来连接这两种服务。这样做还可以使您能够将任意数量的实例作为docker swarm运行,或者在另一个可扩展的集群基础结构(如sloppy.io)中运行。
这也有一个好处,就是您不需要向公众公开您的后端(帐户服务)。
您可以使用docker-compose或sloppy.io的命令行界面来构建和运行您的应用程序。 Sloppy配置文件与def foo(a):
return {'first' : 'first' + a, 'second' : 'second' + a + 'bar'}
class Thing(object):
def __init__(self, a):
self.__dict__.update(foo(a))
文件非常相似。见http://kb.sloppy.io/features/connecting-containers
以下是In [1233]: f = Thing('test')
In [1234]: f.first
Out[1234]: 'firsttest'
In [1235]: f.second
Out[1235]: 'secondtestbar'
docker-compose.yml
这仅涵盖基本配置。您可能希望添加卷和环境变量。如果您已经有一个现有的docker-compose.yml,可以使用sloppose(github.com/sloppyio/sloppose)将其转换为sloppy.yml。
答案 1 :(得分:0)
这两项服务都是在sloppy.io上运行的吗?