Docker 环境安装
Docker 是一个开源的应用容器引擎,可以让开发者打包应用以及依赖包到一个轻量级,可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker 从 17.03 版本之后分为 CE(Community Edition) 和 EE(Enterprise Edition), 本文介绍的是 CE 版本的安装。Docker 的安装分为自动安装和手动安装两种方式。
1.1 自动安装
使用 docker 自带的自动安装命令:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内的 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
1.2 手动安装
如果电脑中已经有旧版本的 Docker 环境, 需要先卸载再安装新版本。
sudo apt remove docker docker-engine docker.io containerd runc
使用 Docker 仓库进行安装
# 更新 apt 索引包
sudo apt update --fix-missing
# 使用 HTTPS 获取仓库
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"
# 更新 apt 索引包
sudo apt update
# 安装最新版本的 Docker CE
sudo apt-get install docker-ce docker-ce-cli containerd.io
如果对 Docker 的版本有特殊要求,可以按照下面的命令安装特定的版本
# 查看仓库中可用的版本
apt-cache madison docker-ce
# 安装特定的版本
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
1.3 验证安装
从 Docker 环境中下载验证程序
sudo docker run hello-world
出现下面内容即表示安装成功
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest
Hello from Docker !
This message shows that your installation appears to be working correctly.
1.4 安装 nvidia-docker
如果安装了旧版本的 nvidia-docker, 先删除旧版本
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt purge nvidia-docker
设置ubuntu源
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
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
sudo apt update
安装 nvidia-docker 2
sudo apt install nvidia-docker2
sudo pkill -SIGHUP dockerd
sudo systemctl restart docker
1.5 主机运行 Docker 中的命令
sudo docker exec -it container_ID /bin/bash -c 'cd /root && echo hello world >> test.md'
运行该命令后在 docker 容器中的 /root
路径下会产生一个写有 hello world
的 test.md
文件。