mysql - 无法通过我的 docker 容器访问 mysql
问题描述
我通过docker运行mysql,即当我运行docker ps
命令时,我得到这个结果:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fXX3aeXXcXXa mysql:5.7.22 "docker-entrypoint.s…" 35 minutes ago Up 18 minutes 0.0.0.0:3360->3306/tcp db
这是我db
在docker-compose.yml
我的 laravel 根项目中的服务:
# ... other services
db:
image: mysql:5.7.22
container_name: db
restart: unless-stopped
tty: true
ports:
- "3360:3306"
environment:
MYSQL_DATABASE: laravel_db
MYSQL_USER: root
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- dbdata:/var/lib/mysql
- ./DockerDevelopment/mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
# other services ...
所以,我尝试这个命令:docker exec -it db bash
然后转到我的 dockerized db 命令行,我得到这个错误:
root@fXX3aeXXcXXa:/# mysql -u root -p [ENTER]
Enter password: password
错误 1045 (28000): 用户 'root'@'localhost' 的访问被拒绝(使用密码:是)
我应该怎么做才能访问mysql>
我的码头?
解决方案
也许你必须检查你的my.cnf
. 也许你可以提供你的配置。
使用这个 compose 文件连接到 mysql 工作:
version: "3"
services:
db:
image: mysql:5.7.22
container_name: dbvmssettlementiban
restart: unless-stopped
tty: true
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: vms_settlement_iban
MYSQL_USER: root
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
SERVICE_TAGS: dev
SERVICE_NAME: mysql
推荐阅读
- c - 如何读入文件但在#之后跳过字符?
- go - 构建项目时意外的目录布局
- angular - 如何在 Angular 中为不同的模板处理未定义的数组?
- xamarin - 无法将 Firebase 服务器密钥添加到 Appcentre / 推送页面不可见
- python - Python:从函数内部命名类型并在函数外部分配变量
- unix-timestamp - Unix 时间,但有闰秒
- maven - AEM Sites:使用 Maven 构建更新设计规则时过滤器更新失败
- c - 将用户输入与文件中的文本进行比较
- android - 如何将 FCM 消息发送到 MainActivity
- powerbi - 净余额 > 0 的不同用户数