docker 起的 MySQL 如何在其他容器里使用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Rebron1900
V2EX    Docker

docker 起的 MySQL 如何在其他容器里使用?

  •  
  •   Rebron1900 2023-12-15 17:44:52 +08:00 2391 次点击
    这是一个创建于 741 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我目前起了一个 MySQL ,一个 Ghost ,都是通过 docker-compose 文件拉的,目前是想在 Ghost 中使用 MySQL 容器提供的服务。

    我目前的尝试是通过 docker network create -d bridge mysql-net 创建了一个网络,然后分别在 MySQL 、Ghost 的配置文件中通过networks 项配置,但是 up 的时候提示 service "mysql" refers to undefined network mysql-net: invalid compose projec

    另外,我看很多都是把 MySQL 和主程序都写在一个 yml 文件里, 但是这样我就有个疑问,多个使用了 mysql 的服务,会产生资源浪费吗?

    20 条回复    2023-12-16 10:13:49 +08:00
    hefish
        1
    hefish  
       2023-12-15 17:47:07 +08:00
    把主机的 3306 映射进容器啊。。
    其他容器就连主机的 3306
    leadfast
        2
    leadfast  
       2023-12-15 17:50:05 +08:00
    docker-compose.yml 文件里
    ```
    app:
    networks: ['mysqlnet']

    networks:
    mysqlnet:
    external: true
    ```
    storyxc
        3
    storyxc  
       2023-12-15 18:00:13 +08:00
    把服务放到同一个 docker 网络里 或者映射了端口通过宿主机的端口访问
    zhangxudong
        4
    zhangxudong  
       2023-12-15 18:04:01 +08:00
    同一台机器,所有的容器共用一个 docker 网络
    不同机器,要么用 docker-swarm 组网,要么把 3306 映射到宿主机上,其他机器连宿主机的 ip
    julyclyde
        5
    julyclyde  
       2023-12-15 18:34:56 +08:00
    你有没有发现
    如果不用 docker ,这些问题你根本就不会遇到
    lovelylain
        6
    lovelylain  
       2023-12-15 18:42:32 +08:00 via Android
    @julyclyde 不用 docker-compose 就行
    julyclyde
        7
    julyclyde  
       2023-12-15 18:44:33 +08:00
    @lovelylain 按说 compose 也没多做啥事吧?只要(创建网络、把容器加入该网络)都做对了,应该和单独使用 docker 没什么区别啊

    不过得看版本,旧 compose 好像缺一些功能

    更简单的是根本别用
    A01514035
        8
    A01514035  
       2023-12-15 18:50:10 +08:00
    非常喜欢 docker compose 。这样不会忘记 docker run 的时候用了哪些参数了。
    至于你说的这个网络问题,我基本上都会指定网络,这样所有的服务都在同一个 docker 网络里了。
    ```yml
    version: '3.3'
    services:
    alist:
    restart: always
    volumes:
    - '/xxx/targz:/data'
    - '/xxxx/alist:/opt/alist/data'
    ports:
    - '4035:5244'
    container_name: alist
    image: 'xhofe/alist:latest'
    networks:
    - mynet # 指定网络
    networks:
    mynet:
    external: true
    ```
    lovelylain
        9
    lovelylain  
       2023-12-15 18:57:32 +08:00 via Android
    @julyclyde 学习成本高一些,OP 没用对
    julyclyde
        10
    julyclyde  
       2023-12-15 18:59:41 +08:00
    @lovelylain 主要是走弯路
    docker (及其附属工具)是一个值得单独一学的东西
    但是很多人都是在学其他东西的路上,看到文档说“我们提供了”于是就开始用,结果因为之前没好好学过,而遭遇了额外的麻烦,额外的麻烦!
    julyclyde
        11
    julyclyde  
       2023-12-15 19:00:20 +08:00
    @A01514035 你说的这个 compose 的好处,其实是 docker 本身的缺点
    容器包含的信息量还是略少,缺少运行时的内容,甚至可以认为只交付了文件系统压缩包而已
    simple2025
        12
    simple2025  
       2023-12-15 19:05:52 +08:00
    我记得好像可以不要 network,还是把 network 设置成 localhost 去了
    A01514035
        13
    A01514035  
       2023-12-15 19:11:10 +08:00
    是的,我现在所有 docker 运行的应用都是转换成 docker compose 来使用。借楼求一个 docker run 转 docker compose yml 的工具,composerize 有点难用,有时候会出错。
    rwecho
        14
    rwecho  
       2023-12-15 19:26:34 +08:00
    创建一个网络,可以在不同 docker-compose 访问
    itechify
        15
    itechify  
    PRO
       2023-12-15 20:37:46 +08:00 via Android
    思路正确,姿势不对
    hs0000t
        16
    hs0000t  
       2023-12-15 20:40:22 +08:00 via Android
    @A01514035 扔给 chatgpt 就行了
    julyclyde
        17
    julyclyde  
       2023-12-15 20:40:51 +08:00
    @A01514035 前几天/t/996880 有讨论
    GG668v26Fd55CP5W
        18
    GG668v26Fd55CP5W  
       2023-12-15 20:49:26 +08:00 via iPhone
    mysql-net 设置 attachable 为 true

    其他的应用连接到 mysql-net 时设置 external 为 true
    BeautifulSoap
        19
    BeautifulSoap  
       2023-12-15 20:59:04 +08:00
    这帖子令人绷不住,2L 都基本把正确答案写出来了。。。。。
    Rebron1900
        20
    Rebron1900  
    OP
       2023-12-16 10:13:49 +08:00
    @falcon05 @leadfast 可以了,感谢。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1144 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 17:51 PVG 01:51 LAX 09:51 JFK 12:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86