卸载Docker CE

卸载Docker CE软件包:

sudo apt-get purge docker-ce

主机上的图像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:

sudo rm -rf /var/lib/docker

您必须手动删除任何已编辑的配置文件。

一般我都会再执行以下,把依赖什么的也全都删掉

sudo apt autoremove docker-ce

卸载列出所有docker安装的组件

dpkg -l |grep docker

apt remove --purge dockker.io

所有的都需要卸载

脚本安装docker(简易方式,需网):

在Ubuntu系统中安装较为简单,官方提供了脚本供我们进行安装。

sudo apt install curl
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把Docker CE 的Edge版本安装在系统中。

启动Docker CE

sudo systemctl enable docker
sudo systemctl start docker

建立docker 用户组

默认情况下,docker 命令会使用Unix socket 与Docker 引擎通讯。而只有root 用户和docker 组的用户才可以访问Docker 引擎的Unix socket。出于安全考虑,一般Ubuntu系统上不会直接使用root 用户。因此,更好地做法是将需要使用docker 的用户加入docker用户组。

# 建立docker组
sudo groupadd docker
# 将当前用户加入docker组
sudo usermod -aG docker $USER

注销当前用户,重新登录Ubuntu,输入docker info,此时可以直接出现信息。

配置国内镜像加速

在/etc/docker/daemon.json 中写入如下内容(如果文件不存在直接新建该文件)

sudo vim /etc/docker/daemon.json

{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}

重新启动服务

sudo systemctl daemon-reload
sudo systemctl restart docker

验证

启动一次操作容器docker run IMAGE_NAME [COMMAND] [ARG…]

例如,启动一个容器输出hello world。由于刚装上Docker,没有任何镜像,所以会先下载一个最新的ubuntu18.04的docker镜像。一次操作容器在处理完操作后会立即关闭容器。

docker run ubuntu echo 'hello world'

启动交互式容器:docker run -t -i –name=自定义名称 IMAGE_NAME /bin/bash

-i –interactive=true | false,默认是false

-t –tty=true | false,默认是false

–name 给启动的容器自定义名称,方便后续的容器选择操作

启动交互式的容器,就是类似虚拟机、云主机的操作方式,操作完一个命令后仍然可以继续:

docker run -i -t ubuntu /bin/bash

拉GPUTensorFlow:

docker tensorflow的镜像官网为https://hub.docker.com/r/tensorflow/tensorflow/,首先按照官方教程安装nvidia-docker2,之后的tensorflow-gpu镜像都需要nvidia-docker来启动,或者docker run --runtime=nvidia,当然这样就足够用了,如果你想用docker取代nvidia-docker可以修改/etc/docker/daemon.json为如下所示,即在第一行加入"default-runtime": "nvidia",这样就可以直接用docker取代nvidia-docker了。

