这个《Docker入门系列》文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成。主要是作为个人学习记录。有错误的地方,Robin欢迎大家指正。分为如下几个部分:

1 Docker入门:简介

2 Docker入门:安装/卸载

3 Docker入门:容器(Containers)

4 Docker入门:服务(Services)

5 Docker入门:Swarms

6 Docker入门:Stacks

7 Docker入门:部署app

8 Docker入门:稍高级的话题

2.1 版本及平台简介

Docker有两个主要版本:CE(Community Edition)和EE(Enterprise Edition)。

Docker CE是开发者和小团队的理想选择,可以通过它了解Docker,并体验基于容器的应用程序。本文使用Docker CE。

Docker可以支持许多平台。比如,

(1)桌面系统:MAC/WINDOWS;

(2)云平台:AWS/Azure;

(2)服务器:CentOS/Debian/Fedora/Windows server2016/Red Hat Enterprise Linux等。

本文在CentOS上安装。

2.2 删除老版本

旧的Docker版本被称为docker或docker-engine。如果存在旧版本,就卸载它们及其关联的依赖。

使用如下命令卸载老版本:

$ sudo yum remove docker docker-common docker-selinux docker-engine

卸载后,/var/lib/docker/的内容依然保留,包括映像,容器,卷,和网络配置。

新的Docker包名字为docker-ce。

2.3 安装的三种方式

根据需要,可选择三种方式安装Docker。

  • 很多用户配置Docker仓库,并从仓库中安装Docker,从而简化安装和升级工作。这是推荐方式。本文采用这种方式。
  • 有的用户下载RPM包并手动安装,升级也是手动进行。这种方式适合在无法连接互联网时安装Docker。
  • 在开发/测试环境中,有的用户选择使用自动化脚本来安装Docker。

2.4 安装Docker

采用上述第一种方式(install using the repository)进行安装。采用如下几节步骤。

2.4.1 配置仓库

分为如下步骤:

(1)安装需要的包。yum-utils提供yum-config-manager管理工具;devicemapper存储驱动需要device-mapper-persistent-data和lvm2。

[root@localhost /]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Loaded plugins: fastestmirror, langpacks

base                                                                                                         | 3.6 kB  00:00:00

extras                                                                                                       | 3.4 kB  00:00:00

updates                                                                                                      | 3.4 kB  00:00:00

updates/7/x86_64/primary_db                                                                                  | 2.7 MB  00:00:18

Loading mirror speeds from cached hostfile

* base: mirrors.aliyun.com

* extras: mirrors.aliyun.com

* updates: mirrors.tuna.tsinghua.edu.cn

Package yum-utils-1.1.31-42.el7.noarch already installed and latest version

Package device-mapper-persistent-data-0.7.0-0.1.rc6.el7.x86_64 already installed and latest version

Package 7:lvm2-2.02.171-8.el7.x86_64 already installed and latest version

Nothing to do

(2)使用如下命令安装stable仓库:

[root@localhost /]# sudo yum-config-manager \

--add-repo https://download.docker.com/linux/centos/docker-ce.repo

Loaded plugins: fastestmirror, langpacks

adding repo from: https://download.docker.com/linux/centos/docker-ce.repo

grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo

repo saved to /etc/yum.repos.d/docker-ce.repo

(3)使能/不使能edge仓库和test仓库。本步骤为可选的,略。

2.4.2 安装Docker CE

如果安装Docker CD的最新版本,采用如下命令:

$ sudo yum install docker-ce

警告:如果你使能了多个Docker仓库,使用命令yum install或yum update进行安装或升级时,将会安装最高(新)的版本,这可能不满足你的版本需求。

如果你是第一次通过最新添加的仓库来安装,将会提示接受GPG key,并且该key的fingerprint将会显示出来,只有接受该key,才能继续安装,这个fingerprint要和下面的值匹配:

060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35.

如果要安装Docker CE的特定版本。首先列出可用的版本,并使用命令sort –r进行排序:

$ yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64            17.09.ce-1.el7.centos             docker-ce-stable

列出的内容取决于使能了哪些仓库,并和CentOS的特定版本(由.e17标识)有关。然后选择一个版本安装。第二列是版本号,你可以使用整个字符串,但至少使用到第一个连接符。第三列是仓库名称,用于标识来自于哪个仓库。本示例中的全限定名称为:docker-ce-17.09.ce。安装命令如下:

$ sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>

2.4.3 启动Docker

使用如下命令启动:

$ sudo systemctl start docker

2.4.4 测试验证

通过运行hello-world映像来验证Docker是否正确安装:

[root@localhost /]# sudo docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

5b0f327be733: Pull complete

Digest: sha256:07d5f7800dfe37b8c2196c7b1c524c33808ce2e0f74e7aa00e603295ca9a0972

Status: Downloaded newer image for hello-world:latest

Hello from Docker!

This message shows that your installation appears to be working correctly.

这个命令会下载一个测试映像,并在一个容器中运行。当容器运行时,将会打印一条信息然后结束。

Docker CE安装运行后,可以使用sudo来运行Docker命令。

2.4.5 查看Docker版本号

