这个《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. 22 nginx配置与集群

    一:编译nginx ,并配置 Cd /app/pcre-8.12 ./configure Make && make install Cd nginx-1.2.7 ./configure ...

  2. EntityFramework走马观花之CRUD(中)

    如果是独立的实体对象,在底层数据库中它对应一张独立的表,那么,对它进行新建.删除和修改没有任何难度,实在不值浪费笔墨在它上头. 在现实项目中,完全独立的对象少之又少,绝大多数情况都是对象之间有着紧密的 ...

  3. python cookbook第三版学习笔记五:datetime

    Python中表示时间的模块是datetime,引入下面的模块 from datetime import datetime,timedelta print datetime.today()  #打印出 ...

  4. 高性能 Socket 组件 HP-Socket v3.2.1-RC1 公布

    HP-Socket 是一套通用的高性能 TCP/UDP Socket 组件.包括服务端组件.client组件和 Agent 组件.广泛适用于各种不同应用场景的 TCP/UDP 通信系统.提供 C/C+ ...

  5. Zookeeper四字命令

    ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 ...

  6. Data Structure Binary Tree: Level order traversal in spiral form

    http://www.geeksforgeeks.org/level-order-traversal-in-spiral-form/ #include <iostream> #includ ...

  7. MVC常见错误记录

    1 找到了多个与名为“Home”的控制器匹配的类型.如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间来搜索匹配此请求的 根项目下的RouteCon ...

  8. 修复升级ndk到17.0.4754217编译so失败问题

    今天编译工程总过不去,查看失败原因,因为ndk的mips编译不过去. A problem occurred starting process ‘command ‘/Users/didi/Library ...

  9. 分享知识-快乐自己:搭建第一个 Hibernate (Demo)

    使用 Hibernate 完成持久化操作 七大 步骤: 1.读取并解析配置文件及映射文件: Configuration configuration=new Configuration().config ...

  10. Visual Studio 2012 与此版本的 Windows 不兼容 解决

    警告: [Window Title] 程序兼容性助手[Main Instruction] 此程序存在已知的兼容性问题[Expanded Information] Visual Studio 2012 ...