使用Docker Compose将主服务和从服务链接在一起。因此,Compose通过环境变量自动注入从属容器,该环境变量包含连接到另一个主容器所需的各种端口和IP。
服务通过命令行参数接受主服务器的IP /端口,因此我在 public ParseObject getFriend(String name)
{
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereEqualTo("Name", name);
try {
ParseObject user = query.getFirst();
return user;
} catch (com.parse.ParseException e) {
e.printStackTrace();
return null;
}
中设置了它。
[ x for x in D if x[0] == hash(key) ]
问题是运行compose命令时会评估像commands
这样的环境变量,而不是实际设置它们的容器本身。
启动群集时,您会看到警告:master:
command: myservice
ports:
- '29015'
slave:
command: myservice --master ${MASTER_PORT_29015_TCP_ADDR}:${MASTER_PORT_29015_TCP_PORT}
links:
- master:master
我尝试设置MASTER_PORT_29015_TCP_PORT
但产生了异常行为,其中服务根本看不到任何变量。 (有关信息,我实际使用的服务是RethinkDB)。
答案 0 :(得分:2)
As stated in the documentation,现在不建议使用链接环境变量,您应该只编写master
而不是$MASTER_PORT_29015_TCP_ADDR
。此外,当您知道它的值为29015时,似乎没有任何意义来编写$MASTER_PORT_29015_TCP_PORT
。
因此,请将命令更改为:
myservice --master master:29015