Ubuntu、elementary OS安装及卸载Docker

Docker Engine-Community 支持 x86_64 (或 amd64)、armhf、arm64、s390x (IBM Z) 和 ppc64le (IBM Power) 架构。

可以用一下命令查看系统信息:

$ more /etc/os-release

卸载旧版本

Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。可以用命令

$ which docker

查看是否安装了Docker,如果已安装,使用以下命令卸载:

$ sudo apt-get remove docker docker-engine docker.io containerd runc

目录/ var/lib/docker/中的内容(包括映像,容器,卷和网络)将会保留下来。 Docker Engine-Community软件包现在称为docker-ce。

安装Docker Engine 社区版

安装docker-ce主要有两种方式:使用Docker进行安装和下载deb包手动安装,当然也可以通过Docker官网提供的脚本进行安装,这里不做赘述,感兴趣的可以去官网查看:Install using the convenience scriptgithub仓库

本文介绍一下使用仓库进行安装的方法,这也是docker官方推荐的方式:

设置仓库

  1. 更新 apt 包索引:
$ sudo apt-get update
  1. 安装能够让apt使用HTTPS的包:
$ sudo apt-get install\apt-transport-https\ca-certificates\curl\gnupg-agent\software-properties-common
  1. 添加 Docker 的官方 GPG 密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

添加后通过搜索后8位字符可以查看现在是否拥有了指纹 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 的密匙:

$ sudo apt-key fingerprint 0EBFCD88    
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
sub   rsa4096 2017-02-22 [S]

如果返回与上面类似的内容则说明已经添加成功

  1. 设置稳定版仓库(源)
    要安装nightly版或test版(或者两种一起)只需在下面的命令后面加上nightly或test即可:
$ # x86_64 / amd64架构,自己的电脑一般是这个
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"


$ # armhf架构
$ sudo add-apt-repository \
   "deb [arch=armhf] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"


$ #  arm64架构
$ sudo add-apt-repository \
   "deb [arch=arm64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"


$ #  IBM Power (ppc64le)
$ sudo add-apt-repository \
   "deb [arch=ppc64el] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"


$ #  IBM Z (s390x)
$ sudo add-apt-repository \
   "deb [arch=s390x] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

上面命令中的 $(lsb_release -cs) 返回Ubuntu发行版的名称,对于Ubuntu衍生版,如Linux Mint、elementary OS等需要改为其父版Ubuntu发行版名称,使用以下命令查看系统版本信息:

$ more /etc/os-release 
NAME="elementary OS"
VERSION="5.1.2 Hera"
ID=elementary
ID_LIKE=ubuntu
PRETTY_NAME="elementary OS 5.1.2 Hera"
LOGO=distributor-logo
VERSION_ID="5.1.2"
HOME_URL="https://elementary.io/"
SUPPORT_URL="https://elementary.io/support"
BUG_REPORT_URL="https://github.com/elementary/os/issues/new"
PRIVACY_POLICY_URL="https://elementary.io/privacy-policy"
VERSION_CODENAME=hera
UBUNTU_CODENAME=bionic

倒数第二行 VERSION_CODENAME=hera 是当前系统版本,我的是elementary OS的hera版本,最后一行是父版Ubuntu的版本:bionic,因此我们要把$(lsb_release -cs)替换为bionic:

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   bionic \
   stable"

其实对于其他Linux版本比如Debian及其衍生版deepin,只需要修改上面的版本名ubuntu和版本号bionic为相应的内容就可以,以deepin为例,在终端执行以下命令查看debian版本:

$ cat /etc/debian_version
9.0

可以看到该deepin版本(Deepin15.11)是基于Debian9.0的,Debian每个版本号都有一个代号:

版本 代号
10 buster
9 stretch
8 jessie
7 wheezy
6.0 squeeze

其他版本可以去Debian官网查看。不过目前docker仅支持Debian9和Debian10(更早的版本不是已经被淘汰就是即将被淘汰)。所以要在deepin上安装docker,我就要把命令改为:

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   stretch \
   stable"

安装Docker engine - Community

  1. 更新 apt 包索引:

$ sudo apt-get update

  1. 安装最新版本的docker ce和containerd
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
  1. 安装指定版本的docker ce
    第二步默认安装的是最新版本的docker ce,如果要安装其他版本,可以通过以下命令。
    a. 列出仓库中的可选版本:
$ apt-cache madison docker-ce
 docker-ce | 5:19.03.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
 docker-ce | 5:19.03.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
...

b. 使用第二列中的版本字符串安装特定版本,例如5:19.03.8~3-0~ubuntu-bionic:

$ sudo apt-get install docker-ce=5:19.03.8~3-0~ubuntu-bionic docker-ce-cli=5:19.03.8~3-0~ubuntu-bionic containerd.io
  1. 确认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:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

卸载Docker

  1. 卸载 Docker Engine - Community软件包
$ sudo apt-get purge docker-ce
  1. 删除镜像,容器和卷(可选)
    上一步的卸载命令并不会删除我们使用过程中下载及生成的镜像、容器等,要删除的话可以使用以下命令:
$ sudo rm -rf /var/lib/docker
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,695评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,569评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,130评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,648评论 1 297
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,655评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,268评论 1 309
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,835评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,740评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,286评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,375评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,505评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,873评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,357评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,466评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,921评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,515评论 2 359

推荐阅读更多精彩内容

  • Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 G...
    凉初透的风阅读 7,672评论 0 3
  • 关于nrm当使用官方npm源安装各种包比较慢的时候,需要修改npm源地址,nrm就是用来管理npm源地址的。nrm...
    Utnot阅读 176评论 0 1
  • 本文介绍如何在CentOS 8版本上设置或更改主机名(Hostname)而无需重新启动系统,有三种方法,内容包括主...
    dbabby阅读 753评论 0 0
  • 十一月第二本,很早读完了,一直没有写笔记,因为一些事十一月没有读新的书。习惯养成不易,丢掉太过容易。以后还是要每天...
    24K超超老师阅读 389评论 0 0
  • 秋高气爽,万山红遍。万紫千红是一种美,大江东去也是一种美,高山巍峨也是一种美,但我却钟情于片片落叶起舞的小美。 秋...
    凤啸阅读 1,297评论 0 0