首页 > 其他分享 >【杂谈】您想要的docker环境来了!

【杂谈】您想要的docker环境来了!

时间:2022-10-12 15:38:53浏览次数:40  
标签:sudo 杂谈 apt nvidia 镜像 docker 安装 想要


深度学习环境配置一直是大家学习AI的拦路虎,不管你是久经沙场的大佬,还是初出茅庐的小伙,相信你肯定被linux系统环境坑过。快到周末了,咱们就不聊高深莫测的算法了,今天咱们就聊下神器docker的环境配置

作者&编辑 | 汤兴旺

docker是什么,这里不多讲,你可以拿它当做虚拟机来使用,但是它和虚拟机相比,差异还是很大的,它有以下优势,

1、docker容器上的程序,直接使用物理机的硬件资源,cpu、Gpu、内存等利用率上有很大的优势。

2、docker镜像方便传播,使用别人的环境,找到提供好的docker文件自动配置就行了。

【杂谈】您想要的docker环境来了!_linux

直观点理解就是如上图所示,你可以将整个服务器的环境配置打包成一个文件随处带走,然后换一台电脑运行,这样两台电脑的环境都不会受到影响。

docker安装操作

下面我开始带大家一步步的安装。

1.1 清除旧版本

sudo apt-get remove docker docker-engine docker.io

sudo apt-get update

【杂谈】您想要的docker环境来了!_python_02

1.2 安装可选内核模块

sudo apt install linux-modules-extra-$(uname -r) linux-image-extra-virtual

【杂谈】您想要的docker环境来了!_linux_03

这一步完成后,如下所示:

【杂谈】您想要的docker环境来了!_linux_04

1.3  添加使用HTTPS 传输的软件包以及 CA 证书

sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl  software-properties-common

【杂谈】您想要的docker环境来了!_linux_05

这一步完成后,如下所示:

【杂谈】您想要的docker环境来了!_python_06

1.4 更换国内源

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

【杂谈】您想要的docker环境来了!_linux_07

1.5 添加 docker 软件源

sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu  $(lsb_release -cs) stable"

sudo apt-get update

【杂谈】您想要的docker环境来了!_python_08

1.6 安装最新版本docker-ce

sudo apt-get install docker-ce

【杂谈】您想要的docker环境来了!_python_09

这一步完成后,如下所示:

【杂谈】您想要的docker环境来了!_linux_10

1.7 启动docker-ce

sudo systemctl enable docker 

sudo systemctl start docker

【杂谈】您想要的docker环境来了!_python_11

1.8 测试docker是否安装成功

sudo docker run hello-world

【杂谈】您想要的docker环境来了!_linux_12

看到上面的Hello from Docker!了吗?若你出现上面的界面则代表docker安装成功了。

1.9 安装NVIDIA Docker

step 1: 下载安装包:wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb

【杂谈】您想要的docker环境来了!_linux_13

step 2:sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb

【杂谈】您想要的docker环境来了!_docker_14

step3:测试安装是否成功:nvidia-docker run --rm nvidia/cuda nvidia-smi

【杂谈】您想要的docker环境来了!_python_15

【杂谈】您想要的docker环境来了!_docker_16

当你出现上面的界面,代表NVIDIA Docker安装成功。

2 docker基本使用

docker有三个基本概念:仓库(Repository),镜像(Image)和容器(Container)。

这三个基本概念我就不一一解释了,你只需要知道仓库是一个集中存放镜像的空间,镜像是一个特殊的文件系统,其中存储了应用和环境的所有数据,容器是镜像的运行实体,类似于面向对象编程中的类与实例,一个静态的镜像可以产生多个独立动态运行的容器。

我们再来看下docker的基本应用。docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。这个对于新手来说很有帮助,

【杂谈】您想要的docker环境来了!_python_17

另外如果你想要对某个命令更加深入的了解,可以使用docker command --help更深入的了解指定的docker命令使用方法。

docker pull --help

【杂谈】您想要的docker环境来了!_linux_18

接下来我们在看下如何在docker中安装python,首先使用下面命令查找python镜像

docker search python

【杂谈】您想要的docker环境来了!_linux_19

这里我们拉取官方python3.5的镜像

【杂谈】您想要的docker环境来了!_python_20

下载完成后,我们就可以在本地镜像列表里查到python3.5的镜像。通过下面命令就可以

docker images python:3.5

【杂谈】您想要的docker环境来了!_linux_21

上面就是在docker中安装python了,当然这不是最好的方法,我们用的最多的还是dockerfile。因为一般来说,如果这个系统安装的库都可以通过http协议下载,对外发布直接用这个dockerfile就可以了,使用dockerfile会更加方便。

标签:sudo,杂谈,apt,nvidia,镜像,docker,安装,想要
From: https://blog.51cto.com/u_14122493/5750914

相关文章

  • Docker, containerd, CRI-O and runc之间的区别?
    1、概述在容器生态系统中充斥着各种各样的术语,今天就来为你,一一解码! Docker开启了容器的时代,但不久之后,工具、标准和首字母缩略词似乎在这一领域爆发。那么,“docker”......
  • 【杂谈】追着光、靠近光、成为光、散发光
    各位好啊,我是Leo,年末到了嘛,我和大家分享下在有三AI的经历,希望对大家有帮助。初识有三AI我刚踏入人工智能领域就接触到有三AI公众号了,作为国内很少的人工智能领域真正做原创......
  • 想要打印资料,网上打印店和实体店哪个好?
    对于大学生或职场人士来说,少不了要打印一些资料,不过在打印资料时,自己去买一台打印机进行资料的打印成本就太高了,所以目前主流的打印方式有两种:在网上打印店打印资料、在线......
  • 【杂谈】关于数据和模型,初学者极容易忽视的两个问题!
    说起深度学习与CNN,想必大家很熟悉;说起计算机视觉中的目标检测等各个方向,相比大家平时也接触过不少东西了;不过有两个小的方向,虽然相关的论文、项目、甚至研究方法都不多,却是......
  • 收藏!想要拿到高薪Offer,数据库程序员要知道的几件事儿!
    "IT有得聊”是机械工业出版社旗下IT专业资讯和服务平台,致力于帮助读者在广义的IT领域里,掌握更专业、实用的知识与技能,快速提升职场竞争力。 导语:想找到一份程序员的工作,一......
  • Docker容器数据卷
    容器数据卷:将docker容器内的数据保存进宿主机的磁盘中1.容器卷命令中加入--privileged=trueDocker挂载主机目录访问如果出现cannotopendirectory.:Permissiondeni......
  • Docker自动打包脚本
    前言:由于公司升级频繁,手动操作打包耗时较长,所以写了这个自动打包脚本提升工作效率。因为K8S的yaml都在内网阿里云上所以就没办法写进脚本修改版本了,如果有需要可以自行修改......
  • Docker | 数据持久化与数据共享
    数据持久化(安装MySQL)参考另一篇Docker安装mysql:https://www.cnblogs.com/all-smile/p/16778376.htmlMySQL的数据持久化问题#下载容器dockerpullmysql:5.7-d后......
  • 两个或多个docker容器之间通过名字相互访问
    前言需要部署的项目中有数据库和Tomcat,Tomcat需要连接到数据库容器的3306端口上,由于容器的IP地址会变化,又不能写死IP地址,所以就有了下文。docker网卡介绍docker......
  • dockerfile
    dockerbuild命令后"."这里的.号代表什么意思呢?Docker在运行时分为Docker引擎(服务端守护进程)以及客户端工具,我们日常使用各种docker命令,其实就是在使用客户端工......