Я хочу назначить статический ip для nginx, но он вообще не работает. Понятия не имею, где я делаю не так. Не могли бы вы помочь?
docker.compose.yml
version: '3'
services:
web:
container_name: nginx
image: nginx:latest
ports:
- "9000:80"
volumes:
- .:/var/www/html/resta
- ./docker/nginx.conf:/etc/nginx/conf.d/default.conf
networks:
default:
ipv4_address: 172.25.0.9
redis:
container_name: redis
image: redis
ports:
- "6379:6379"
mysql:
container_name: mysql
image: mysql
ports:
- "33061:3306"
- "3306:3306"
volumes:
- ./docker/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
php:
container_name: php
build: docker
image: php:fpm
volumes:
- .:/var/www/html/resta
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.25.0.0/24
Выдает такую ошибку.
ERROR: for web user specified IP address is supported only when connecting to networks with user configured subnets
ERROR: Encountered errors while bringing up the project.
почему выдает такую ошибку?
возможно, у вас проблема с отступом. Ваши службы должны иметь отступ как дочерние элементы services:
, как показано ниже:
version: '3'
services:
web: [...]
redis: [...]
mysql: [...]
php: [...]
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.25.0.0/24
Ваш последний docker-compose.yml
должно выглядеть так:
version: '3'
services:
web:
container_name: nginx
image: nginx:latest
ports:
- "9000:80"
volumes:
- .:/var/www/html/resta
- ./docker/nginx.conf:/etc/nginx/conf.d/default.conf
networks:
default:
ipv4_address: 172.25.0.9
redis:
container_name: redis
image: redis
ports:
- "6379:6379"
mysql:
container_name: mysql
image: mysql
ports:
- "33061:3306"
- "3306:3306"
volumes:
- ./docker/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: password
php:
container_name: php
build: docker
image: php:fpm
volumes:
- .:/var/www/html/resta
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.25.0.0/24
Отметьте эту ссылку как ссылку: Ссылка на конфигурацию сети Docker Compose