文章目录
一、Docker概述
1.1、Docker是什么?
- Docker是一个用于开发,交付和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分开,从而可以快速交付软件。
- 是一个开源的应用容器引擎,让开发者可以打包大门的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或者Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口;
- 标准化软件单元
- 是一种轻量级的“虚拟机”
- 在Linux容器里运行应用的开源工具
1.2、Docker与虚拟机的区别
1.3、Docker的使用场景
- 打包应用程序简化部署
- 可脱离底层硬件任意迁移
- 持续集成
- 例:服务器从腾讯云迁移到阿里云
1.4、Docker支持的平台
二、Docker的核心概念
2.1、镜像(lmage)
- Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为是一个面向Docker容器引擎的只读模板;
- Docker提供了简单的机制来创建和更新现有的镜像,用户也可以从网上下载已经做好的应用镜像来直接使用。
2.2、容器(Container)
- Docker的容器时从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见的,可以保证平台的安全性。
- 还可以把容器看作是一个简易版的Linux环境,Docker利用容器来运行和隔离应用。
2.3、仓库(Repository)
- Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像后,可以使用push命令将它上传到公共仓库或者私有仓库,下次使用可以直接从仓库上pull下来;
- 仓库注册服务器(Repository)是存放仓库的地方,其中包含多个仓库,每个仓库存放不同镜像用TAG标签来区分
- 目前最大的公共仓库是Docker Hub。
三、Docker的工作流程
Docker组成
Docker Client:客户端
Docker daemon:守护进程
Docker images:镜像
Docker container:容器
Docker registry:镜像仓库
流程简介:
client指令下发给守护进程,例如想构建一个镜像,会帮你把你的容器环境制造成一个镜像(images),也可以从仓库中拉取放在本地,构建成容器彼此之间隔离的,解耦。并对外开放一个api。
四、Docker-CE版部署
安装环境包,安装阿里源
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker-ce,并启动
[root@localhost ~]# yum install -y docker-ce
[root@localhost ~]# systemctl start docker.service
设置docker加速,参考阿里官方文档https://help.aliyun.com/document_detail/60750.html
[root@localhost ~]# tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["https://7b6asy31.mirror.aliyuncs.com"]
> }
> EOF
配置网络优化
[root@localhost ~]# vi /etc/sysctl.conf
##末尾加入
net.ipv4.ip_forward=1
[root@localhost ~]# sysctl -p ##重新加载
关闭linux核心防护,重启相关服务
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# service network restart
Restarting network (via systemctl): [ 确定 ]
[root@localhost ~]# systemctl restart docker
此时docker已经部署完成,可以使用docker相关命令进行操作,例如搜索mysql镜像
版权声明:本文为weixin_42953006原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。