V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
l4ever
V2EX  ›  Docker

同样是 bridge 模式, 为什么在 podman 环境中. 用 docker-compose 启动的两个服务之间无法通过服务名称相互通讯?

  •  
  •   l4ever · 2022-08-25 10:44:45 +08:00 · 1462 次点击
    这是一个创建于 816 天前的主题,其中的信息可能已经有所发展或是发生改变。
    docker -v
    Docker version 20.10.17, build 100c701
    
    podman -v
    podman version 4.0.2
    

    分别在上述环境中使用 docker-compose 启动下述两个服务, 在 docker 环境下, exec 到 next-terminal 可以 ping guacd 可以通 在 podman 下 ping 不通.

    version: '3.3'
    services:
      guacd:
        image: dushixiang/guacd:latest
        volumes:
          - ./data:/usr/local/next-terminal/data
        restart:
              always
              
      next-terminal:
        image: dushixiang/next-terminal:latest
        environment:
          DB: sqlite
          GUACD_HOSTNAME: guacd
          GUACD_PORT: 4822
        ports:
          - "8088:8088"
        volumes:
          - /etc/localtime:/etc/localtime
          - ./data:/usr/local/next-terminal/data
        restart:
          always
    
    
    7 条回复    2022-08-26 11:18:19 +08:00
    ccccccccw
        1
    ccccccccw  
       2022-08-25 13:43:00 +08:00
    需要 link 的吧?
    l4ever
        2
    l4ever  
    OP
       2022-08-25 13:46:48 +08:00
    @ccccccccw link 已经被放弃了, 加了 link, docker-compose up 不起来了.
    hefish
        3
    hefish  
       2022-08-25 13:49:06 +08:00
    podman 倒没怎么用过, 看看 podman network ls ,看看 podman inspect 的网络部分。。。
    ccccccccw
        4
    ccccccccw  
       2022-08-25 14:03:16 +08:00
    @l4ever 哦哦这样
    julyclyde
        5
    julyclyde  
       2022-08-25 16:28:15 +08:00
    难道不应该问,为什么 docker 环境那边竟然神奇的可以 ping 通吗?
    muxueqz
        6
    muxueqz  
       2022-08-26 09:36:12 +08:00   ❤️ 1
    podman 需要安装一个叫 dnsname 的 cni plugin 和 dnsmasq
    https://github.com/containers/podman-compose 这里有说明
    muxueqz
        7
    muxueqz  
       2022-08-26 11:18:19 +08:00   ❤️ 1
    @muxueqz
    或者用 netavark

    apt install netavark aardvark-dns

    然后修改 /etc/containers/containers.conf
    增加
    [network]
    network_backend = "netavark"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5896 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:26 · PVG 14:26 · LAX 22:26 · JFK 01:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.