Docker学习

什么是Docker?
docker是基于go语言实现的云开源项目。

Docker的主要特点:

一次封装,到处运行

解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。

容器虚拟化技术,容器不是模拟一个完整的操作系统!

容器内没有自己的内核,而且也没有进行硬件的虚拟
每个容器之间相互隔离,每个容器有自己的文件系统
容器之间的进程不会相互影响,能区分计算资源
三大核心概念:

容器

Docker利用容器(Container) 独立运行的一个或一组应用。
容器是用镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是个简易版的Linux环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
容器的定义和镜像几乎一模一样,也是一堆层的统一视角, 唯一区别在于容器的最上面那一层是可读可写的。
镜像

就是一个只读的模板,镜像可以用来创建Docker容器,一个镜像可以创建很多容器

仓库

仓库(Repository) 是集中存放镜像文件的场所。
仓库(Repository)和仓库注册服务器(Registry) 是有区别的。仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag) 。
仓库分为公开仓库(Public) 和私有仓库(Private) 两种形式。
最大的公开仓库是Docker Hub(https://hub.docker.com/),
存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云、网易云等

Docker安装(以centos为例)
1.前提要求
Docker支持以下的CentOS版本:
centos 7(64bit)或更高的版本
centos 6.5(64bit)或更高的版本
内核要求:
目前,CentOS 仅发行版本中的内核支持Docker.
Docker运行在CentOS7上,要求系统为64位、系统内核版本为3.10以上。
Docker运行在CentOS-6.5或更高的版本的CentOS上,要求系统为64位、系统内核版本为2.6.32-431或者更高版本。
使用uname -r进行查看内核信息,使用cat /etc/redhat-release查看centos版本。

2.按照官网命令安装docker
Docker使用EPEL发布,RHEL系的OS首先要确保已经保持已有的EPEL仓库,否则先检查OS的版本,然后安装相应的EOEL包。

yum install -y epel-release

Docker 软件包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:

sudo yum install docker

开始运行 Docker daemon。

CentOS-7 中介绍了 firewalld,firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。

当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。

当你使用的是 Systemd 的时候, firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后再启动 或者重启 firewalld ,你就需要重启 Docker 进程了。

当docker安装完成后,启动docker进程:

sudo service docker start

这时我们可以用docker version验证docker安装是否出现问题。

如果我们希望docker默认开机启动,则执行下面命令即可:

$ sudo chkconfig docker on
现在,我们来验证 Docker 是否正常工作。第一步,我们需要下载最新的 centos 镜像。

$ sudo docker pull centos
下一步,我们运行下边的命令来查看镜像,确认镜像是否存在:

$ sudo docker images centos
这将会输出如下的信息:

$ sudo docker images centosREPOSITORY

TAG IMAGE ID CREATED VIRTUAL SIZEcentos latest 0b443ba039582 hours ago 297.6 MB
运行简单的脚本来测试镜像:

$ sudo docker run -i -t centos /bin/bash
如果正常运行,你将会获得一个简单的 bash 提示,输入 exit 来退出。

3.使用官方安装脚本自动安装
安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker –mirror Aliyun
也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh
4.连接阿里云镜像安装docker

step 1: 安装必要的一些系统工具

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

Step 2: 添加软件源信息

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

Step 3

sudo sed -i ‘s+download.docker.com+mirrors.aliyun.com/docker-ce+’ /etc/yum.repos.d/docker-ce.repo

Step 4: 更新并安装Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce

Step 4: 开启Docker服务

sudo service docker start

注意:

官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。

vim /etc/yum.repos.d/docker-ce.repo

将[docker-ce-test]下方的enabled=0修改为enabled=1

#

安装指定版本的Docker-CE:

Step 1: 查找Docker-CE的版本:

yum list docker-ce.x86_64 –showduplicates | sort -r

Loading mirror speeds from cached hostfile

Loaded plugins: branch, fastestmirror, langpacks

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

docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable

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

Available Packages

Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)

sudo yum -y install docker-ce-[VERSION]


已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注