mariadb 通过sock连接到主机mysql数据库

cvxl0en2  于 2022-11-08  发布在  Mysql
关注(0)|答案(1)|浏览(190)

我正在尝试使用Docker容器连接到我的主机上的MySQL数据库(这样我就可以在其他容器中使用它)。

  • 我想这样做,因为我不能从一个docker容器连接到数据库-〉throws Connection refused,因为IP不被允许。*

我尝试使用以下组合安装sock文件:

version: '3'
services:
  mysql:
    image: mariadb:10.3
    volumes:
      - /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock
    networks:
      - database
networks:
  database:
    external: true

但它失败了(即使主机数据库已经包含许多数据库):

2022-06-07 20:14:46+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specified
You need to specify one of MARIADB_ROOT_PASSWORD, MARIADB_ALLOW_EMPTY_ROOT_PASSWORD and MARIADB_RANDOM_ROOT_PASSWORD,

当我加上音量时:- /var/lib/mysql:/var/lib/mysql,我得到了一个Connection refused错误(好像我是正常连接到它,而不是通过unix)

soat7uwm

soat7uwm1#

给你,在问这些类型的问题之前,考虑检查一下文档。

version: 3

services:
  sql:
    image: mariadb:10.3
    container_name: <container_name>
    restart: always
    networks:
      - database
    volumes:
      - <volume>:/var/lib/mysql
      - /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock
    environment:
      MARIADB_RANDOM_ROOT_PASSWORD: 1
      MARIADB_USER: <USER_TO_BE_CREATED>
      MARIADB_DATABASE: <DATABASE_TO_BE_CREATED>
      MARIADB_PASSWORD: <PASSWORD_TO_BE_CREATED>

networks:
  database:
    external: true

相关问题