【问题标题】:Connect to docker mysql through Sequel Pro mac通过Sequel Pro mac连接docker mysql
【发布时间】:2021-01-08 16:32:33
【问题描述】:

我正在尝试通过 Sequel Pro 连接到我机器上正在运行的 Docker SQL 数据库,不幸的是,通过这种方法连接到它失败/不可能?

我的docker-compose.yml 文件是:

version: "3.7"
services:
  app:
    build:
      args:
        user: user
        uid: 1000
      context: ./
      dockerfile: Dockerfile
    image: brand
    container_name: brand-app
    restart: unless-stopped
    working_dir: /var/www/
    volumes:
      - ./:/var/www
    networks:
      - brand

  db:
    image: mysql:5.7
    container_name: brand-db
    restart: unless-stopped
    ports:
      - 3306:3306
    environment:
      MYSQL_DATABASE: ${DB_DATABASE}
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MYSQL_PASSWORD: ${DB_PASSWORD}
      MYSQL_USER: ${DB_USERNAME}
      SERVICE_TAGS: dev
      SERVICE_NAME: mysql
    volumes:
      - ./docker-compose/mysql:/docker-entrypoint-initdb.d
    networks:
      - brand

  nginx:
    image: nginx:alpine
    container_name: brand-nginx
    restart: unless-stopped
    ports:
      - 8000:80
    volumes:
      - ./:/var/www
      - ./docker-compose/nginx:/etc/nginx/conf.d/
    networks:
      - brand

networks:
  brand:
    driver: bridge

我正在尝试使用以下方式连接:

127.0.0.1 根 根 3306端口

似乎失败了……不知道如何连接

docker-compose up 正在运行,我的容器都在运行

【问题讨论】:

  • 检查你是否也在你的mac中运行mysql。如果是,那可能绑定到 3306 端口,并且您在 docker 中运行的 mysql 可能无法启动。使用docker-compose logs -f db 查看日志。

标签: mysql laravel docker


【解决方案1】:

我也遇到过这个问题。 处理此问题的原因是将您的 database_host 更改为您在docker-compose.yml 中给出的名称

例如:

this.connection = mysql.createConnection({
    host: 'db' || '127.0.0.1',
    user: 'root',
    password: '123',
    database: 'CHIRINOS',
    port: 3306
});

这里db in host 是您的 docker 容器的数据库名称

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-23
    • 2015-03-31
    • 2018-12-13
    • 1970-01-01
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    相关资源
    最近更新 更多