version: '3'
services:
app:
build: .
ports:
- "8000:8000"
volumes:
- .:/srv/redditaurus
environment:
- REDDIT_KEY=${REDDIT_KEY}
- REDDIT_SECRET=${REDDIT_SECRET}
links:
- mysql:mysql
mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
# volumes:
# - ./mysql:/var/lib/mysql/
nginx:
image: nginx
ports:
- "80:80"
Это мой docker-compose.yml. Странная вещь происходит. Я могу посетить localhost: 8000 и получить приложение redditaurus без каких-либо проблем. Однако, если я попытаюсь сделать то же самое с localhost: 80 или localhost: 3306 с терминала mysql, я получу отказ в доступе или ERR_EMPTY_RESPONSE.
Если я попытаюсь 0.0.0.0:80, я получу страницу nginx по умолчанию, так что все в порядке, но почему не работает localhost?
MySQL отказывается обслуживаться на localhost или 0.0.0.0. Я попытался получить доступ к нему из Sequel Pro, из связанного контейнера и из консоли моего хост-компьютера, и ничто не может попасть в него. Если я выполняю exec в контейнере SQL, я могу просто войти в систему, так что это не проблема с паролем.
Почему я не могу нормально добраться до своих контейнеров? (