前言

上一章节,已经简单讲解了Docker相关方面的知识,相信大家已经有个概念了。这章节开始,开始进行实践操作。和学习任何一门语言一样,我们今天也开始从Hello,World开始~

Docker不了解的,可查看下第一章:Docker简介

CentOS系统Docker安装

现在的Docker已经能支持WindowsMacLinux的各大操作系统了。但在生产阶段,应该Linux才是主流。其他的平台还是主要以学习为主。但对于Linux平台而言,又有CentOSDebianFedoraUbuntu等等不同的发行版。不同的发行版安装过程是稍有不同的。本章节主要是以CentOS版本进行讲解,安装的是社区版Docker CE版,其他的发行版可自行搜索下,或者查看其官方安装文档,里面有详细说明的。对于Windows,之前有安装过,不好用。而Mac,没有环境呀。

前提条件

To install Docker CE, you need a maintained version of CentOS 7. Archived versions aren’t supported or tested.

The centos-extras repository must be enabled. This repository is enabled by default, but if you have disabled it, you need to re-enable it.

The overlay2 storage driver is recommended。

请容许我用蹩脚的翻译说明大致说明下:需要一个发行版的CentOS 7(64位)版本,不支持测试或者存档版本。同时需要开启centos-extras软件源,建议使用overlay2存储驱动(这个是真心不懂,求知道的大神答疑,谷歌后是说这样模式能提高性能,加快速度)。

所以,大家在安装前可以检查下这些条件是否满足,以下是本章节演示的阿里云ECS的系统版本:

LSB Version: :core-4.1-amd64:core-4.1-noarch

Distributor ID: CentOS

Description: CentOS Linux release 7.4.1708 (Core)

Release: 7.4.1708

Codename: Core

使用yum安装

因为Docker已经默认在centos-extras源了,所以可以直接使用yum命令进行安装。

题外话:对于已经安装了旧的版本(dockerdocker-engine)的同学,可以利用以下命令进行卸载。

$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

安装命令

sudo yum install docker-ce

**或者 **

sudo yum -y install docker-ce

题外话:加没加-y的区别:如果使用yum install xxxx,会找到安装包之后,询问你Is this OK[y/d/N],需要你手动进行选择。但是如果加上参数-y,就会自动选择y,不需要你再手动选择!

yum -y install 包名(支持*) :自动选择y,全自动
yum install 包名(支持*) :手动选择y or n

回车后,就等着安静的下载吧。

控制台输出:

#前面大段忽略...
Dependency Updated:
audit.x86_64 0:2.8.1-3.el7 audit-libs.x86_64 0:2.8.1-3.el7 libselinux.x86_64 0:2.5-12.el7
libselinux-python.x86_64 0:2.5-12.el7 libselinux-utils.x86_64 0:2.5-12.el7 libsemanage.x86_64 0:2.5-11.el7
libsepol.x86_64 0:2.5-8.1.el7 policycoreutils.x86_64 0:2.5-22.el7 selinux-policy.noarch 0:3.13.1-192.el7_5.4
selinux-policy-targeted.noarch 0:3.13.1-192.el7_5.4 Complete!

友情提示:若安装过程中,提示类似No package docker-ce available.字样时,可尝试按一下步骤进行软件源的更新。

1.安装基础包

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

其中yum-utils提供yum-config-manager功能,另外两个是devicemapper驱动依赖。

2.设置yum源(由于国内环境,这里直接使用了阿里云镜像地址)

sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.之后正常应该就可以了,若安装后还提示类似的:

https://download.docker.com/linux/centos/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

字眼,可查看下/etc/yum.repos.d目录下的docker-ce.repo文件是否包含

https://download-stage.docker.com字眼,直接替换成http://mirrors.aliyun.com/docker-ce(网友提供,未发现此问题。出问题时,可检查下),或者目录中有包含download.docker.com_linux_centos_.repo(未替换阿里云镜像加了官网的源地址是出现)文件的,删除此文件即可。

另外,若需要安装特定版本时,可查看下版本列表:

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

比如,选定了18.03.1.ce-3.el7(第三行),则运行

# yum install <FULLY-QUALIFIED-PACKAGE-NAME>
# 注意:包名是截取第一列和第二列的部分值组合而成
sudo yum install docker-ce-18.03.1.ce

启动docker

sudo systemctl start docker

然后输入一下命令进行验证:

sudo docker info

说明已经安装成功了。

安装阿里云加速器

安装成功后,还需要安装下加速器,原因你懂的。这里直接使用阿里云的镜像,大家可在阿里云控制台进行查看。

查看目录:

控制台首页(产品与服务)-->容器镜像服务--->镜像加速器

文件/etc/docker/daemon.json(不存在,手动创建下daemon.json文件),内容为:

{
"registry-mirrors": ["https://镜像地址.mirror.aliyuncs.com"]
}

第一个Docker应用

以上步骤完成后,我们就能开心的使用Docker了。这里我们直接运行官方提供的Hello,world镜像

sudo docker run hello-world

当出现以下字眼时,表明运行成功了。

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

此时,查看镜像列表,就可以看见此镜像信息了。

总结

