Docker概述及CentOS安装Docker

简介: Docker概述及CentOS安装Docker

一、Docker概述


       Docker 是一个用于开发、交付和运行应用程序的开放平台。 Docker 使您能够将应用程序与基础架构分开,以便 您可以快速交付软件。使用 Docker,您可以管理您的基础架构 以与管理应用程序相同的方式。通过利用 Docker 的 快速传送、测试和部署代码的方法,您可以 显著减少编写代码和在生产环境中运行代码之间的延迟。


Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。


       Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。


大型项目组件较多,运行环境也较为复杂,部署时会碰到一些问题:


依赖关系复杂,容易出现兼容性问题


开发、测试、生产环境有差异


Docker如何解决依赖的兼容性问题?


将应用的Libs(函数库)、Deps(依赖)、配置与应用一起打包


将每个应用放到一个隔离容器去运行,避免互相干扰


Docker如何解决不同系统环境的问题?


Docker将用户程序与所需要调用的系统(比如Ubuntu)函数库一起打包


Docker运行到不同操作系统时,直接基于打包的库函数,借助于操作系统的Linux内核来运行


Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题?


Docker允许开发中应用、依赖、函数库、配置一起打包,形成可移植镜像


Docker应用运行在容器中,使用沙箱机制,互相隔离


Docker如何解决开发、测试、生产环境有差异的问题?


Docker镜像中包含完整运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行


Docker与虚拟机的差异


特性 Docker 虚拟机
性能 接近原生 性能较差
硬盘占用 一般为MB 一般为GB
启动 秒级 分钟级


Docker是一个系统进程;虚拟机是在操作系统中的操作系统


Docker体积小,启动速度快,性能好;虚拟机体积大,启动速度慢,性能一般


镜像和容器


镜像(image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。


容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。


Docker和DockerHub


DockerHub:DockerHub是一个Docker镜像托管平台。这样的平台统称为Docker Registry


国内的类似于DockerHub的公共服务,比如网易云镜像服务、阿里云镜像库等


Docker架构


Docker是一个CS架构的程序,由两部分组成:


◆ 服务端(service):Docker守护进程,负责处理Docker指令,管理镜像、容器等


◆ 客户端(client):通过命令或RestAPI向Docker服务端发送指令。可以本地或远程向服务端发送命令


Docker工作流程:


构建自定义镜像或者从DockerRegistry拉取镜像


根据镜像创建容器并运行


二、CentOS安装Docker


       Docker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月),EE即企业版,强调安全,付费使用,支持周期24个月。


官网上有各种环境下的安装指南:


码头工人概述 |码头工人文档 (docker.com)


https://docs.docker.com/get-started/overview/


       Docker CE支持64位CentOS 7,并且要求内核版本不低于3.10,CentOS 7满足最低内核的要求,所以我爱CentOS 7安装Docker。


安装docker


首先需要进入虚拟机,安装yum工具


yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken


然后更新本地镜像源:


# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast


然后输入命令进行安装,docker-ce为社区免费版,稍等片刻即可安装成功:


yum install -y docker-ce


卸载docker


想卸载旧版本的docker,安装新docker的,可以用下面的命令进行卸载:


yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce


启动docker


Docker应用需要用到各种端口,逐一去修改防火墙设置,非常麻烦,建议直接关闭防火墙


在启动docker前,一定要关闭防火墙!


# 关闭防火墙
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld


通过命令启动docker:


systemctl start docker  # 启动docker服务
systemctl stop docker  # 停止docker服务
systemctl restart docker  # 重启docker服务


输入命令查看docker版本,即表示安装成功:


docker -v



配置镜像加速


docker官方的镜像仓库在国外,网速比较差,需要设置国内镜像服务:


参考阿里云的镜像加速文档:


容器镜像服务 (aliyun.com)


https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors


配置镜像加速器:


sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://sxzn0u3y.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
目录
相关文章
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1682 69
|
11月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
4503 3
|
11月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
1675 3
docker 安装 Postgres 17.6
|
10月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
936 6
|
11月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2536 16
|
10月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
758 2
|
12月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
809 10
|
12月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
827 0
|
12月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。

热门文章

最新文章