Docker——1——Docker的安装/加速器

旧log:
在这里插入图片描述

新log:
在这里插入图片描述
docker官方网址:https://www.docker.com/
docker官方仓库:https://hub.docker.com/

docker的基本概念

1、Docker是什么

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。

诞生于2013年,最初发起者是dotCloud公司,后来改名为Docker Inc
Docker的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么我就不需要专门运送水果的船和专门运送化学品的船了。只要这些货物在集装箱里封装的好好的,那我就可以用一艘大船把他们都运走。
docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱。

  • 1、不同的应用程序可能会有不同的应用环境,比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。比如IIS和Apache访问端口冲突。这个时候你就要隔离.net开发的网站和php开发的网站。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高。docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。
  • 2、你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。3.在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,这些内存就会利用起来。
  • docker 是一种轻量级的“虚拟机”
  • 在Linux容器里运行应用的开源工具

2、Docker和虚拟机的区别

特性Docker容器虚拟机
启动速度秒级分钟级
计算能力损耗几乎无损耗 50%左右
性能接近原生弱于
系统支持量(单机)上千个几十个
隔离性资源限制完全隔离

Docker之所以拥有众多优势,与操作系统虚拟化自身的特点是分不开的。传统虚拟机需要有额外的虚拟机管理程序和虚拟机操作系统层,而Docker容器是直接在操作系统层面之上实现的虚拟化。
在这里插入图片描述

3、Docker的使用场景

  • 打包应用程序简化部署
  • 可脱离底层硬件任意迁移

例:服务器从腾讯云迁移到阿里云,如果采用Docker容器技术,迁移只需要在新的服务器上启动需要的容器即可。

4、Docker的核心概念

image:镜像——镜像的是容器运行的基石
container:容器——容器是镜像运行之后的实例
repostory:仓库——镜像的集合存储的地方

详解:
1、镜像
Docker的镜像(lmage)是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板。(比如:一个镜像可以是一个完整的CentOS操作系统环境,称为一个CentOS镜像;可以是一个安装了MySQL的应用程序,称为一个MySQL镜像等等。)Docker提供了简单的机制来创建和更新现有的镜像,用户也可以从网上下载已经做好的应用镜像来直接使用。
2、容器
Docker的容器(Container)是从镜像创建的运行实例。它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,可以保证安全性的平台。可以把容器看作一个简易版的Linux环境,Docker利用容器来运行和隔离应用。
3、仓库
仓库注册服务器(Registry)是存放仓库的地方,其中包含了多个仓库,每个仓库集中存放某一类镜像,并且使用不同的标签(Tag)来区分它们。

Docker安装

Docker支持在主流的操作系统平台上进行使用,包括Windows系统、Linux系统及MacOS系统等。目前最新的RedHat RHEL、CentOS及Ubuntu系统官方软件源中都已经默认自带了Docker包,可直接安装使用,也可以用Docker自己的YUM源进行配置。

docker-EE:企业版————docker-CE:社区版
使用docker的基本要求:

内核版本必须是3.10以上的。查看内核版本:uname -r

[root@docker ~]# uname -r
3.10.0-514.el7.x86_64
centos 6:内核版本2.6——能否使用docker?——能——>升级内核版本

方案一:从Docker的官方下载

docker的官方网址:https://www.docker.com/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@docker ~]# wget https://download.docker.com/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo		#下载docker官方yum源到本地/etc/yum.repos.d/docker-ce.repo

[root@docker ~]# yum repolist
……
(3/4): docker-ce-stable/x86_64/primary_db                                   |  45 kB  00:00:01     
(4/4): docker-ce-stable/x86_64/updateinfo                                   |   55 B  00:00:02     
……
docker-ce-stable/x86_64                      Docker CE Stable - x86_64                           79
……

#[root@docker ~]# yum -y install docker		#不推荐使用!!!国外太慢!!!

