「工具」 Docker 入门
2013 年 3 月:Docker 正式发布开源版本
官网:https://docs.docker.com/
中文教程:http://www.docker.org.cn/
docker hub:https://www.docker.com/
nvidia-docker github:https://github.com/NVIDIA/nvidia-docker
若需要用到 GPU,则应先安装 docker,再安装 nvidia-docker;
1 Docker 安装
安装 Docker 的要求1:
- Docker 只支持 64 位 CPU 架构计算机;
- 建议 Linux 内核在 3.10 及以上(内核升级方式);
- Linux 内核需开启 cgroups 和 namesapce 功能;
- 对于非 Linux 内核平台,需安装 Boot2Docker 工具;
新版本中:
Docker Engine 改为 Docker CE(社区版):它包含 了CLI 客户端、后台进程/服务以及 API;用户像以前以同样的方式获取;
Docker Data Center改为Docker EE(企业版):在 Docker 三个定价层增加了额外的支付产品和支持;
1.1 Ubuntu 中安装 Docker
- 1.安装
sudo apt-get install docker-ce
安装过程若遇到困难,参见详细步骤 ,其他安装方式:wget安装…… - 2.启动
sudo service start docker
或设置开机自启动sudo systemctl enable docker
sudo systemctl start docker
- 3.测试是否安装成功
sudo docker run hello-world
若要以非 root 用户直接运行 docker 时,需要执行sudo usermod -aG docker $用户名
命令,然后重新登陆,否则会报错;
2 Nvidia-docker 安装
在 docker 环境中使用 GPU 需要用到 nvidia-docker;他是在 docker 基础上做的,所以要先安装好 docker;
- 1.安装
sudo apt-get install nvidia-docker2
- 2.重新加载 docker 守护进程
sudo pkill -SIGHUP dockerd
3 Docker 操作
容器的常用操作
docker attach $CONTAINER_ID # 连接一个已存在的docker容器
docker stop $CONTAINER_ID # 停止
docker start $CONTAINER_ID # 启动
docker restart $CONTAINER_ID # 重启
docker kill $CONTAINER_ID # 强制关闭
docker logs $CONTAINER_ID # 查看运行日志
docker inspect $CONTAINER_ID # 查看属性
docker rm $CONTAINER_ID # 删除容器
Docker 与本地目录文件交互 :ghost:
https://blog.csdn.net/zero__007/article/details/80641616
https://blog.csdn.net/huludan/article/details/52641090
4 搭建 Docker 应用
:ghost: 基本术语及其关系
附录
(一)Ubuntu 内核升级
- 1.查看内核版本
uname -r
- 2.若内核版本小于 3.10,则需进行升级
sudo apt-get uplast_modified_at # 更新软件包缓存 sudo apt-get install linux-image-generic-lts-trusty sudo reboot
(二)Ubuntu 中使用脚本安装 Docker
- 1.安装 wget
which wget # 检查 wget 是否已安装 sudo apt-get uplast_modified_at sudo apt-get install wget # 安装 wget
- 2.安装 Docker
wget -q0- https://get.docker.com/ | sh # 过程中需要 root 权限
(三)Ubuntu 中使用 apt-get 安装 Docker 2
实测可用:ubuntu 16.04(x86_64),docker 18.06.1-ce
- 1.删除旧的 docker
sudo apt-get remove docker docker-engine docker.io
- 2.安装依赖
sudo apt-get install apt-transport-https ca-certificates # 添加使用 HTTPS 传输的软件包以及 CA 证书 sudo apt-get install curl gnupg2 software-properties-common # 二选一 sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D # 信任 Docker 的 GPG 公钥 1 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 信任 Docker 的 GPG 公钥 2 # 二选一 sudo add-apt-repository "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" # 添加软件源,amd64 架构的计算机 echo "deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list # 添加软件源,树莓派或其它ARM架构计算机
- 3.安装 Docker
sudo apt-get uplast_modified_at sudo apt-get install docker-ce
(四)Ubuntu 中使用 apt-get 安装 Nvidia-docker 3-4
- 1.删除旧的 docker
# 此条命令慎用(博主未曾试过) sudo apt-get purge -y nvidia-docker # 卸载 nvidia-docker 1.0
- 2.安装依赖
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
- 3.安装 Nvidia-docker
sudo apt-get uplast_modified_at sudo apt-get install nvidia-docker2 # 博主用 sudo apt-get install -y nvidia-docker2 并未成功
- 4.重新加载 docker 守护进程
sudo pkill -SIGHUP dockerd
如果不执行此命令,会报错:
docker: Error response from daemon: Unknown runtime specified nvidia. See 'docker run --help'.
-
浙江大学 SEL 实验室. Docker 容器与容器云[M]. 北京:人民邮电出版社,2016 ↩
-
清华大学开源软件镜像站. Docker Community Edition 镜像使用帮助. https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce/. ↩
-
王海强WHQ. docker的基本概念和Nvidia-docker镜像. https://www.jianshu.com/p/9deb6f41d5bd. ↩
-
_silent彦沁. 安装使用NVIDIA-Docker– 可使用GPU的Docker容器. https://www.linuxidc.com/Linux/2017-12/149578.htm. ↩
Comments