Docker基础概念及安装

一、Docker概述

1.docker简介

  • Docker是一种轻量级的“虚拟机”
  • 在Linux容器里运行应用的开源工具
  • Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
  • 注:物理机必须要内核3.8以上才能支持docker

2.docker核心概念

docker是由三部分组成,分别为镜像(Image)、容器(Container)和仓库(Repository)

  • image镜像
    docker镜像就是一个只读模板,比如,一个镜像可以包含一个完整的centos,里面仅安装apache或用户的其他应用,镜像可以用来创建docker容器,另外docker提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用
  • container容器
    docker利用容器来运行应用,容器是从镜像创建的运行实例,它可以被启动,开始、停止、删除、每个容器都是互相隔离的,保证安全的平台,可以把容器看做是要给简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行再其中的应用程序
  • repostory仓库
    仓库是集中存储镜像文件的沧桑,registry是仓库主从服务器,实际上参考注册服务器上存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)
    仓库分为两种,公有参考,和私有仓库,最大的公开仓库是docker Hub,存放了数量庞大的镜像供用户下周,国内的docker pool,这里仓库的概念与Git类似,registry可以理解为github这样的托管服务。

3.docker应用场景

Web 应用的自动化打包和发布。
自动化测试和持续集成、发布。
在服务型环境中部署和调整数据库或其他的后台应用。
从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。

4.常用命令

Docker build 创建镜像

Docker run  利用镜像运行容器

Docker image 关于镜像的一系列操作

Docker pull  从镜像仓库下载镜像到本地仓库

Docker push  上传镜像到镜像仓库

Docker container 执行关于容器的一系列操作

Docker stats 实时监控该节点容器的资源使用情况

二、docker架构

在这里插入图片描述

  • Docker框架主要由Docker Client、Docker Daemon、Docker Registry、Driver、Docker Container五个模块组成,另外还有Graph和Libcontainer两个辅助模块
  • Docker Client: 用户通过Docker Client与Docker Daemon进行通信,利用命令行发送创建镜像、运行容器之类的请求。
  • Docker Daemon:Docker Daemon是Docker架构中一个常驻在后台的系统进程,接受并处理Docker Client发送的请求。该守护进程在后台启动了一个Server,Server负责接受Docker Client发送的请求;然后通过路由与分发调度,找到相应的Handler来执行请求。
  • Docker Registry:存储容器镜像的仓库。
  • Driver: Driver是Docker架构中的驱动模块。通过Driver驱动,Docker可以实现对Docker容器执行环境的定制。包含管理容器镜像的graphdriver驱动,配置容器内网络环境的networkdriver驱动,execdriver用来创建和维护容器。
  • Docker Container:运行应用程序的特定容器,是容器服务的交付实体。
  • 一般运行流程为:用户在Docker Client端通过命令行发送请求到Docker Daemon,Docker Daemon中的Server收到请求后,Engine会创建一个工作任务job,通过调用Driver模块的各个驱动分别执行不同的任务,比如需要镜像就调用graphdriver从镜像仓库下载镜像,创建容器时也需要调用其它两个驱动来配置网络和创建并维护容器。最后生成运行中的容器或者上传镜像到镜像仓库等。

三、docker安装

1.安装依赖包

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

2.设置阿里云镜像资源

cd /etc/yum.repos.d/
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装docker-ce

#安装社区版
yum install -y docker-ce

4.开启docker,设置开机自启

#关闭防火墙,关闭核心防护
systemctl stop firewalld
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
systemctl start docker
systemctl enable docker

5.镜像加速

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://4pg53plw.mirror.aliyuncs.com"]
}
EOF
##镜像加速需要去阿里云上查找

systemctl daemon-reload
systemctl restart docker

5.网络优化

vi /etc/sysctl.conf 

net.ipv4.ip_forward=1

sysctl -p

systemctl restart docker
systemctl restart network

猜你喜欢

转载自blog.csdn.net/weixin_45647891/article/details/114497609