因为网速原因,所以可以采取另外一种方法,从国内下载,国内很多网站都提供了docker-ce的镜像站,比如说阿里云、网易云、清华大学镜像站等。这里我从阿里云下载的方式来下载。

方案二:阿里云下载

阿里云镜像站:https://developer.aliyun.com/mirror/

mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak		#备份刚docker的官方yum源
yum install -y yum-utils device-mapper-persistent-data lvm2		#安装必要的一些系统工具
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo		#添加软件源信息
#更新并安装Docker-CE
yum makecache fast
#yum -y install docker-ce		#不推荐!!!直接yum下载最新版本!!!

[root@docker ~]# yum list docker-ce.x86_64 --showduplicates | sort -r		#查找Docker-CE可用版本
docker-ce.x86_64            3:19.03.9-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.8-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.7-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.6-3.el7                     docker-ce-stable
docker-ce.x86_64            3:19.03.5-3.el7                     docker-ce-stable

#这里下载指定版本18.9.0,注意并没有采取阿里云官方推荐的方法,分别下载了docker-ce,docker-ce-cli这2个组件
yum install docker-ce-18.09.0 docker-ce-cli-18.09.0			#安装指定版本的Docker-CE

#最小化安装系统的,可以再去下载下边的工具,用来实现tab建自动补全的功能
yum -y install bash-completion

[root@docker ~]# systemctl start docker			#启动
[root@docker ~]# systemctl enable docker		#开启自启
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@docker ~]# docker version			#效验版本
Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:48:22 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.0
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.4
  Git commit:       4d60db4
  Built:            Wed Nov  7 00:19:08 2018
  OS/Arch:          linux/amd64
  Experimental:     false
[root@docker ~]# docker pull centos:7		#国外的仓库!!!非常慢!!!

docker镜像的加速器(daocloud、aliyun)

1、daocloud加速器

daocloud官网:https://www.daocloud.io/
使用docker镜像加速器,这里使用的是daocloud的加速器,当然还有其他的加速器,例如阿里云、清华镜像站等
在这里插入图片描述

[root@docker ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

#加速器完成之后,会生产/etc/docker/daemon.json文件,里边记载着刚刚加载成功的加速器的网址。如果想要替换其他网站的加速器,只需要更改此网址即可
[root@docker ~]# cat /etc/docker/daemon.json 
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}

#PS:还有别忘了,如果更改了配置文件选项,别忘了重启一下docker服务
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
[root@docker ~]# docker info
……
Registry Mirrors:
 http://f1361db2.m.daocloud.io/
……
2、aliyun加速器

阿里云官网:https://developer.aliyun.com/mirror/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@docker ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://leo12tew.mirror.aliyuncs.com"]
}

[root@docker ~]# docker info
……
Registry Mirrors:
 https://leo12tew.mirror.aliyuncs.com/
……
[root@docker ~]# vim /etc/sysctl.conf
#添加
[root@docker ~]# sysctl -p
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
管理docker常用的基础命令
docker load -i ubuntu.tar 	导入本地镜像
docker run -it --name vm1 ubuntu 	创建容器(以ubuntu镜像为模板 可交互)
docker ps 	查看容器状态
docker ps -a 	查看容器状态(包括不活跃的容器)
docker attach vm1 	连接容器
docker inspect vm1 	查看容器详情
docker run -d --name vm1 ubuntu 	运行容器打入后台
[root@docker01 ~]# docker pull centos:7		#从仓库中拉取镜像centos:7
[root@docker01 ~]# docker image ls			#查看已有的镜像(可简写为docker images)
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              7                   7e6257c9f8d8        2 weeks ago         203MB

注释:

REPOSITORY镜像属于的仓库
TAG镜像的标签信息,标记同一个仓库中的不同镜像
IMAGE ID镜像的唯一ID号,唯一标识了该镜像
CREATED镜像创建时间
SIZE镜像大小
[root@docker01 ~]# docker ps		#查看正在运行的容器

全部完成之后,关机快照留用即可

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值