docker - 连接两个 docker 容器

标签 docker docker-compose dockerfile docker-swarm

我有两个现有的 docker 容器 web 和 db。我想链接这两个容器,以便它们相互通信。如果我使用 --link 命令意味着它将网络链接到新图像而不是数据库。

最佳答案

使用 --link是在 docker 网络出现之前连接容器的唯一方法。这些为容器间通信问题提供了一个“更干净”的解决方案,同时解决了链接的两个主要限制:

  1. 重新启动链接容器会断开链接
  2. 不支持在不同主机上运行的容器之间建立链接

使用 docker 网络,您将使用 --net在指定网络上启动容器的选项:

docker network create example
docker run -d --net example --name container1 <image>
docker run -d --net example --name container2 <image>

此时 2 个容器可以通过地址 <container-name>.example 相互访问。 :即container1.examplecontainer2.example .

关于docker - 连接两个 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45481943/

相关文章:

对于嵌套的忽略文件,Docker 构建有时会在 "file not found or excluded by .dockerignore"上失败

docker - 谷歌云上基于 Windows 的容器运行

PHP 容器无法连接到 MySQL 容器

bash - 如何在停止/未启动 docker 容器中编辑文件

docker: MISCONF Redis配置保存RDB快照

docker - wurstmeister 的 Kafka-docker 容器扩展失败,错误为 "advertised listeners are already registered by broker 1001"

Laravel:使用 Docker 获得负载平衡 AWS Elastic Beanstalk 背后的正确 IP

ruby-on-rails - 无法在Docker容器上安装gems

opencv - 在 ARM Docker 容器中构建 OPENCV 时出现问题

mysql - Dockerfile 不从我的 initialize.sql 创建表