初识Docker

目录

前言

一、Docker简介

1、Docker的优势

2、docker的使用场景

3、Docker引擎

4、容器的几大组件 

5、容器与虚拟化的区别

6、容器的名称空间

二、部署docker 


前言

    在docker出现以前,一款产品的上线,需要两套环境,从开发到上线的环境,和应用配置都是不太一样的。在开发环境和应用环境(开发----运维)容易出现一些问题,比如,在我的电脑上开一运行,但是,版本更新,导致服务不可用,对于运维压力很大,直到docker的出现

一、Docker简介

    Dcoker是基于容器技术的轻量级虛拟化解决方案,docker是由容器引擎,把linux的cgroup、namespaces等容器底层技术进行完美的封装、并抽象为用户提供创建和管理容器的便捷界面(命令行Cli、api等) C/s

1、Docker的优势

  • docker引擎统一了基础设施环境:docker环境------》image------>封装一个简易的操作系统(3.0+G)
  • docker引擎统一了封装应用(装箱/封装-类比于集装箱)方式:docker镜像一》 images
  • docker 引擎统一了运行时环境:docker容器一 》基于镜像——》运行为容器(可运行的环境)

实现了一次构建、多次、多处使用

2、docker的使用场景

  • 打包应用程序简单部署

  • 可脱离底层硬件任意迁移(实现了应用的隔离,将应用拆分并进行解耦),例如:服务器从腾讯云迁移到阿里云

  • 持续集成和持续交付(CI/CD):开发到测试发布/4、部署微服务

  • 提供PAAS产品(平台即服务) {OpenStack的 云主机类似于阿里云的ECS,属于IAAS;Docker (K8S) 属于PAAS

3、Docker引擎

Docker Engine是具有以下主要组件的C/S客户端—服务器应用程序:

1、server端:服务器是一种长期运行的程序,称为守护程序进程(dockerd命令)

2、CLIENT端: REST API,它指定程序可以用来与守护程序进行通信并指示其操作的接口

       通过client客户端传入命令,比如以下:

       docker run:运行

       docker start:开启

       docker rm:删除

       与sever端进行交互,控制server端进行应命令的操作

 

4、容器的几大组件 

  • 镜像:模板;组资源集合,包含了应用程序软件包、应用程序相关的依赖包、运行应用程序所需要的基础环境(泛指操作系统环境),可以理解为容器的模板
  • 容器(Docker container):基于镜像的一种运行时状态
  • 仓库(Docker reqistry):存放image镜像模板;仓库分类: 1、公共仓库一》docker hub,私有仓库registry harbor

5、容器与虚拟化的区别

 

6、容器的名称空间

名称空间( Namespaces):提供容器的隔离工作区的技术

容器隔离了6个名称空间

Mount:文件系统挂载点。一个文件系统内,不能重复挂载一个指定目录

User:操作进程的用户和用户组

Pid:进程编号

Uts:主机名和主机域

Ipc:信号量、消息队列、共享内存(不同的应用调用内存资源时候使用不同内存空间)

Net:网络设备、网络协议栈、端口等

Cgroups、linux内核态资源管理模块

Cgroups  管理一些系统资源

该pid命名空间  :进程隔离(pid、进程id)

该net命名空间  :管理网络接口(NET:网络)

该ipc命名空间  :管理访问IPC资源(IPC:进程间通信)

该mnt命名空间 :管理文件系统挂载点

该uts命名空间  :隔离内核和版本标识符

二、部署docker 

yum install -y yum-utils device-mapper-persistent-data lvm2
#安装依赖环境

cd /etc/yum.repos.d/
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-
ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
#设置阿里源,安装并开启docke

cd /etc/docker/
直接输入
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://t466r8qg.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
#设置镜像加速(可加可不加)

vim /etc/sysctl.conf 
net.ipv4.ip_forward=1 
sysctl -p
#网络优化,开启路由转发
docker配置文件daemon.json

vim /etc/docker/daemon.json		       ##docker配置文件还可以添加以下的建立配置:
	{
	"graph": "/data/docker",					    ##数据目录
	"storage-driver": "overlay2",				  ##存储引擎;版本迭代:LXC——>overlay——>overlay2(overlayfs:文件系统,解决docker镜像分层)
	"insecure-registries": [" registry.access.redhat.com", "quary.io"]	##私有仓库位置
	"registry-mirrors": ["https://q***"]		      ##镜像加速
	"bip": "172.7.5.1/24",		                  ##docker网络;控制网段的位置;需要创建新的网桥,系统默认的docker0是不变的
	"exec-opts": ["native.cgroupdriver-systemd"],	  ##启动时候的额外参数(驱动)
	"live-restore":true		                      ##当docker容器引擎挂掉的时候,使用docker跑起来的容器还能运行(分离)

以上docker就部署完成了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值