当前位置: 首页 > news >正文

docker介绍与详细安装

1 docker 介绍

1.1 虚拟化

 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件  对资源充分利用虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。# kvm,VMware,openstack,docker,k8s-kvm,vmware:虚拟化软件-openstack,阿里飞天:虚拟化软件管理web项目 -- python-docker:容器化-k8s:容器管理编排

在这里插入图片描述

1.2 docker

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 加了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在上进行维护。容器化技术,区分于虚拟机,又类虚拟机,兼具虚拟机隔离的优点,又有速度快的优点
容器资源隔离,网络隔离
把容器当成一个虚拟机即可docker 容器管理 -docker swarm-k8sDocker 的基础是 Linux 容器(LXC)等技术

1.3 docker和其他虚拟机比较

# docker 不需要虚拟化出 操作系统这一层---》更轻量级--占空间更小---》还能实现隔离# 虚拟机技术的缺点:1.资源占用太多2.冗余步骤多3.启动很慢# 容器化技术
1.服务器资源利用率高
2.比较轻量化
3.打包镜像测试,一键运行比较Docker和虚拟机技术不同:
​ 1.传统虚拟机,虚出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
​ 2.容器内的应用之间运行在 宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以久轻便了
​ 3.每个容器间是互相隔离的,每个容器内都有属于自己的文件系统,互不影响
​ 4.安全性,docker的安全性更弱,
​ 5.与虚拟机相比,docker隔离性更弱,docker属于进程之间的隔离,虚拟机可实现系统级别隔离​ 7docker创建时秒级的,docker的快速迭代性,无论是开发、测试、部署都可以节约大量时间

在这里插入图片描述

1.4 docker架构

# cs 架构---》客户端服务端- c 端:用户操作,输入命令- s端:接收用户命令,执行-c、s通信,使用http协议,遵循restful规范-mysql:tcp---》自定义的  -redis:tcp---》自定义的  # 架构1 client:客户端,输入命令2 服务端:containers:容器images:镜像--》从注册中心下来下来的3 register:注册中心-放了很多镜像--》redis,nginx,mysql

在这里插入图片描述

2 docker安装和配置

# 1 linux   win 安装
# 2 win:https://www.docker.com/products/docker-desktop/  下载 docker-desktop-一路下一步安装# 3 centos 7.9 安装# https://www.vmware.com/content/vmware/vmware-published-sites/cn/products/workstation-pro/workstation-pro-evaluation.html.html.html-视频,软件:vmware ,镜像文件# 4 创建一个centos 7.9的虚拟机,在这个基础上讲docker# 5 如果之前装过,卸载
# yum remove docker docker-common  docker-selinux docker-engine
# rm -rf /var/lib/docker
yum update  # 更新yum仓库# 6 安装
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y# 7 查看安装的版本
docker --version# 8 目前我们只装了 docker-ce,-只有:c  和 s端-没有docker-compose-没有图形化解码-跟docker-destop的区别# 9 启动docker
systemctl status docker
systemctl start docker# 10 镜像--》从远程下载下来的---》hub.docker.com -->仓库下的-有非常多镜:可以搜索,搜到以后,镜像有不同版本-目前:访问不到了,拉去不下来-配置:国内镜像站:阿里云-https://cr.console.aliyun.com/cn-shanghai/instances/mirrorssudo mkdir -p /etc/docker # 如果有,就不需要创建了vi /etc/docker/daemon.json # 加入{"registry-mirrors": ["https://x1566319.mirror.aliyuncs.com"]}# 按 esc# 输入  :wq  敲回车# 保存退出systemctl daemon-reload   # 重新加载docker配置systemctl restart docker  # 重启docker

image-20240619163429791

先创建在克隆

image-20240619163017427

3 docker镜像操作

3.1 镜像和容器

# 镜像:images-一堆文件---》目前咱们从register---》下载---》放在宿主机(centos 7.9机器)-类比:虚拟上装系统- 操作系统文件 xx.iso--->装在虚拟机上- 镜像你当成 xx.iso 操作系统文件-把iso装在不同虚拟机中---》启动---》多台有操作系统的机器
# 容器:container-镜像运行---》运行成容器-类比:-容器当成一个正在运行的操作系统-一个镜像,可以运行成多个容器# python面向对象类:镜像对象:实例化得到多个对象,每个对象间独立的# 以后一个容器,你们当成 :一个操作系统+软件--》正在运行  

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.2 镜像操作

image-20240619210437900

