docker - 在有连接问题的 docker-compose 中,在 root 旁边创建新用户

标签 docker docker-compose docker-swarm docker-swarm-mode docker-stack

我正在使用 docker-compose 运行一个 docker 堆栈。 docker-compose.yml 如下所示。问题是如果我添加默认用户 root 那么它工作正常但将用户更改为另一个用户说 塔拉 抛出错误。

我再说一遍:
适用于用户: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

卷:
数据库数据:

所有 3 个服务都在运行,只是连接有问题。

People are suggesting to run grant commands but where and how can I make those commands run ?

最佳答案

显示运行过程

docker ps

连接到mysql运行容器
docker exec -it MYSQL-CONTAINER-NAME /bin/bash

一旦进入容器,连接到数据库并创建用户等等。

关于docker - 在有连接问题的 docker-compose 中,在 root 旁边创建新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48919649/

相关文章:

windows - 适用于 Windows 的 Docker 镜像

docker - 当主机文件夹的内容更改时自动重新启动 Docker 容器

docker - `docker stack`特定的日志位置

docker - 路由到为初始请求提供服务的后端容器的同一实例

docker - Docker Swarm收听Manager和工作节点的ISP ip

c# - 使用外部 WCF 服务时,在 docker 内运行的 Dotnet 核心 Web api 无法进行身份验证

php - Docker LAMP堆栈-保存PHP项目的位置在哪里?

docker-compose - 为 Cloudformation ECS + Fargate 部署添加环境变量

docker - 在 dockerfile 中安装包

django - HTTPConnectionPool(主机 ='0.0.0.0',端口=5000): Max retries exceeded with url