services:
db:
image: mariadb
ports:
- 3306:3306
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: always
volumes:
- db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=pw
- MYSQL_PASSWORD=pw
- MYSQL_DATABASE=db
- MYSQL_USER=user
我用它来创建数据库,运行docker-compose,然后尝试使用以下方法访问数据库:
sudo mysql -u user -h 127.0.0.1:3306 -p
但是我收到以下错误:
ERROR 2005 (HY000): Unknown MySQL server host '127.0.0.1:3306' (-2)
看来3306端口实际上并未暴露,我不明白为什么。
最佳答案
您的命令语法无效。应该
mysql -u user -h 127.0.0.1 -P 3306 -p
使用默认端口(3306)时,您可以完全省略它。
mysql -u user -h 127.0.0.1 -p
关于database - 无法在Docker外部访问Dockerized数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59510956/