zoukankan      html  css  js  c++  java
  • 【Docker】笔记

    搜索镜像

    docker search xxx

    拉镜像

    docker pull xxx  xxx处直接指定镜像名就可以,默认会下latest

    如果有更多需求,可如下:

    docker pull daocloud.io/daocloud/tensorflow:latest 

    删镜像

    docker rmi imageID/name

    查看已有镜像

    docker images

    建容器

    docker run -it --name myts -v /home/xxx/test/tensorflow/notebooks:/notebooks -p 8888:8888 tensorflow/tensorflow:latest /bin/bash

    -v配置存储映射

    测试容器时,可加上 --rm 用完自动删除

    删容器

    docker rm containerID

    查看容器

    docker ps -a(-a显示全部,包括exited的。不加就只显示up的)

    顺便记录一下在工作站配环境踩过的坑。。。


    如果要在容器中使用GPU需要装nvidia-docker

    之前安装了nvidia-docker还是用不了GPU,后来发现是没有装nvidia-container-runtime

    联网安装nvidia-docker或者container-runtime都需要配repository,不然直接yum装是搜不到相关包的(除了联网也可以下载好对应的rpm包再直接用yum装,不过当然还是联网装更快乐啦)

    按网上一篇博客(https://blog.csdn.net/qq_37674858/article/details/92630775)中的配置方法如下:

    curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
    DIST=$(sed -n 's/releasever=//p' /etc/yum.conf)
    DIST=${DIST:-$(. /etc/os-release; echo $VERSION_ID)}
    sudo rpm -e gpg-pubkey-f796ecb0
    sudo gpg --homedir /var/lib/yum/repos/$(uname -m)/$DIST/nvidia-docker/gpgdir --delete-key f796ecb0 1043  ls
    sudo yum install nvidia-docker2
    sudo yum install nvidia-container-runtime
    docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
    View Code

    中间设置key的地方我没有配置成,不知道它这个key是哪里来的。。不过最后还是很神奇的貌似设置好repository了。。反正就可以用yum来安装nvidia-docker2和nvidia-container-runtime了

    安装好后,运行命令:

    docker run -it --name cuda-tf --runtime=nvidia -v /home/zhouzy/test/tensorflow/notebooks:/notebooks nvidia/cuda /bin/bash

    这个时候可以成功运行命令nvidia-smi看到本地GPU的信息了。

    不过此时docker中没有yum和vim命令,安装方法如下:

    apt-get update

    apt-get install vim -y

    apt-get install yum -y


    报错

    ”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied“


    解决方法

    sudo groupadd docker #添加docker用户组

    sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名,例如我的,liangll

    sudo gpasswd -a $USER docker #将当前用户添加至docker用户组

    newgrp docker #更新docker用户组

    测试:

    docker version将不再出现提示

  • 相关阅读:
    【typecho】解决使用分隔符 <!--more-->标签后首页文字下面出现一段空白
    真没想到,疫情让我实现了远程办公的夙愿
    程序员周末应该干的8件事
    在Delphi中如何控制其它应用程序窗口
    Delphi 如何操作外部程序的控件(如按钮,文本框,单选按钮等)
    delphi 向其他程序发送模拟按键
    Delphi中如何控制其他程序窗体上的窗口控件
    用Delphi“遥控”按钮
    双系统启动菜单的修改方法
    PureBasic 读取文件中一行的两个数据例子
  • 原文地址:https://www.cnblogs.com/YeZzz/p/13094977.html
Copyright © 2011-2022 走看看