Docker概述及CentOS安装Docker

news2025/1/20 21:58:14

目录

一、Docker概述

Docker与虚拟机的差异

镜像和容器

Docker和DockerHub

Docker架构

二、CentOS安装Docker

安装docker

卸载docker

启动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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国产软件厂商如何获得持久的竞争力和可持续增长?

近年来&#xff0c;美国对中国信息技术产业的制裁力度不断加大&#xff0c;华为等数百家中国高科技企业受波及而影响业务。加大自主研发力度&#xff0c;在芯片、操作系统、数据库、软件等卡脖子的关键技术领域&#xff0c;实现自主安全可控&#xff0c;成为中国信息科技产业发…

SpringMVC:拦截器+文件上传下载, 拦截器

一。比较常用&#xff08;理解思路&#xff09; 过滤器 和 拦截器 均体现了AOP的编程思想&#xff0c;都可以实现诸如日志记录、登录鉴权等功能&#xff0c;但二者的不同点也是比较多的&#xff0c;接下来一一说明。 拦截器&#xff1a;看做是多个Controller中公用的功能&…

【Linux】文件描述符

目录&#x1f308;前言&#x1f337;1、文件的概念&#x1f339;2、文件操作&#xff08;C语言&#xff09;&#x1f361;2.1、概念基本打开关闭操作&#x1f362;2.2、文件的打开方式&#x1f363;2.3、文件的读写操作&#x1f364;2.4、对系统调用的封装&#x1f338;3、系统…

python 另一种将内容写入记事本的方式

目录 问题描述&#xff1a; 方案一 &#xff08;常见的写法&#xff09;&#xff1a; 方案二&#xff1a; 问题描述&#xff1a; 如下图所示&#xff0c;欲将下图内容写入一个.txt 方案一 &#xff08;常见的写法&#xff09;&#xff1a; 使用f.write()函数&#xff0c; 如…

如何使用CompletableFuture

目录 一、CompletableFuture是什么 二、CompletableFuture用法 2.1、创建CompletableFuture 2.1.1、直接创建 2.1.2、创建一个使用指定数据作为结果的已结束的CompletableFuture 2.1.3、通过执行异步任务获取CompletableFuture 2.2、获取任务结果 2.3、消费结果 2.3.1、…

云原生技术中台 CNStack2.0 正式发布

作者&#xff1a;奥陌 11 月 5 日&#xff0c;在 2022 杭州 云栖大会上&#xff0c;云原生技术中台 CNStack2.0 正式发布。 阿里巴巴资深技术专家 谢吉宝介绍 CNStack2.0 企业在数字化转型的过程中&#xff0c;一部分问题得到了解决&#xff0c;但随着 IT 水平的不断提升&am…

【Milvus的人脸检索】

0. 介绍 在上一篇文章中&#xff0c;介绍了milvus提供的以图搜图的样例&#xff0c;这篇文章就在以图搜图样例的基础上进行修改&#xff0c;实现人脸检索。 常见的人脸任务&#xff0c;分为人脸检测、人脸识别、人脸对比和人脸检索&#xff0c;其中人脸检索的含义是&#xff…

点成分享 | 蛋白质浓度测定之考马斯亮蓝(Bradford)法

蛋白质是组成生物细胞、组织的重要成分&#xff0c;生物的所有生命活动都离不开蛋白质的参与。蛋白质是生命的物质基础&#xff0c;是构成细胞的基本有机物&#xff0c;是生命活动的主要承担者。生物材料中蛋白质含量的测定是生物学研究中最重要也是最基本的实验操作之一&#…

【微机接口】串行通信基础

计算机通信:CPU与外部的信息交换 并行通信&#xff1a;数据所有位同时被传输 串行通信&#xff1a;数据被逐位顺序传送 串行通信类型&#xff1a; 串行异步通信&#xff1a;一个字符用起始位和停止位来完成收发同步。 串行同步通信&#xff1a;采用同步字符来完成收发双方同…

营丘福稻品牌山东大米 国稻种芯·中国水稻节:淄博高青招牌

