【发布时间】:2021-09-01 13:28:28
【问题描述】:
我已经使用 docker-compose 在两个 ubuntu vps 上安装了两个相同的 docker。 令人担忧的是,第一个效果很好,并且它之间的对话很好,第二个不行。 我看到的是1 /中默认设置的ip是172.X.X.X,2 /中设置的ip是192.X.X.X。 我在处女 vps,没有特定的配置文件......但我不明白这是怎么可能的。 这是 docker-compose
version: '2.4'
services:
redis:
image: redis:alpine
db:
image: mariadb:10.5
working_dir: /application
command: [mysqld, --character-set-server=utf8mb4, --collation-server=utf8mb4_unicode_ci, --innodb-file-format=Barracuda, --innodb-large-prefix=1, --innodb-file-per-table=1]
volumes:
- pimcore-demo-database:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=ROOT
- MYSQL_DATABASE=pimcore
- MYSQL_USER=pimcore
- MYSQL_PASSWORD=pimcore
php:
image: pimcore/pimcore:PHP8.0-apache
volumes:
- .:/var/www/html:cached
ports:
- 80:80
- 443:443
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html/public
php-debug:
image: pimcore/pimcore:PHP8.0-apache-debug
volumes:
- .:/var/www/html:cached
ports:
- 88:80
environment:
- PHP_IDE_CONFIG="serverName=localhost"
- APACHE_DOCUMENT_ROOT=/var/www/html/public
volumes:
pimcore-demo-database:
提前谢谢你
【问题讨论】:
-
为什么特定的 IP 地址很重要?一般来说,Docker 会自己分配 IP 地址,并安排一些事情,以便 Compose 服务名称可以用作主机名;您通常不需要查看确切的地址。
-
确实,问题在于 docker 无法从外部访问,因此 Php 砖无法与 db 对话。所以我比较了另一个 vps 上的相同安装,这就是我注意到的不同之处。那么为什么docker会自动分配一个不可达的ip呢?
标签: docker docker-compose bridge