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:[镜像版本号]
« 返回