在 Docker 中做镜像

1、安装Docker

参考:https://docs.docker.com/engine/install/ubuntu/

sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
  software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

2、拉镜像

# 镜像是 ubuntu16.04,自带 cuda10.2 和 cudnn7。
sudo docker pull nvidia/cuda:10.2-cudnn7-devel-ubuntu16.04
# 查看镜像
sudo docker images

查找镜像参考 :https://stackoverflow.com/questions/24481564/how-can-i-find-a-docker-image-with-a-specific-tag-in-docker-registry-on-the-dock/34054903#34054903

3、加入Docker对nvidia的支持

参考:https://github.com/NVIDIA/nvidia-docker

# Add the package repositories
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

4、运行镜像并共享主机文件夹

# -it 表示建好容器后直接进入。
# --gpus all 表示在容器中可见所有GPU。
# -v /data0/share:/host_share 表示共享主机文件夹 /data0/share 和 容器中的文件夹 /host_share(不需要事先建好)。
# 5109 是用 docker images 命令看到的镜像ID 前4位。
sudo docker run -it --gpus all -v /data0/share:/host_share 5109

5、修改容器中的镜像

在容器中做各种下载、安装、编译等等。

6、退出容器并提交修改

# exit 或 ctrl+D 退出容器。
# 查看容器ID。
sudo docker ps -a
# 保存容器中的修改到新的镜像,-a后是作者,-m后是说明,1ab8 是容器ID前4位,nvcaffe_20200815 是新镜像仓库名。
sudo docker commit -a "wujp" -m "nvcaffe_cuda10.2_cudnn7_20200815" 1ab8 nvcaffe_20200815

7、保存镜像到文件

sudo docker save -o my_docker.tar nvcaffe_20200815

8、加载镜像从文件

sudo docker load --input my_docker.tar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值