相关疑难解决方法(0)

如何在docker中链接容器?

这是我键入时的结果docker ps: 这是我输入docker ps时的图像

在docker中,我有3个容器,webapps,redis和rabbitmq,我很困惑如何将容器webapps链接到容器redis和rabbitmq容器?在非docker应用程序中,mywebapps可以向rabbitmq发送消息并写入/读取reddis.我stil不知道如何链接3那些容器,我尝试使用这样的命令

docker run --name rabbitmq -p 8080:80 --link webapps:nimmis/apache-php7 -d rabbitmq
Run Code Online (Sandbox Code Playgroud)

但它仍然无效

这是我在webapps上的config.php,当我尝试通过rabbitmq发送消息时

define('HOST', 'localhost');
define('PORT', 5672);
Run Code Online (Sandbox Code Playgroud)

我试图用hostname更改localhost

define('HOST', 'rabbitmq');
define('PORT', 5672);
Run Code Online (Sandbox Code Playgroud)

错误消息是连接拒绝...似乎在我的三个容器需要配置/映射/绑定网络在同一个IP?

docker

37
推荐指数
4
解决办法
5万
查看次数

如何将nodeJS docker容器连接到mongoDB

我有问题将作为docker容器运行的nodeJS应用程序连接到mongoDB.让我解释一下到目前为止我所做的事情:

$ docker ps

CONTAINER ID    IMAGE        COMMAND                  CREATED        STATUS        PORTS        NAMES
3a3732cc1d90    mongo:3.4    "docker-entrypoint..."   3 weeks ago    Up 3 weeks    27017/tcp    mongo_live
Run Code Online (Sandbox Code Playgroud)

如您所见,已经有一个mongo docker容器正在运行.

现在我正在运行我的nodeJS应用程序docker容器(这是meteorJS的构建):

$ docker run -it 0b422defbd59 /bin/bash
Run Code Online (Sandbox Code Playgroud)

在这个docker容器中,我想运行以下命令来运行应用程序:

$ node main.js
Run Code Online (Sandbox Code Playgroud)

现在我收到了错误

Error: MONGO_URL must be set in environment
Run Code Online (Sandbox Code Playgroud)

我已经尝试通过设置来设置MONGO_URL:

ENV MONGO_URL mongodb://mongo_live:27017/
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

MongoError: failed to connect to server [mongo_live:27017] on first connect
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何连接到数据库,据我所知 - 在运行容器的"外部".另外,如何为此容器设置新数据库?

mongodb node.js docker

6
推荐指数
1
解决办法
7062
查看次数

标签 统计

docker ×2

mongodb ×1

node.js ×1