V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
purolle
V2EX  ›  程序员

Docker 内运行数据库有没有比较好的方法去查看数据?

  •  
  •   purolle · Sep 20, 2023 · 2571 views
    This topic created in 961 days ago, the information mentioned may be changed or developed.

    现在我有多个通过 docker compose 启动的项目,每个项目都有自己的数据库容器,现在想查看数据库的数据。如果通过向外暴露端口查看,每个项目需要分配不同的端口,比较麻烦。有没有别的比较好的方法?

    8 replies    2023-09-20 22:53:05 +08:00
    haimianbihdata
        1
    haimianbihdata  
       Sep 20, 2023 via Android
    nginx 做入口
    jinliming2
        2
    jinliming2  
       Sep 20, 2023 via iPhone
    也许 unix domain sockets 文件?
    mount 一个主机的目录进去,然后数据库应该都支持监听 unix sockets 的吧,unix sockets 文件放到 mount 的主机目录里,然后用这个文件来连接数据库?
    8rmEHZ8WhVHVOb0E
        3
    8rmEHZ8WhVHVOb0E  
       Sep 20, 2023
    你的 docker-compose.yml 文件里可以指定目录映射,可以把配置和数据从宿主目录映射给容器,这样方便修改,容器挂了数据也好恢复,例:

    services:
    mysql:
    image: 'mysql:8.0'
    container_name: mysql_server
    volumes:
    - ./data:/var/lib/mysql # :前面是宿主机目录,绝对路径或者相对 docker-compose.yml ,后面是容器目录
    - ./logs:/var/log/mysql
    - ./conf.d:/etc/mysql/conf.d
    sofukwird
        4
    sofukwird  
       Sep 20, 2023 via Android
    在里面再起一个 socks5 server ,通过 socks5 代理访问管理
    rocmax
        5
    rocmax  
       Sep 20, 2023 via Android
    docker compose 里加个 phpMyAdmin 之类的管理工具 service ,用它连接多个数据库,只对外暴露管理工具的网页端口。
    如果是一个项目一个 docker compose 的话就需要给它们配置成同一个 network
    LifeDesigner
        6
    LifeDesigner  
       Sep 20, 2023
    我的解决方案是启动一个 https://github.com/dbeaver/cloudbeaver ,通过 container_name 链接到不同的数据库上
    mmdsun
        7
    mmdsun  
       Sep 20, 2023
    你的查看工具也按照到 docker 里面同一个网络,容器之间,直接容器名就能访问数据库了。
    再把查看工具映射端口。
    purolle
        8
    purolle  
    OP
       Sep 20, 2023
    @mmdsun 这个方案好,感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3450 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 11:21 · PVG 19:21 · LAX 04:21 · JFK 07:21
    ♥ Do have faith in what you're doing.