Я читал, здесь , здесь , здесь , здесь , здесь
ни один из которых не отвечает на мой вопрос.
Что я хочу сделать?
У меня есть образ mysql docker-compose, и я хочу подключиться к нему с моего хоста Ubuntu, используя
localhost:3306
это не работает
работает, если я использую
0.0.0.0:3306
что я не хочу делать. Почему я хочу сделать все это? потому что я должен начать работать над oooold устаревшим приложением, которое имеет старую версию mysql. Теперь у меня есть mysql 8.0 на моем компьютере, и я не хочу понижать версию только для этого одного проекта. Унаследованный код содержит около 1000 ссылок на localhost: 3306. Теперь я мог бы реорганизовать все это, создать файл конфигурации и т. Д., Но лучше было бы, если бы я мог заставить его работать так, чтобы localhost: 3306 фактически получал доступ к моему контейнеру mysql docker-compose. Это возможно? Что мне нужно добавить в мой yaml-файл docker-compose?
Мой файл yaml для docker-compose mysql такой:
version: '3.3'
services:
sciodb:
container_name: sciodb
image: mysql:5.6
restart: always
environment:
MYSQL_DATABASE: 'db'
# So you don't have to use root, but you can if you like
MYSQL_USER: 'myuser'
# You can use whatever password you like
MYSQL_PASSWORD: 'test1234'
# Password for root access
MYSQL_ROOT_PASSWORD: 'test1234'
ports:
# <Port exposed> : < MySQL Port running inside container>
- '3306:3306'
expose:
# Opens port 3306 on the container
- '3306'
# Where our data will be persisted
volumes:
- /home/myuser/nmyapp_db:/var/lib/mysql
- /media/sf_vmwareshare:/var/vmwareshare