在Linux中使用docker【上】(docker、nvidia-docker安装)
在Linux中使用docker【上】(docker、nvidia-docker安装)
在Linux中使用docker【中】(常见命令上)
在Linux中使用docker【下】(常见命令下)
一、Docker介绍
Docker是一个强大的工具神器,它使得应用程序的打包、部署和管理变得更加简单、高效和安全。无论是在开发、测试还是生产环境中,都发挥着重要的作用。
Docker是开源的应用容器引擎,它基于Go语言实现,并依赖于操作系统的机制和特性。Docker的主要目的是让开发者能够打包他们的应用及其依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,实现轻量级虚拟化。这种容器化的应用程序被称为Docker容器,它们通过Docker镜像创建,而这些镜像文件可以存放在私有仓库或共有仓库中。
Docker采用了“写时复制”(copy-on-write)模型,使得修改应用程序变得非常迅速。此外,Docker还支持面向服务的体系结构和微服务架构,提高应用程序的模块化和可维护性。
Docker由PaaS提供商dotCloud开发,作为开源项目发布。它的源代码托管在Github上,并遵从Apache2.0协议。
二、在Linux中使用Docker的意义
由于LInux版本的众多以及应用程序对Linux众多版本、环境包众多版本兼容性方面的天然弱势,Docker在Linux中的使用比在Windows中要重要许多。另外,作为服务器的主要操作系统,Docker在Linux中的生产场景的使用随着时间变动越来越普及。
在Linux中使用Docker的主要特点有:
2.1 轻量级与资源高效
Docker基于容器技术,与传统的虚拟机相比,它更加轻量级并且资源消耗更少。
它不需要为每个应用程序分配一个完整的操作系统,而是允许多个应用程序共享一个主机操作系统,从而提高了资源利用率。
2.2 快速部署与版本控制
Docker容器包含应用程序及其所有依赖项,这使得部署变得快速且一致。
开发人员可以创建一个Docker镜像,其中包含他们应用程序的所有代码和配置,然后在生产环境中简单地运行该镜像,以确保应用程序的一致性和可重复性。
2.3 隔离与安全
虽然Docker容器共享主机操作系统,但它们相互隔离,这意味着一个容器中的进程不会干扰另一个容器。
这种隔离提供了额外的安全性层,防止应用程序之间的潜在冲突。
2.4 简化运维
Docker提供了一种标准化的方法来管理和运行应用程序,使得运维变得更加简单。
例如,可以使用Docker Compose来同时运行多个相互依赖的容器,或者使用Docker Swarm或Kubernetes来管理和扩展应用程序。
2.5 跨平台兼容
Docker容器是跨平台的,可以在不同的操作系统和硬件架构上运行。
2.6 持续集成与持续部署(CI/CD)
Docker与CI/CD工具(如Jenkins、Travis CI等)无缝集成,使得开发人员能够更频繁地构建、测试和部署应用程序。
三、Docker的安装
3.1 ubuntu下安装docker
在Ubuntu上安装Docker的步骤如下:
-
前提条件:
- 确保Ubuntu系统是64位的。
- 内核版本需要是3.10或更高。可以通过运行
uname -r
命令来检查内核版本。
-
卸载旧版本:
-
如果之前安装过Docker的旧版本(如
docker
,docker.io
或docker-engine
),需要先卸载它们。运行以下命令来卸载:sudo apt-get remove docker docker-engine docker.io containerd runc
-
-
安装Docker Engine社区版:
-
更新APT包索引:
sudo apt-get update
-
安装必要的软件包,这些软件包允许APT使用HTTPS进行软件包检索:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
-
添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
添加Docker APT存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-
更新APT包索引:
sudo apt-get update
-
安装最新版本的Docker Engine-Community:
sudo apt-get install docker-ce
-
-
启动并启用Docker:
-
启动Docker服务:
sudo systemctl start docker
-
设置Docker开机自启:
sudo systemctl enable docker
-
-
验证安装:
-
运行以下命令来检查Docker服务的状态【正常显示active (running)】:
sudo systemctl status docker
-
运行以下命令来检查Docker是否安装成功并显示其版本信息:
sudo docker version
-
3.2 ubuntu下安装nvidia-docker
在Ubuntu下安装nvidia-docker
的前提是先确保已经安装好了Docker和NVIDIA显卡驱动。
在Ubuntu上安装Docker的步骤如下:
-
前提条件:
- 如果还没有安装Docker,可以按照Docker官方文档或上述提供的步骤在Ubuntu上安装Docker。
- 确保系统中已经正确安装了NVIDIA显卡驱动。可以运行
nvidia-smi
命令来验证驱动是否已经安装并且正常工作。
-
安装nvidia-docker:
-
首先需要添加
nvidia-docker
的APT存储库到系统中。这通常涉及到下载并添加一个GPG密钥和一个源列表文件。你可以从NVIDIA的官方GitHub仓库中找到这些信息。# 添加Nvidia-Docker的GPG key curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - # 添加Nvidia-Docker的repository distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
-
添加存储库后,更新APT包索引:
sudo apt-get update
-
然后,你可以使用以下命令来安装
nvidia-docker
:sudo apt-get install -y nvidia-docker2
-
安装完成后,需要重启Docker服务来使
nvidia-docker
生效:sudo systemctl restart docker
-
-
验证安装:
通过运行一个简单的nvidia-docker
命令来验证其是否安装成功,比如:# 显示NVIDIA显卡的详细信息 nvidia-docker run --runtime=nvidia nvidia/cuda:9.0-base nvidia-smi
3.3 centos下安装docker
在CentOS上安装Docker的步骤如下:
-
更新yum源:
首先,确保系统已经更新了最新的yum源。可以使用以下命令进行更新:
sudo yum update
-
安装依赖包:
安装Docker需要一些依赖包,可以通过以下命令安装:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
添加Docker的yum软件源:
添加Docker的稳定版本yum软件源。可以通过以下命令进行添加:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
更新yum软件源缓存:
添加了新的yum软件源后,需要更新yum软件源缓存。使用以下命令进行更新:
sudo yum update
-
安装Docker:
可以开始安装Docker了。使用以下命令进行安装:
sudo yum install -y docker-ce
-
启动Docker服务:
安装完成后,需要启动Docker服务。使用以下命令进行启动:
sudo systemctl start docker
-
验证Docker是否安装成功:
运行以下命令来检查Docker是否安装成功并显示其版本信息:
sudo docker version sudo docker info
3.4 centos下安装nvidia-docker
在CentOS上安装NVIDIA Docker的步骤如下:
-
前提条件:
- 首先确保已经在CentOS上安装了Docker。你可以使用官方文档或之前提到的命令来安装Docker。
- 确保系统中已经正确安装了NVIDIA显卡驱动,可以访问NVIDIA官方网站或Docker Hub上的NVIDIA Docker仓库,下载适合你CentOS版本的NVIDIA Docker安装包。【通常是一个RPM包】
-
安装NVIDIA Docker:
使用以下命令安装NVIDIA Docker RPM包:
# 将<version>替换为下载的RPM包的实际版本号 sudo yum localinstall -y nvidia-docker2-<version>.noarch.rpm
-
重启Docker服务:
配置完成后,重启Docker服务以使更改生效:
sudo systemctl restart docker
-
验证安装:
可以运行一个简单的
nvidia-docker
命令来验证安装是否成功。例如:sudo nvidia-docker run --rm nvidia/cuda:10.0-base nvidia-smi
如果命令成功执行并显示了NVIDIA GPU的信息,那么安装就成功了。
(未完待续…)
may the odds be ever in your favor ~