gpt4 book ai didi

php - 将 php 容器与 mongodb 容器链接

转载 作者:行者123 更新时间:2023-12-04 19:09:55 24 4
gpt4 key购买 nike

我是 Docker 和 Mongodb 的新手。我有一个带有数据库和集合的 mongodb 容器。我使用以下命令用 php 和 apache 创建了另一个容器:

docker run -d -p 8020:80 --name my-php-apache php:7-apache

为了能够连接到 mongodb 容器(my-mongo),我需要将此容器链接到 mongodb 容器。所以我使用以下命令链接两个容器:
docker run -d -p 8020:80 --link my-mongo --name php-mongo-link php:7-apache

但它显示以下错误:
b36e400bb5c0d229f952a7b365d5a8bfed402410bdb5a802f29fd2fdc1ef28f9

docker: Error response from daemon: driver failed programming external connectivity on endpoint php-mongo-link (ec4eb66d0a314201c99f79eb4a09cf82ffb2fc399647020adaf34932878857b7): Bind for 0.0.0.0:8020 failed: port is already allocated.

要链接容器,php-apache (8020:80) 和 php-mongo-link 的端口是否应该相同?或者他们应该不同?有没有更好的方法来链接 2 个容器(php-apache 和 mongodb)?我只需要从 php 容器连接到 mongodb 容器即可在 mongodb 数据库中插入一些数据。

最佳答案

问题是您将两个容器暴露在同一个端口 8020 ,所以必须收听 8021 .

摘自 https://docs.docker.com/engine/reference/commandline/run/

Publish or expose port (-p, --expose)

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

This binds port 8080 of the container to TCP port 80 on 127.0.0.1 of the host machine. You can also specify udp and sctp ports. The Docker User Guide explains in detail how to manipulate ports in Docker.

关于php - 将 php 容器与 mongodb 容器链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58701187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com