本章节主要是介绍了下Docker的安装和运行了第一个Docker应用。总体来说是比较简单的,主要可能遇到的问题还是在yum源上。其他的应该都简单了。对于使用rpm包直接安装的,本章节就不阐述了,其实就下载了包后,直接安装即可(yum install rpm包路径)。好了,环境安装好后,下一章节开始介绍下Docker常用命令,敬请期待!

最后

若文中有错误或者遗漏之处,还望指出,共同进步!

参考资料

  1. https://docs.docker.com/install/linux/docker-ce/centos/
  2. RPM包下载的地址:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

老生常谈

  • 个人QQ:499452441
  • 微信公众号:lqdevOps

个人博客:http://blog.lqdev.cn

原文地址:http://blog.lqdev.cn/2018/07/31/docker/docker-two/

Docker | 第二章:第一个Docker应用的更多相关文章

  1. Docker第二章:docker基础1--镜像,容器&仓库

    镜像介绍及操作:http://www.haveneed.cn/article-detials/115 容器介绍及操作:http://www.haveneed.cn/article-detials/11 ...

  2. docker第二章--数据管理

  3. Pro ASP.NET MVC –第二章 第一个MVC程序

    学习一个软件开发框架的最有效的方式就是了解并使用它.在本章,你将会创建一个简单基于ASP.NET MVC Framework的数据-实体应用程序.我们会该程序划分成若干小块,每次介绍一个部分,以便你能 ...

  4. docker学习-运行第一个docker镜像hello world

    docker pull  [OPTIONS] NAME[:TAG]:从远程仓库拉取一个镜像到本地,NAME是要拉取的镜像的名称,TAG是docker镜像的版本,不指定的话默认是最新版本 docker ...

  5. Java面向对象编程 第二章 第一个Java应用

    2.1创建Java源文件 Java应用由一个或多个扩展名为".java"的文件构成,这些文件被称为Java源文件,从编译的角度,则被称为编译单元. 本章包含两个Java源文件:Do ...

  6. Google C++测试框架系列入门篇:第二章 开始一个新项目

    上一篇:Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest? 原始链接:Setting up a New Test Project 词汇表 版本号:v_0.1 开始一个新项目 ...

  7. 第二章——建立一个HelloWorld项目,练习使用git的add/commit/push/pull/fetch/clone等基本命令。比较项目的新旧版本的差别-----答题者:徐潇瑞

    1.首先下载安装git,很简单所以就不详细说了,当弹出一个类似的命令窗口的东西,就说明Git安装成功 2.因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识 3.接着,注册githu ...

  8. 年轻人的第一个 Docker 应用,大大提高生产力!

    上一篇:年轻人的第一个 Spring Boot 应用! 哈哈,标题我抄了雷总的,不重要哦,重要的是 Docker 真的很年轻,虽然现在才不到 8 岁,但却是个冉冉升起的巨星,火得一塌糊涂. 这几年 D ...

  9. docker 部署Spring Boot:Docker化Spring Boot应用程序

    第一章 1.创建项目存放目录 mkdir /root/sproot -p 2.准备好Spring Boot应用程序 jar 包 testrest.jar 第二章 1. 安装docker 在所有节点执行 ...

随机推荐

  1. 一 Optional

    从Java8 引入的一个很有趣的特性是Optional类.Optional类主要解决的问题是臭名昭著的空指针异常(NullPointerException).    一: 创建Optional对象: ...

  2. LAMP 1.4 PHP编译安装

    1.下载                                                                                                 ...

  3. tomcat jsp 数字串传值异常问题

    1.在下面的jsp内嵌java代码去除num之前,有某Controller已经有了操作:      request.getSession().setAttribute("num", ...

  4. 关于android 数据库查询出现 _id column do not exist 的处理

    查询的字段必须带上_id字段,否则就会出现此类异常,导致程序崩溃

  5. Struts学习总结 学习

    ContextMap 包含值栈包含 root(list结构)和context(map结构)  值栈包含contextMap的引用.  Actioncontext是工具类 可以获取他们 Struts2拥 ...

  6. Entity Framework Code-First(10.3):Property Mappings

    Property Mappings using Fluent API: Here, we will learn how to configure properties of an entity cla ...

  7. UVaLive 11525 Permutation (线段树)

    题意:有一个由1到k组成的序列,最小是1 2 … k,最大是 k k-1 … 1,给出n的计算方式,n = s0 * (k - 1)! + s1 * (k - 2)! +… + sk-1 * 0!, ...

  8. 【转】eclipse中window->preference选项中没有tomcat的解决方法

    eclipse中window->preference选项中没有tomcat的解决方法 2011-09-09 13:46:35|  分类: eclipse|字号 订阅 其实一共有好几种方法,这只是 ...

  9. 33、生鲜电商平台-定时器,定时任务quartz的设计与架构

    说明:任何业务有时候需要系统在某个定点的时刻执行某些任务,比如:凌晨2点统计昨天的报表,早上6点抽取用户下单的佣金. 对于Java开源生鲜电商平台而言,有定时推送客户备货,定时计算卖家今日的收益,定时 ...

  10. TMF大数据分析指南 Unleashing Business Value in Big Data(一)

    大数据分析指南 TMF Frameworx最佳实践 Unleashing Business Value in Big Data 前言 此文节选自TMF Big Data Analytics Guide ...