问题描述
我正在尝试将我的 .net core 3.1 服务容器化到 linux Docker 容器中。所以我有一个 docker-compose
如下:
version: "3.5"
services:
back:
build:
context: ../../
dockerfile: local_deploy/back/docker
container_name: api
restart: always
environment:
- ASPNETCORE_ENVIRONMENT=Development
depends_on:
- db-server
links:
- nats
ports:
- "7000:80"
networks:
- localdev
db-server:
image: microsoft/mssql-server-linux:2017-latest
container_name: db-server
environment:
- ACCEPT_EULA=Y
- MSsql_SA_PASSWORD=1234
- MSsql_TCP_PORT=1433
ports:
- "1400:1433"
networks:
- localdev
nats:
image: 'nats:0.8.0'
entrypoint: "/gnatsd -DV"
expose:
- "4222"
ports:
- "8222:8222"
- "6222:6222"
- "4222:4222"
networks:
- localdev
networks:
localdev:
name: localdev
但该服务也使用 NATS Streaming。因此,当我运行容器时出现错误:
STAN.Client.StanConnectRequestTimeoutException: 无响应 群集 ID 为 'stan-eas' 的流媒体服务器位于 STAN.Client.Connection..ctor(String stanClusterID,String clientID,Stanoptions 选项)
我尝试将 nats-streaming 添加到我的 docker-compose
并通过 -cid
标志指示集群 ID,如下所示:
version: "3.5"
services:
// another services omitted for brevity
nats-0:
container_name: nats-0
hostname: nats-0
image: nats-streaming:0.11.2-linux
depends_on:
- nats
networks:
- localdev
command: -p 4224 -m 8224 -cid stan-eas -store file -dir /datastore -user some_user -pass some_password -ft_group "ft" -cluster nats://nats-0:6222 -routes nats://nats-1:6223
volumes:
- ~/volumes/cherry/data/nats/nats-0:/datastore
ports:
- 4224:4224
- 8224:8224
nats-1:
container_name: nats-1
hostname: nats-1
image: nats-streaming:0.11.2-linux
depends_on:
- nats
networks:
- localdev
command: -p 4223 -m 8223 -cid stan-eas -store file -dir /datastore -user some_user -pass some_password -ft_group "ft" -cluster nats://nats-1:6223 -routes nats://nats-0:6222
volumes:
- ~/volumes/cherry/data/nats/nats-0:/datastore
ports:
- 4223:4223
- 8223:8223
networks:
localdev:
name: localdev
但同样的错误仍然发生。
任何帮助将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)