{
    "default-runtime""nvidia",
    "runtimes": {
        "nvidia": {
            "path""/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

下载成功后执行:

docker images

步骤:

1.安装cuda

2.安装 nvidia-docker2

2.1安装nvcc

sudo apt install nvidia-cuda-toolkit

验证nvcc --version

2.2设置stable存储库和密钥

 因为前面用的脚本安装,也许不用这步?----并不是,后面的sudo apt-get install -y nvidia-docker2用到了。。。

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

2.3 安装nvidia-docker2安装包
sudo apt-get update
sudo apt-get install -y nvidia-docker2

重启docker

sudo systemctl restart docker

用官方container测试是否安装成功

sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

拉TensorFlow的镜像

docker pull tensorflow/tensorflow:2.7.1-gpu
docker pull tensorflow/tensorflow:2.5.1-gpu

docker pull tensorflow/tensorflow:2.6.0rc0

启动容器

如果在前面配置了"default-runtime": "nvidia",那么执行:

1
docker run   --rm -it -v /home/zzh/:/root/tensorflow --name zzh tensorflow/tensorflow:1.8.0-devel-gpu-py3

没有配置则可以执行:

1
nvidia-docker run --rm -it -v /home/zzh/:/root/tensorflow --name zzh tensorflow/tensorflow:1.8.0-devel-gpu-py3

或者执行:

1
docker run --runtime=nvidia --rm -it -v /home/zzh/:/root/tensorflow --name zzh tensorflow/tensorflow:1.8.0-devel-gpu-py3

其中docker run的参数含义如下:

(1)--rm        退出容器清除数据

(2)-it           启动交互式终端

(3)-v           挂在目录

(4)--name  容器名称

具体细节参考官方文档:https://docs.docker.com/engine/reference/run/

4.其他docker常用命令

(1)通过[docker  commit  CONTAINER_ID   newImageName]保存对镜像的修改,CONTAINER_ID可以通过docker ps查看

(2)通过[docker save -o  文件名  镜像名] 将镜像存储至磁盘,例如docker save -o  tensorflow.tar      tensorflow/tensorflow:1.8.0-devel-gpu-py3

(3)通过[docker load  --input  文件名] 从磁盘导入镜像,例如docker load  --input  tensorflow.tar

(4)容器一旦退出里面的信息就都会被清除,若不想保存修改又不想丢失信息,那么可以CTRL+P+Q让容器在后台运行,然后通过docker attach CONTAINER_ID重新连接进容器

Ubuntu docker安装、验证、卸载的更多相关文章

  1. ubuntu下安装与卸载qt的方法

    http://blog.csdn.net/huyisu/article/details/24014407 ubuntu下安装与卸载qt的方法 分类: linux 2014-04-18 14:20 18 ...

  2. Ubuntu软件安装与卸载

    ubuntu软件安装与卸载 更新Ubuntu软件下载地址 1. 寻找国内镜像源 所谓的镜像源:可以理解为提供下载软件的地方,比如Android手机上可以下载软件的91手机助手:iOS手机上可以下载软件 ...

  3. Docker安装和卸载

    一:卸载旧版本 老版本的Docker被称为docker或docker-engine.如果安装了这些,请卸载它们以及相关的依赖项. $ sudo yum remove docker \ docker-c ...

  4. Docker 安装与卸载

    Docker卸载与安装 卸载旧的版本 卸载 yum -y remove docker-ce docker-cli-io containerd.io rm -rf var /var/lib/docker ...

  5. docker安装与卸载

    文章转自:https://www.cnblogs.com/yufeng218/p/8370670.html  (EE安装) https://blog.csdn.net/jxyzh11/article/ ...

  6. ubuntu Docker安装部署Rancher

    一.Rancher简介 Rancher是一个开源的企业级容器管理平台.通过Rancher,企业再也不必自己使用一系列的开源软件去从头搭建容器服务平台.Rancher提供了在生产环境中使用的管理Dock ...

  7. Ubuntu Docker 安装和配置 GitLab CI 持续集成

    相关文章: Ubuntu Docker 简单安装 GitLab 劈荆斩棘:Gitlab 部署 CI 持续集成 目的:在 Ubuntu 服务器上,使用 Docker 安装和配置 GitLab Runne ...

  8. ubuntu docker安装与部署java,mysql,nginx镜像

    docker 安装与部署java,mysql,nginx docker 配置 安装docker $ sudo apt-get remove docker docker-engine docker.io ...

  9. docker 安装 运行 卸载

    一.卸载docker 安装时使用什么工具安装的docker就用什么工具卸载docker: 1.yum卸载docker 查看已安装的docker yum list installed | grep do ...

  10. Ubuntu下安装与卸载Nginx

    1.Ubuntu下安装Nginx比较简单 敲入下列命令即可: sudo apt-get update sudo apt-get install nginx 2.Ubuntu下卸载,稍不注意就会入坑 s ...

随机推荐

  1. [OpenCV实战]9 使用OpenCV寻找平面图形的质心

    目录 1 名词解释 2 在OpenCV中查找Blob质心的步骤 3 图像多个blob下的质心获取 4 参考 在中学,我们学习了几何的中各种平面图形.找到标准平面图形的中心(几何中心)比较容易,如圆形, ...

  2. 迁移学习(IIMT)——《Improve Unsupervised Domain Adaptation with Mixup Training》

    论文信息 论文标题:Improve Unsupervised Domain Adaptation with Mixup Training论文作者:Shen Yan, Huan Song, Nanxia ...

  3. jQuery查找标签、操作标签、事件和动画效果,Bootstrap页面框架的介绍和使用讲解

    今日内容 jQuery查找标签 1.基本选择器: $('#d1') id选择器 $('.c1') class选择器 $('div') 标签选择器 2.组合选择器: $('div#d1') 查找id是d ...

  4. npm 中设置环境NODE_ENV变量,判断失败打印process.env.NODE_ENV确实是"development",但是判断process.env.NODE_ENV === "development" 是false

    通过package.json 的scripts脚本 修改NODE_ENV的值来区分开发环境和生产环境. "scripts": { "build": " ...

  5. OpenMP 线程同步 Construct 实现原理以及源码分析(下)

    OpenMP 线程同步 Construct 实现原理以及源码分析(下) 前言 在上面文章当中我们主要分析了 flush, critical, master 这三个 construct 的实现原理.在本 ...

  6. Java 进阶P-3.1+P-3.2

    记事本的例子 容器类有两个类型: 容器的类型 元素的类型 泛型容器类 泛型 泛型其实质就是将数据的类型参数化.通过为类.接口.及方法设置类型参数来定义泛型.泛型使一个类或一个方法可在多种不同类型的对象 ...

  7. C#代码整洁之道读后总结与感想

    1. 基本信息 C#代码整洁之道:代码重构与性能提升 ,英文名为Clean Code in C#. 作者:[英] 詹森·奥尔斯(Jason Alls) 著,刘夏 译 机械工业出版社,2022年4月出版 ...

  8. 力扣---1148. 文章浏览 I

    Views 表:+---------------+---------+| Column Name   | Type    |+---------------+---------+| article_i ...

  9. python字典生成式,列表生成式

    list1 = [1,2,3,4,5] list2 = ['a','b','c','d','e'] {k: v for k, v in zip(list1, list2)} # {1:'a',2:'b ...

  10. MySQL数据库报1055错误

    有点坑啊,当初装MySQL数据库的时候没有整配置文件,结果MySQL报1055错误的时候,网上的解决办法都说如果需要永久生效的话,只能通过改配置文件实现,but,我没有配置文件,蜜汁尴尬啊 1.已安装 ...