使用SQL客户端或终端,一旦创建mariadb容器,将无法访问mysql数据库。我们可以访问容器内部的数据库,但不能从外部访问。从外部,只有重新启动容器后,我们才能访问数据库。下面是我的配置,请帮忙!
services:
db:
image: mariadb:10.4.10
restart: always
environment:
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: pwd@123
MYSQL_DATABASE: homestead
MYSQL_USER: my_user
MYSQL_PASSWORD: pwd@123
command: --init-file /data/application/init.sql
ports:
- "33067:3306"
volumes:
- ../mariadb/init.sql:/data/application/init.sql
networks:
my_net:
ipv4_address: 172.27.1.7
尝试从主机访问时出现错误,无法从主机和另一个容器访问
yah@yahv:~/yah/docker/myDock$ mysql -umy_user -ppwd@shroot -h172.27.1.7 -P3306
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 2003 (HY000): Can't connect to MySQL server on '172.27.1.7' (111)
几个小时后,不确定确切多少时间,我能够访问数据库。我确定这是在不重新启动容器的情况下发生的,但是不确定数据库内部的sql进程是否已重新启动!
答案 0 :(得分:0)
此行
1
您的连接线必须为
ports:
- "33067:3306"