【发布时间】:2018-02-22 04:24:54
【问题描述】:
我正在使用 docker-compose 运行一个 docker 堆栈。 docker-compose.yml 如下所示。问题是如果我添加默认用户 root 那么它工作正常但是将用户更改为另一个用户说 tara 会引发错误。
我再说一遍: 适用于用户:root
请注意,我在 3 个具有单个副本的节点上运行它。所以服务可能在任何节点上运行。
"SQLSTATE[HY000] [1130] Host '10.0.10.6' is not allowed to connect to this MySQL server (SQL: select count(*) as aggregate from `users` where `email` = ramesh@gm ▶"
这里是 docker-compose.yml
版本:'3.3'
网络: 短信赌注: ipam: 配置: - 子网:10.0.10.0/24
服务:
db:
image: mysql:5.7
networks:
- smstake
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: smstake
MYSQL_USER: tara
MYSQL_PASSWORD: password
deploy:
mode: replicated
replicas: 1
app:
image: smstake:latest
ports:
- 8000:80
networks:
- smstake
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
phpmyadmin:
image: phpmyadmin/phpmyadmin
networks:
- smstake
environment:
PMA_HOST: db
PMA_PORT: 3306
MYSQL_USER: tara
MYSQL_PASSWORD: password
ports:
- '8082:80'
deploy:
mode: replicated
replicas: 1
卷: db_data:
所有 3 项服务都在运行,只是连接出现问题。
人们建议运行授权命令,但我可以在哪里以及如何运行 让这些命令运行?
【问题讨论】:
-
您应该在标题、标签和第一段中指定这是一个mysql问题。另外,在撰写文件上使用代码格式,这样前几行就不会显示为普通文本。
标签: docker docker-compose docker-swarm docker-swarm-mode docker-stack