docker备忘录

1.安装
参考:https://help.aliyun.com/document_detail/60742.html
    # step 1: 安装必要的一些系统工具
    sudo apt-get update
    sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
    # step 2: 安装GPG证书
    curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    # Step 3: 写入软件源信息
    sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
    # Step 4: 更新并安装Docker-CE
    sudo apt-get -y update
    #下一步用来安装默认版本docker
    sudo apt-get -y install docker-ce
    
    #    至此,docker已经完成

    # 如果想安装指定版本的Docker-CE,就用以下命令取代上一句:
    # Step 1: 查找Docker-CE的版本:
    # apt-cache madison docker-ce
    #   docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
    #   docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
    # Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
    # sudo apt-get -y install docker-ce=[VERSION]

    #检验docker是否安装成功:
    docker version

2.docker加速
参考:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
    2.1 安装/升级Docker客户端          推荐安装1.10.0以上版本的Docker客户端,参考文档 docker-ce
    2.2 配置镜像加速器 
    针对Docker客户端版本大于 1.10.0 的用户

    您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://fa7f4thx.mirror.aliyuncs.com"]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

3.创建镜像[以下所有命令必须以sudo开头(以管理员身份运行)]
参考:https://cloud.tencent.com/developer/article/1167995
    要查看所有可用的子命令,请输入:docker
    要查看有关Docker的系统信息,请使用:docker info
    要检查您是否可以从Docker Hub访问和下载镜像,请输入:

    sudo docker run hello-world

    输出下面的内容则Docker正常工作:

    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    9bb5a5d4561a: Pull complete
    Digest: sha256:3e1764d0f546ceac4565547df2ac4907fe46f007ea229fd7ef2718514bcec35d
    Status: Downloaded newer image for hello-world:latest

    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    ...
    之后相关操作请看参考网址




    以下是从阿里云镜像拉取镜像的相关操作    
参考:https://cr.console.aliyun.com/repository/cn-hangzhou/attack/pytorch-gpu/details

    应该登录dockerhub,然后下载,但是国外的比较慢,刚刚我们配置的阿里加速器就是现在要用的
    先登录:https://cr.console.aliyun.com/cn-hangzhou/instances/credentials设置密码
    登录阿里云:sudo docker login --username=[username(上个阿里云网站会给出)] registry.cn-hangzhou.aliyuncs.com,这里密码就是刚刚设置的

    从https://cr.console.aliyun.com/cn-shanghai/instances/images找已有的docker,然后执行

    sudo docker pull registry.cn-shanghai.aliyuncs.com/pytorch4/pytorch0.4:tianchi2 冒号后面是版本号(以https://cr.console.aliyun.com/images/cn-shanghai/pytorch4/pytorch0.4/detail镜像为例
    要查看已下载到计算机的镜像,请输入:sudo docker images ,如果下载成功会显示两个(一个刚下的,一个测试用过的helloworld)
    
    开始运行:sudo docker run -it registry.cn-shanghai.aliyuncs.com/pytorch4/pytorch0.4:tianchi2  (-i和-t 对容器的交互式shell访问)镜像名称版本号一个不能少,有木有很麻烦啊??
    先退出shell: exit 
    对该镜像重命名一下:sudo docker tag [old IMAGE ID] [new name]  例如:sudo docker tag 0d66205468b5  pytorch0.4   
    sudo docker images看一下,是不是多了一个?但是IMAGE ID跟原来的镜像一样,其实就是给原镜像起了个别称
    这次运行镜像:sudo docker run -it pytorch0.4:latest 
    
    至此,镜像已经创建完毕。


4.加载gpu
    docker原理跟虚拟机类似,不能挂载GPU,NVIDIA为此造出了nvidia-docker,使docker跟GPU能够通讯
    4.1安装显卡驱动,参考:https://jingyan.baidu.com/article/d7130635c5a86113fdf47532.html,需要重启。重启后按照教程看是否安装成功
    4.2开始安装nvidia-docker,参考:https://github.com/NVIDIA/nvidia-docker

wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.0.176-1_amd64.deb


验证系统是否安装了gcc

在终端中输入: $  gcc --version      

5.将文件复制到docker 并运行
    sudo docker cp /media/yc/YC/nips2017 a5d33e244815:/workspace
    重命名:cp -R ./nips2017/ ./competition        cp -R ./nips2017/ ./competition
    运行:sh run_attack.sh DIR FILE

6.保存容器
    sudo docker ps -l命令获得修改之后容器的id  查看最近操作的容器(sudo docker ps -a查看所有容器)
    sudo docker commit a5d33e244815 nips2017:latest 将该id的容器保存成image   [a5d33e244815是容器的id]
7.删除多余镜像
    要先删除运行在其上的容器        sudo docker ps -a查看所有容器
    删除容器    sudo docker rm [容器id]
    先看一下镜像    sudo docker images
    删除镜像    sudo docker rmi [image id]
    再看一下    sudo docker images  没了就可以了
8.上传镜像[上传到阿里云]
参考:https://cr.console.aliyun.com/repository/cn-hangzhou/attack/pytorch-gpu/details
    8.1.如果没有登录阿里云先登录:$ sudo docker login --username=[你自己的用户名] registry.cn-hangzhou.aliyuncs.com
    8.2. 将镜像推送到Registry
        $ sudo docker login --username=[你自己的用户名] registry.cn-hangzhou.aliyuncs.com
        $ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/attack/pytorch-gpu:[镜像版本号]
        $ sudo docker push registry.cn-hangzhou.aliyuncs.com/attack/pytorch-gpu:[镜像版本号]
    
 

上一封 下一封

« 返回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值