尝试使用 Dokku 链接容器时出错

问题描述 投票:0回答:1

我正在尝试创建一个链接来访问在另一个容器中运行的服务。我使用的命令是:

dokku docker-options:add service deploy,build,run --link service.unoserver.1:unoserver_host

然后

dokku ps:restart service

但是,由于某种原因,dokku 不断在容器名称末尾添加数字(可能是替换容器的名称),我收到以下错误消息:

错误信息:

Error response from daemon: Cannot link to a non running container: /service.unoserver.1.1695992273 AS /sevice.prepareworker.1/unoserver_host

问题:

如何链接容器

service.unoserver.1
以便我可以从容器
service.preparewoker.1
访问它?

docker container ls

CONTAINER ID   IMAGE                         COMMAND                  CREATED         STATUS         PORTS      NAMES
f47bb2ec5626   dokku/service:latest   "unoserver --interfa…"   6 minutes ago   Up 6 minutes   5000/tcp   service.unoserver.1
d35c1a242d52   dokku/service:latest   "python manage.py ru…"   6 minutes ago   Up 6 minutes   5000/tcp   service.prepareworker.1
docker dokku
1个回答
1
投票

使用 docker link 时,跨容器联网需要稳定的容器名称。因此,Dokku 仅将它们用于服务链接。

如果您想跨应用程序联网,您将需要使用网络。以下内容足以创建一个网络并将您的应用程序添加到其中:

# create a network named my-network
dokku network:create my-network

# attach the app to it
dokku network:set node-js-app attach-post-deploy my-network

从那时起,应用程序node-js-app将可以在网络上通过

http://node-js-app.web:5000
访问,其中
web
是进程类型,
5000
是应用程序在容器内侦听的端口。您可以将其他应用程序附加到同一网络以连接到此服务。

请参阅 dokku 网络管理文档,了解有关其工作原理的更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.