营丘福稻品牌山东大米 国稻种芯中国水稻节&#xff1a;淄博高青招牌 淄博市广播电视台新生活 大众网海报新闻记者 董玉歌 淄博报道) 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 中国农民丰收节国际贸易促进会 国稻种芯中国水稻节 中国三农智库网-功能性农业农业大健…

【电源专题】案例:电源芯片规格书大标题写5A那是能输出5A吗?

这个案例是找到了问题点后再去审查规格书发现规格书里竟然有写明!只是最初始不是我导入的芯片就是了(其实就算是我导入的,以前也没有测试方法和手段能发现异常),而且这个芯片已经用了好久好久了,现在都停产了,买不到了。 从下图所示的规格书大标题中可以看到同步升压芯片…

苹果Mac电脑L2TP连接公司内部网络失败解决方案

苹果Mac电脑L2TP连接公司内部网络 苹果Mac系统在创建VPN连接时&#xff0c;一直提示&#xff1a;L2TP-VPN服务器没有响应。请尝试重新连接。如果仍然有问题&#xff0c;请验证你的设置并与管理员联系。 我们在添加VPN的时候需要填写机器认证中的共享秘钥&#xff0c;我这里填…

详解容灾恢复过程中跨数据中心级的关键故障切换

【摘要】容灾设计过程当中需要考虑的故障切换的场景有很多,数据中心内部的高可用切换不在本次讨论范围之内,我们讨论的是容灾恢复过程中的关键跨数据中心级的故障切换场景,从网络层到存储层都会涉及到。(文中涉及相关技术产品参数请以官网最新发布为准) 1. 容灾设计需要进…

c++异常处理

目录 1.c异常的由来 2.怎么使用异常来解决问题 3.异常安全 4.异常规范 5.异常处理的优缺点 1.c异常的由来 在c语言中&#xff0c;如果程序出现了错误&#xff0c;采用的是返回错误码的方式。最常见的&#xff1a; int main() {return 0; } 这里的return 0的0就是表示返…

Kubernetes学习(一)入门及集群搭建

一、简介 1.简介 Kubernetes 最初源于谷歌内部的Borg&#xff0c;Kubernetes 是一个全新的基于容器技术的分布式架构解决方案。 包含几个基本功能&#xff1a; 1.将应用水平扩容到多个集群 2.为扩容的实例提供负载均衡策略 3.提供基本的健康检查和自愈能力 4.实现任务的…

电机无位置控制方法研究

无位置控制方法研究 1.无位置控制技术研究现状 2.反电动势过零检测法 3.反电动势三次谐波积分检测法 4.续流二极管法 5.磁链法 6.扩展卡尔曼滤波算法&#xff08;EKF&#xff09; 7.基于扩展卡尔曼滤波算法&#xff08;EKF&#xff09;的转速及位置估算 8.电感测量法 9.涡流效…

LeetCode-878. 第 N 个神奇数字【数学,二分查找,找规律】

LeetCode-878. 第 N 个神奇数字【数学&#xff0c;二分查找&#xff0c;找规律】 题目描述&#xff1a;解题思路一&#xff1a;二分答案容斥原理。给定一个上下界&#xff0c;然后依次增大下界或者减小上界&#xff0c;直到只剩一个答案。容斥原理是&#xff0c;加上两个集合&a…

六、TCP实现聊天

客户端&#xff1a; 连接服务器 Socket(address,port)发送消息 import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import java.nio.charset.StandardCharsets;/*** 客…

LabVIEW使用VI Snippets存储和共享重用代码段

LabVIEW使用VI Snippets存储和共享重用代码段 VI Snippets是存储、共享和重用LabVIEW代码小部分的新方式。VI代码段将截图的可移植性与VI文件的功能结合在标准PNG图像中嵌入LabVIEW代码。当将VI代码段PNG图像拖到框图上时&#xff0c;它会将代码片段作为图形代码拖放&#xff…

【C++】重载运算符+-=>/*[]==++-- MyString 智能指针(* ->)

目录 15.重载运算符 15.1 eg.Person 15.2 eg.MyString 15.3 智能指针 15.重载运算符 定义&#xff1a;给原有的运算符赋予新的意义。 为什么重载<<或>>一定要用友元&#xff1f; 如果是重载双目操作符&#xff08;即为类的成员函数&#xff09;&#xff0c;就…