查找用于添加等待的 Docker 容器 IP



我有一个包含 2 个容器的 docker 组合文件要启动。我想等待数据库容器启动,然后再启动我的 Web 服务器容器。

我有一个脚本可以等到给定的主机:端口可访问。 我当前的 docker 文件如下所示:

version: '3'
    services:
      db:
        image: <image repo url>
        ports:
          - "5500:5500"
      web:
        image: <image repo url>
        ports:
         - "7001:7001"

我的计划是修改 Web 图像,并在我继续提出它之前首先使用等待脚本。

但是,我遇到的问题是我如何从 Web 容器中知道数据库容器的 ip 以作为 ping 进行测试?

你能做的是:

CONTAINER_ID=`docker-compose ps -q web`
docker inspect -f '{{range .NetworkSettings.Networks} }{{.IPAddress}}{{end}}' $CONTAINER_ID

这样,可以先获取容器 ID,然后获取 IP。

我希望它有所帮助,

最新更新