# 0 搜索镜像-去网站搜:https://hub.docker.com/ -使用命令行搜:docker search mysql# 1 获取镜像,拉去镜像---》从register下载到本地--》阿里云镜像站--》加速拉取docker pull mysql:5.7 # 下载mysql 5.7镜像docker pull redis:latest # 下载redis最新的镜像docker pull nginx:latest  # 下载 nginx最新的镜像docker pull centos:centos7  # 下载 nginx最新的镜像# 2 查看镜像docker images# 3 删除镜像docker rmi redis:latest

创建虚拟机基本配置

Unbantu

安装unbantu22.04.4版本

image-20240702185109629

image-20240702185132990

image-20240702185144414

image-20240702185158356

image-20240702185220374

image-20240702185232631

image-20240702185242742

  • 这里需要用桥接网络

image-20240702185322560

image-20240702185334042

image-20240702185342919

image-20240702185352778

image-20240702185401760

image-20240702185410783

image-20240702185419784

然后进入需要安装ssh跟关闭防火墙才能进行ssh远程连接

# 查看防火墙状态
sudo ufw status#检查 SSH 服务状态:sudo service ssh status
#如果 SSH 服务未安装,您可以通过以下命令安装它:sudo apt-get update  # 更新软件包列表
sudo apt-get install openssh-server
#启动 SSH 服务:sudo service ssh start
#停止 SSH 服务:sudo service ssh stop
#重启 SSH 服务:sudo service ssh restart
#查看 SSH 服务的状态:sudo service ssh status
#允许 SSH 服务通过防火墙(如果您使用的是 UFW 作为防火墙):sudo ufw allow ssh
#如果您希望 SSH 在系统启动时自动启动,可以使用以下命令来启用它:sudo update-rc.d ssh defaults

CentOS7.9

image-20240619163959004

image-20240619164119083

image-20240619164300423

image-20240619164438298

image-20240619164504497

image-20240619164540654

image-20240619164607112

image-20240619164625921

image-20240619164651635

image-20240619164735557

image-20240619164802260

  • 选择安装系统

image-20240622132350734

  • 要下载镜像源

image-20240619174057245

image-20240622132038822

image-20240622132055474

image-20240622132105778

image-20240622131925922

  • 设置“root密码”->“完成”,等待安装

image-20240622132122507

  • 安装完成“重启”,启动后输入账号和密码

image-20240622132557268

相关文章:

  • Docker的基本介绍
  • docker compose方式部署Zabbix 7.0 LTS
  • 3.Charles抓包工具学习
  • 掌握命令行中pip源的切换:提升Python包管理效率
  • 【C语言】宏定义在 a.c 中定义,如何在 b.c 中使用?
  • 初尝PaddleOCR识别图片中的文字
  • 全自动化学发光分析仪测试一个样本需要多久时间?采样需要多久的时间?以及仪器原理是什么?
  • windows非白名单exe监控并杀死
  • 飞时达软件,揭开土方工程师的生活“面纱”
  • 数据库操作语言(DML)
  • jQuery 实例:掌握 JavaScript 库的奥秘
  • 番外篇 | YOLOv8改进之即插即用全维度动态卷积ODConv + 更换Neck网络为GFPN
  • Android adb logcat日志过滤输出
  • 【Windows】Bootstrap Studio(网页设计)软件介绍及安装步骤
  • MySQL之主从同步、分库分表
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • Android开源项目规范总结
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • JS笔记四:作用域、变量(函数)提升
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • win10下安装mysql5.7
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • Mac 上flink的安装与启动
  • 交换综合实验一
  • 如何用纯 CSS 创作一个货车 loader
  • 通过调用文摘列表API获取文摘
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​插件化DPI在商用WIFI中的价值
  • ​用户画像从0到100的构建思路
  • #100天计划# 2013年9月29日
  • (145)光线追踪距离场柔和阴影
  • (175)FPGA门控时钟技术
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (八)Flask之app.route装饰器函数的参数
  • (二十四)Flask之flask-session组件
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (函数)颠倒字符串顺序(C语言)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .jks文件(JAVA KeyStore)
  • .NET 8.0 发布到 IIS
  • [20181219]script使用小技巧.txt
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn
  • [daily][archlinux][game] 几个linux下还不错的游戏
  • [flume$2]记录一个写自定义Flume拦截器遇到的错误
  • [JS]变量
  • [JS入门到进阶] 前端开发不能写undefined?这是误区!
  • [MongoDB]------windos下的安装部署与基础使用
  • [MSSQL]GROUPING SETS,ROLLUP,CUBE初体验
  • [MySQL]SQL优化之索引的使用规则