美文网首页
Docker编译镜像及运行容器过程中,常见BUG

Docker编译镜像及运行容器过程中,常见BUG

作者: Hoyer | 来源:发表于2022-07-15 14:23 被阅读0次

    001

    • Problem
      在编译Linux内核过程中,执行sudo apt-get update指令时,出现以下问题:
      The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 3B4FE6ACC0B21F32
    • Solution
      这是因为更换三方源没有对应的Key。直接执行如下命令,比如我没有 3B4FE6ACC0B21F32,就需要执行
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
    

    002

    • Problem
      Docker环境里已经安装opencv-python,但运行import cv2时,出现以下错误:
      ImportError: libGL.so.1: cannot open shared object file: No such file or directory
    • Solution
      出现这个错误,是因为之前docker里安装的opencv无法使用。我之前是用这条命令安装的: pip3 install opencv-python,这条命令安装的opencv在本地的环境中可以使用,但无法在docker里使用。根据经验,有以下两种解决方案:
      1)一般来说,是镜像Linux内核中缺少了libopencv-dev环境,可以先行安装该环境后再编译镜像。
    sudo apt-get install -y libopencv-dev
    

    但是,当安装libopencv-dev环境过程中再次出现无法解决的问题时,可尝试安装opencv-python-headless包;
    2)可以先把之前用上面命令安装的opencv删除,然后用这条命令安装opencv-python-headless

    pip3 uninstall opencv-python
    pip3 install opencv-python-headless
    

    003

    • Problem
      想要在Docker容器中运行深度学习模型时,出现了来自daemon的错误响应:
      docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
    • Solution
      这很大可能是因为Ubuntu中没有安装nvidia-docker2,按照以下指令在Ubuntu机器上安装即可
    # 设置变量
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    # 安装公钥
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    # 获取list
    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
    sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    # 更新, 并安装nvidia-docker2
    sudo apt-get update
    sudo apt-get install -y nvidia-docker2
    # 重启
    sudo systemctl restart docker
    

    相关文章

      网友评论

          本文标题:Docker编译镜像及运行容器过程中,常见BUG

          本文链接:https://www.haomeiwen.com/subject/nxzqirtx.html