[root@localhost /]# docker --version

Docker version 17.09.0-ce, build afdb6d4

2.5 升级Docker CE

采用如上安装步骤来升级Docker CE。

2.6 卸载Docker CE

使用如下命令卸载Docker包:

$ sudo yum remove docker-ce

上面命令只是卸载Docker包,而映像(images)、容器(containers)、卷(volumes)、用户配置的文件并不会从你的主机上自动删除,使用如下命令删除这些东西:

$ sudo rm -rf /var/lib/docker

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

Docker入门(二):安装/卸载的更多相关文章

  1. docker入门_docker安装

    docker入门_docker安装 ubuntu 安装 curl -sSL https://get.daocloud.io/docker | sh # 官方安装脚本自动安装 systemctl ena ...

  2. Docker入门之安装Docker

    目录 目录 1 1. 前言 1 2. 创建网桥 2 3. 安装Docker 2 3.1. 二进制安装 3 3.1.1. 下载安装 3 3.1.2. 配置服务 3 3.1.3. 启动服务 4 3.2. ...

  3. Docker 入门及安装[Docker 系列-1]

    docker 如日中天,这不是单纯的炒概念,docker 确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用,本文对于 docker 的这些基本知识点再做一些简单回顾. 什么是 do ...

  4. Docker入门之安装与使用

    1. 安装(windows) win7.win8以及win10家庭版 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliy ...

  5. Docker入门二

    容器管理 1.docker create创建一个容器,但容器并没启动,就和我们创建虚拟机一样,创建了虚拟机后没启动 [root@centos-02 ~]# docker create -it cent ...

  6. docker入门及安装

    Docker简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).ba ...

  7. Hbase入门(二)——安装与配置

    本文讲述如何安装,部署,启停HBase集群,如何通过命令行对Hbase进行基本操作. 并介绍Hbase的配置文件. 在安装前需要将所有先决条件安装完成. 一.先决条件 1.JDK 和Hadoop一样, ...

  8. Docker入门之安装与简单使用操作

    1.docker安装 #1.检查内核版本,必须是3.10及以上 uname -r #2.安装 yum -y install docker 2.docker简单使用 #1.启动docker system ...

  9. Docker笔记(二) 安装常用软件

    常用环境安装 这里收集一些常用环境的安装步骤,可直接复制进行使用,节省安装时间,后续会随时补充 安装MySQL5.7.32 下载mysql5.7.32的镜像 ( 记得下载镜像要先确保镜像仓库中存在这个 ...

  10. docker入门(二)容器与镜像的理解

    10张图带你深入理解Docker容器和镜像 申明:此篇文章是转载的(原文地址http://dockone.io/article/783),今天意外发现已经有人转载了(复制了),希望大家关注原创 原本打 ...

随机推荐

  1. linux lamp

    1. 用yum安装Apache,Mysql,PHP. 1.1安装Apache yum install httpd httpd-devel 安装完成后,用/etc/init.d/httpd start ...

  2. 09-redis事务及锁应用

    Redis 中的事务 Redis支持简单的事务 Redis与 mysql事务的对比 ------------------------------------------------------- My ...

  3. 800元组装一台3D打印机全教程流程

    我最近正好要组装一台新的reprap的kossel delta型开源3d打印机,这台机器性价比非常高,具有速度快,静音,三臂并联结构,扩展性强,便宜的特点.图纸啥的都有,只是用到mega2560和ra ...

  4. C#利用SharpZipLib进行文件的压缩和解压缩

    我在做项目的时候需要将文件进行压缩和解压缩,于是就从http://www.icsharpcode.net下载了关于压缩和解压缩的源码,但是下载下来后,面对这么多的代码,一时不知如何下手.只好耐下心来, ...

  5. c# 备份数据

    #region 备份数据文件 /// <summary> /// 备份数据文件 /// </summary> /// <param name="strFileN ...

  6. EasyNVR流媒体服务器网页兼容调试:ie浏览器下的接口调用成功但页面无法显示实时的数据

    许多问题很难在开发的过程中就想的面面俱到,都是在实际应用.调试的过程中一一的优化的.由于easynvr的受众越来越多,因此也出现了好多在开发之初并没有留意的一些细节.我这次发现的问题就是给客户远程解决 ...

  7. 【题解】POJ1934 Trip (DP+记录方案)

    [题解]POJ1934 Trip (DP+记录方案) 题意: 传送门 刚开始我是这么设状态的(谁叫我DP没学好) \(dp(i,j)\)表示钦定选择\(i\)和\(j\)的LCS,然而你会发现这样钦定 ...

  8. JavaScript for循环实现表格隔行变色

    本代码主要演示的是for循环, <!doctype html> <html lang="en"> <head> <meta charset ...

  9. 我的Java开发学习之旅------>工具类:Java获取字符串和文件进行MD5值

    ps:这几天本人用百度云盘秒传了几部大片到云盘上,几个G的文件瞬秒竟然显示"上传成功"!这真让我目瞪口呆,要是这样的话,那得多快的网速,这绝对是不可能的,也许这仅是个假象.百度了一 ...

  10. wifi debug command

    ==================================================================================================== ...