目录
背景
1、开发和运维之间因环境不同而导致的矛盾
2、集群环境中每台及其都部署相同的应用
简介
Docker是一个开源的应用容器引擎,让开发这可以打包她们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux及其上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不回有任何的接口。
Docker是世界领先的软件容器平台。开发人员利用docker可以消除协作编码时候‘在我的机器上正常运行的’的问题。运维人员利用docker可以在隔离的容器中并行运行和管理应用,获得更好的计算密度。企业利用docker可以构建敏捷的软件交付管道,用更快的速度、更高的安全性和可靠的信誉为Linux和windows应用发布新功能
Docker 优点
简化程序:docker可以打包应用到一个可以指的程序中,然后发布到任何一个流行的linux中,开发者可通过docker对容器进行管理。方便快捷已经是docker的最优势。
节省开支:docker和云的结合,让云空间得到了更加充分的使用。不仅解决了硬件管理的问题,也改变的虚拟化的方式。
Docker 架构
docker使用了c/s的架构,client通过接口与server进程通信实现容器的构建、运行、发布,如图:
Host(docker的宿主机)
安装了docker程序,并运行docker daemon的主机
Docker daemon(Docker 守护进程)
据运行在宿主机上,docker 守护进程,用户通过docker 的client与daemon进行交互。
images(镜像)
将软件环境打包好的模版,用来创建容器的,一个镜像可以创建多个容器。
Containers(容器)
Docker的运行组件,启动一个镜像就是一个容器,容器与容器之间相互隔离,并且不会互相影响。
Docker Client
docker 的命令行工具,用户通过命令与docker deamon进行通信并返回结果给用户,也可以使用其他工具通过docker api与docker deamon通信
Registry(仓库服务注册)
此处和maven的仓库概念类型,registry可以有多个仓库,每个仓库可以看作是一个用户,一个用户的仓库安装了多个镜像,仓库分为公开仓库和私库,最大的公开仓库是Docker Hub,国内也有比如阿里云等。
Docker 安装
Docker提供两个版本:社区版和企业版
操作系统要求
以centos7为例,且docker的操作系统必须为64,且内核版本在3.1以上。
一、准备
卸载旧版本:
yum remove docker docker-common docker-selinux docker-engine yum remove docker-ce
卸载后将保留 /var/lib/docker 的内容(镜像、容器、存储卷和网络等)。
rm -rf /var/lib/docker
1.安装依赖软件包
yum install -y yum-utils device-mapper-persistent-data lvm2 #安装前可查看device-mapper-persistent-data和lvm2是否已经安装 rpm -qa|grep device-mapper-persistent-data rpm -qa|grep lvm2
2.设置yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.更新yum软件包索引
yum makecache fast
二、安装
安装最新版本docker-ce
yum install docker-ce -y
#安装指定版本docker-ce可使用以下命令查看
yum list docker-ce.x86_64 --showduplicates | sort -r
# 安装完成之后可以使用命令查看
docker version
三、配置镜像加速
这里使用阿里云的免费镜像加速服务,也可以使用其他如时速云、网易云等
1.注册登录开通阿里云容器镜像服务
2.查看控制台,招到镜像加速器并复制自己的加速器地址
3.找到/etc/docker目录下的daemon.json文件,没有则直接 vi daemon.json
4.加入以下配置
#填写自己的加速器地址
{
"registry-mirrors": ["https://zfzbet67.mirror.aliyuncs.com"]
}
5.通知systemd重载此配置文件;
systemctl daemon-reload
6.重启docker服务
systemctl restart docker
未完待续
docker 的常用操作
docker中安装并运行mysql数据库的实例
一个人走的快,一群人走的远