Edw*_*ard 6 dns docker docker-compose
我需要从另一个容器中卷曲我的API。容器1称为nginx容器2称为fpm
我需要能够扑向FPM容器并卷曲nginx容器。
配置:
services:
nginx:
build:
context: .
dockerfile: ./docker/nginx/Dockerfile
volumes:
- ./docker/nginx/conf/dev/api.conf:/etc/nginx/conf.d/default.conf
ports:
- 8080:80
links:
- fpm
fpm:
build:
context: .
dockerfile: ./docker/fpm/Dockerfile
volumes:
- .:/var/www/html
- ./docker/fpm/conf/dev/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
- ./docker/fpm/conf/dev/api.ini:/usr/local/etc/php/conf.d/api.ini
env_file:
- ./docker/mysql/mysql.env
- ./docker/fpm/conf/dev/fpm.env
links:
- mysql
shm_size: 256M
extra_hosts:
- myapi.docker:nginx
Run Code Online (Sandbox Code Playgroud)
我最初的想法是将其拍打在以下extra_hosts选项中:
extra_hosts:
- myapi.docker:nginx
Run Code Online (Sandbox Code Playgroud)
但是docker-compose up失败了:
错误:对于apiwip_fpm_1无法为服务fpm创建容器:添加主机中的IP地址无效:“ nginx”
我已经看到了一些使用docker网络配置的人的例子,但是仅仅解析地址似乎是最重要的。
我如何解析/评估容器的IP地址,而不是直接通过容器传递它?
wil*_*aks 14
Add network aliases in the default network.
version: "3.7"
services:
nginx:
# ...
networks:
default:
aliases:
- example.local
browser-sync:
# ...
depends_on:
- nginx
command: "browser-sync start --proxy http://example.local"
Run Code Online (Sandbox Code Playgroud)
小智 7
services:
nginx:
build:
context: .
dockerfile: ./docker/nginx/Dockerfile
volumes:
- ./docker/nginx/conf/dev/api.conf:/etc/nginx/conf.d/default.conf
ports:
- 8080:80
networks:
my_network:
aliases:
- myapi.docker
- docker_my_network
fpm:
build:
context: .
dockerfile: ./docker/fpm/Dockerfile
volumes:
- .:/var/www/html
- ./docker/fpm/conf/dev/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
- ./docker/fpm/conf/dev/api.ini:/usr/local/etc/php/conf.d/api.ini
env_file:
- ./docker/mysql/mysql.env
- ./docker/fpm/conf/dev/fpm.env
links:
- mysql
shm_size: 256M
networks:
- my_network
networks:
my_network:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
@edward 让我知道此解决方案是否适合您
编辑:Jack_Hu 是对的,我删除了 extra_hosts。网络别名就足够了。
我通过使用links而不是extra_hosts.
在这种情况下,只需设置link alias即可。
links
- nginx:myapi.docker
Run Code Online (Sandbox Code Playgroud)
请参阅docker-compose links 文档,别名可以是您代码中出现的域。
| 归档时间: |
|
| 查看次数: |
5720 次 |
| 最近记录: |