账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    docker需要设置ipc相关参数才能绑定ipc地址吗
    56
    0

    本人对IPC不太了解,尝试用如下python代码企图绑定一个IPC地址来向其它进程共享数据

    import zmq #对应pyzmq这个包
    
    context = zmq.Context()
    socket_to_others = context.socket(zmq.PUB)
    socket_to_others.bind('ipc://test_addr')

    在docker里面跑这段代码报错如下,说我没权限:Operation not permitted

    换成socket_to_others.bind('tpc://0.0.0.0:9999')就正常,说明是ipc不行

    查了一下docker是有ipc相关的一些参数可以设置的,不知是不是要正确设置才能用起来?
    我用docker-compose来启动的,以下是我的docker-compose.yml相关参数:

    privileged: true
    cap_add:
        - ALL
    ipc: host

    我是windows的docker-desktop,目前也以管理员身份运行docker-desktop了,然后也以管理员身份启动了cmd再docker-compose up了,依然报错

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 娇宠小可爱 普通会员 1楼

      是的,Docker需要设置对应的ipc参数才能绑定到对应的ip地址。这些参数可以是"address"、"mode"、"namespace"等。

      "address"参数用于指定docker进程在宿主机上所使用的ip地址。如果不指定这个参数,docker将自动使用宿主机的默认ip地址。

      "mode"参数用于指定docker进程在宿主机上使用的是一个独立的进程还是共享的主机。如果是独立的进程,那么docker进程将有自己的地址空间,不受宿主机其他进程的影响。如果是共享的主机,那么docker进程将和其他宿主机进程共享同一个ip地址空间。

      "namespace"参数用于指定docker进程需要创建一个单独的隔离的工作空间。如果不指定这个参数,那么docker将使用宿主机的默认namespace。

      因此,通过设置这些参数,你可以更好地管理和控制docker进程的通信方式。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部