2020-03-02 20:46:40

原创 | 全网最实在的docker入门教程一

35 / 0 / 0 / 0

作者: 码农code之路 来源: 码农code之路

为什么学习docker

近年来微服务架构真的是非常流行了,作为开发者,即时你没有做过微服务,但肯定谈论过它或者听别人谈论过它。那么我们的docker和微服务之间究竟有着什么联系呢?

众所周知,微服务架构强调的是服务拆分,把一个大的系统拆分成多个小的系统,每个小系统提供的服务相互协作组成原来完整的大系统,然后就可以在每个小系统的基础上进行横向扩展,也就是集群,以此提高系统的服务能力,本质上就是分而治之的理念。

关键点来了,开发人员负责开发每个小系统,运维人员负责部署扩展,事实上这通常不是件一帆风顺的转交过程,会发生各种意想不到的情况。敲黑板,docker就可以成为解决这种情况的利器。

docker的实质就是一种容器虚拟化技术,使用docker可以把开发者开发的小系统制成镜像,丢给运维人员,运维人员只需要在机器上安装docker就可以运行这个镜像,如果横向扩展,可以运行多个镜像,一切OK!

如此一来,开发者只需要关心系统逻辑的开发,运维只需要管理镜像的运行!由此看来,使用docker可以大大缩短代码从开发、测试到部署、上线运行的周期,而且让代码具备超强的移植性,只要跑服务的机器上安装docker即可。此外,docker鼓励单个容器运行单个应用服务,服务于服务之间就表现为多个容器的互联,进行这对于构建微服务架构是非常有利的。

说了这么多,接下来就来学习这个神奇的码头工吧!(docker原义为码头工人,搬运工,这与docker的工作设计理念是一致的)

docker 安装

 

作为入门教程,安装必不可少,因为现在的不少教程是存在些遗漏的,直接用安装好的docker,以至于初学者在软件环境上遇到不少难题(说实话,这也是我遇到过的,着实很坑)
这里我使用的虚拟镜像是centOS7,注意如果使用centOS6版本的话内核对于docker的一些操作是不完全支持的;软件是virtueBox,本人以前最先使用的是VMware,但是有时候会出现服务自动挂掉的情况,后来换了virtueBox,就一直在使用这个了,也向大家推荐一下。
以下操作为本人亲自操作,放心实战!
使用root角色登录centOS1.首先建议大家关掉防火墙

systemctl disable firewalld  开机禁止启动  

2.更新yum包

yum update  

3.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖

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

4.设置docker软件安装包的下载yum源为阿里云(注意理解:不是docker下载镜像的源)

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

5.接下来就可以安装啦(如果不设置第四步,这里的下载会很慢,我这里已经6M/s了)

   yum install docker-ce  

6.安装成功之后我们可以查看当前的docker版本

docker –v  

7.设置docker获取镜像的加速源,这个很重要,默认的国外源几乎是无法使用的(通过docker我们可以拉取网上已经有的各种镜像如redis,nginx等,就像设置maven的pom源)这里我们选择了阿里云的加速地址:

https://bjtzu1jb.mirror.aliyuncs.com  

创建docker镜像加速配置:

vi -p /etc/docker/daemon.json

在文件中添加如下内容

{  

    "registry-mirrors":["https://bjtzu1jb.mirror.aliyuncs.com"]  

}  

保存退出,到此docker的安装已经完毕了。

docker使用

1.启动docker

systemctlstart docker  

 此时我们可以查看docker的信息

docker info  

 

可以看到我们上面的配置已经生效了。
停止、重启、和开机启动:

systemctl stop/restart/enable docker  

docker 常用命令 ****

1.搜索镜像(下载的镜像通过一条简单的命令创建容器就可以直接运行)

docker search 镜像名  

例如我们搜索redis的镜像:docker search redis

参数:  

NAME:镜像的仓库名  

DESCRIPTION:镜像描述  

STARS:用户评价,即用户欢迎程度  

OFFICIAL:是否官方  

2.下载(拉取)镜像

docker pull 镜像名:版本  

例如:docker pull nginx  如果不加版本默认会为我们下载latest版本

3.查看镜像

docker images  

 

可以看到我们刚才下载的镜像,这些镜像都是存储在Docker宿主机的/var/lib/docker目录下,参数意义:

REPOSITORY:镜像名称  

TAG:镜像标签  

IMAGE ID:镜像ID  

CREATED:镜像的创建日期(不是获取该镜像的日期)  

SIZE:镜像大小  

需要注意的是根据镜像id可以确定唯一一个镜像,而镜像名+标签才能确定唯一一个镜像。

4.删除镜像

docker rmi 镜像id   (我们通常地使用id来删除或者运行指定的镜像。)  

 

关于容器(镜像)的运行、创建我们放在下一篇,关注不迷路哦!

PS: 如本文对您有疑惑,可加QQ:1752338621 进行讨论。

0 条评论

0
0
官方
微信
官方微信
Q Q
咨询
意见
反馈
返回
顶部