【容器应用系列教程】Docker-compose容器编排工具
【容器应用系列教程】Docker-compose容器编排工具一、关于Docker-compose
单机版容器编排工具
批量操作容器
官方开源地址:https://github.com/docker/compose
二、Docker-compose工具安装1.下载Docker-compose
截止教程撰写日期,最新版为v2.8.0
[root@harbor ~]# wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/v2.18.0/docker-compose-linux-x86_64
2.给予执行权限[root@harbor ~]# chmod a+x /usr/local/bin/docker-compose
3.查看版本信息[root@harbor ~]# docker-compose -v
D ...
【容器应用系列教程】基于Harbor构建企业级镜像仓库
【容器应用系列教程】基于Harbor构建企业级镜像仓库一、仓库类型
公有仓库
DockerHub
https://hub.docker.com/
私有仓库
registry
harbor
二、Dockerhub的使用
需要自行去官网注册账号:https://hub.docker.com
1.登录Docker[root@localhost ~]# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: wangshengjj
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a cr ...
【容器应用系列教程】Docker镜像管理
【容器应用系列教程】Docker镜像管理一、关于镜像1.镜像的基本概念
分层的文件系统
镜像是只读的
基于镜像创建容器时,镜像最上面会添加一个可写层,用户的所有操作都会存到这个可写层内
2.镜像的核心技术
COW机制
Copy On Write写时复制
创建容器时,镜像会在最上层添加一个读写层,只有修改文件时,该才会被复制到读写层进行修改
容器删除时,读写层会随之删除,所有容器对关键数据进行持久化存储
Union fs联合文件系统
支持将多个不同的文件系统挂载到同一个虚拟文件系统中
overlay2文件系统,是Docker默认使用的
[root@flannet ~]# docker info
Client: Docker Engine - Community
Version: 24.0.2
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.10.5
Path: /usr ...
【容器应用系列教程】Docker网络管理
【容器应用系列教程】Docker网络管理
上期教程:Docker的安装和基本操作
一、Docker的几个网络工作模式[root@lvm ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
5c8d7aaa6302 bridge bridge local
6d9af871e429 host host local
c5ff52b498d6 none null local
bridge模式
类似NAT的工作模式
-p参数
docker run -itd -p 80:80 nginx:latest
host模式
容器、物理机共享同一个网络命名空间
服务运行在容器中,端口监听在物理机
端口不可以和物理机端口冲突
docker run -itd --net=host centos:7
container模式
新建的容器会与一个已有的容器共享同一个网络命名空间
前提
事先存在一个bridge模式的容器
优势
减少网络消耗,增加网络通信效率
...
使用Docker容器环境部署halo2博客+MySQL
使用Docker容器环境部署halo2博客+MySQL
关于Halo博客官网:https://halo.run/本教程参考了Halo官方文档:https://docs.halo.run/getting-started/install/docker
一、环境准备
由于本人公网服务器有限,所以拿虚拟机和局域网演示
主机名
IP
软件
server.linux.com
192.168.140.10
Docker、halo2、MySQL
slave.linux.com
192.168.140.11
Docker、MySQL
二、给两台服务器安装Docker
安装步骤省略关于Docker的安装教程:https://www.wsjj.top/archives/132
三、准备MySQL主从复制环境
主机名
IP
软件名
server.linux.com
192.168.140.10
MySQL主库
slave.linux.com
192.168.140.11
MySQL从库
1.准备MySQL配置文件和数据目录
如果想让Docker运行M ...
【容器应用系列教程】容器介绍、Docker的安装和基本操作
【容器应用系列教程】容器介绍、Docker的安装和基本操作一、关于容器container
创建保证某业务可正常运行的必备的应用程序/指令
1.常用的容器管理工具
docker
基于golang语言开发
开源的
c/s架构 client/server架构
docker-ce社区版、docker-ee企业版
podman
红帽公司开发
2.容器的优势
创建速度快、秒级
便于业务的部署、迁移
容器间共享物理机的内核
缺点:安全性低
3.容器的核心技术
namespace命名空间
实现容器间的资源(用户、进程)隔离
cgroup
实现容器的资源(CPU、内存)限制
容器的三要素:容器、镜像、仓库
二、Centos7安装Docker-ce1.配置yum源和docker国内源[root@lvm ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
如果没有vim请安装y ...
【虚拟化应用系列教程】OpenStack组件
【虚拟化应用系列教程】OpenStack组件一、关于云平台
云平台像是一个大型的资源池,在这个资源池里提供着大量的虚拟化资源服务。是一个提供着虚拟化服务和资源的平台。
1.云平台的分类根据云平台提供的服务不同分类
Iaas lnfrastracture As a Service
基础设施即服务
提供虚拟化平台、服务器、存储、网络等
Paas Platform As A service
平台即服务
在基础设施服务基础上,提供操作系统、数据库、中间件、运行库等
Saas Software As A Service
软件即服务
在平台服务基础上,数据和应用
蓝色为云服务商提供的服务
根据云平台提供服务为的范围不同
公有云
云服务提供商部署IT基础设施并进行运营维护,将基础设施所承载的标准化、无差别的IT资源提供给公众客户的服务模式。
私有云
云服务商为单一客户构建IT基础设施,相应的IT资源仅供该客户内部员工使用的产品交付模式。私有云的核心特征是云端资源仅供某一客户使用,其他客户无权访问。
混合云
用户同时使用公有云和私有云的模式。一方面,用户在本地数据中心搭建 ...
【虚拟化应用系列教程】KVM存储管理
【虚拟化应用系列教程】KVM存储管理
上一期教程:KVM网络管理
一、通过命令行添加磁盘通过图形化界面添加[root@lvm ~]# virt-manager
1.查看虚拟机所有磁盘[root@lvm ~]# virsh domblklist vm01
目标 源
------------------------------------------------
hda /var/lib/libvirt/images/vm01.qcow2
hdb -
2.创建磁盘文件
qemu-img是个很强大的工具,除了可以创建qcow2格式的文件,还可以创建其他格式的磁盘文件,包含vmdk、vhdx、vdi、raw、qcow2、qcow、iscsi、gluster、dmg等
[root@lvm ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/disk01.qcow2 5G
-f虚拟磁盘格式
3.添加 ...
【虚拟化应用系列教程】KVM网络管理
【虚拟化应用系列教程】KVM网络管理
下期教程:KVM存储管理
一、关于网卡驱动
效果最好的是virtio
二、通过命令行的方式添加虚拟网卡
这个网卡是给我们自己创建的虚拟机添加网卡,类似Vmware给虚拟机添加多块网卡
1.图形化工具添加虚拟网卡[root@lvm ~]# virt-manager
2.命令行添加虚拟网卡[root@lvm ~]# virsh attach-interface vm01 --type network --source default --model virtio --persistent
成功附加接口
--persistent虚拟机立即生效、永久生效
--config永久生效、需要重启虚拟机
--live立即生效、临时生效,虚拟机重启后无效
3.查看虚拟机的网卡[root@lvm ~]# virsh domiflist vm01
接口 类型 源 型号 MAC
-------------------------------------------------------
vnet0 ne ...
【虚拟化应用系列教程】KVM虚拟机管理
【虚拟化应用系列教程】KVM虚拟机管理
上一期教程:虚拟化的类型和KVM虚拟化应用安装
一、创建虚拟机1.图形化创建虚拟机
建议您的实体机已经安装GUI图形化界面或者使用Xmanager软件
[root@lvm ~]# virt-manager
2.命令行创建虚拟机[root@lvm ~]# virt-install --name=vm02 \
--graphics vnc,listen=0.0.0.0,port=5920,keymap=en_us \
--memory=1024,maxmemory=2048 \
--vcpus 1,maxvcpus=2 \
--disk path=/var/lib/libvirt/images/vm02.qcow2,size=10,format=qcow2 \
--bridge=virbr0 \
--cdrom=/img/CentOS-7-x86_64-D ...
【虚拟化应用系列教程】虚拟化的类型和KVM虚拟化应用安装
【虚拟化应用系列教程】虚拟化的类型和KVM虚拟化应用安装
下一期教程:KVM虚拟机管理
一、关于虚拟化1.不同的虚拟化架构基于平台的虚拟化
基于操作系统的虚拟化
2.Hypervisor的部署方式寄居虚拟化vmware workstation、virtual box、kvm、Hyper-V原生虚拟化ESXI、Xen、Proxmox VE(PVE)
3.虚拟化技术实现原理
软件虚拟化qemu
半虚拟化para-virtualization
由思杰critix公司推出
redhat公司提供virtIO驱动实现半虚拟化
硬件辅助虚拟化
Intel
VT-x
vmx
AMD
amd-v
svm
二、KVM虚拟化
KVM全称Kernel-based Virtual Machine是一个基于内核的虚拟机
借助QEMU I/O实现虚拟硬件的模拟管理
KVM的管理工具
依赖于libvirtd服务,管理命令有virt-manager、virsh
三、KVM安装1.准备阶段
1.准备一台高配置的虚拟机,或者实体机,并且预装好Centos7的系统2.确保您的CPU支持虚拟化 ...
【经典面试题系列】浏览器访问公网上某个站点的过程
【经典面试题系列】浏览器访问公网上某个站点的过程
以下拿访问百度举例子详细过程(转自知乎):https://zhuanlan.zhihu.com/p/565427100
第一步:先通过DNS
通过DNS解析ip,首先会去浏览器里找是否有百度域名解析过的ip,没有的话就去==本机==的hosts文件里,hosts文件还没有的话就得去请求本地dns服务器去要ip,然后dns服务器返回给客户端。
第二步:ARP
当dns域名解析到ip就开始访问百度服务器,为了数据封装,就得需要目标的mac地址,arp在获取对方mac先是看arp缓存表,没有的话就通过arp获取。
第三步:IP
当二层完成封装后,把数据发往网关路由器
第四步:NAT网络地址转换。
由于客户端访问的资源不在内网,就得通过公网访问到目的的内网服务器,在内网访问外网的时候就得将内网ip转换成公网ip,这时候就得需要在网络出口的设备上有nat功能。
第五步:TCP
当客户端拿到百度服务器的ip后,就会像百度服务器发http请求,而http协议请求是基于tcp协议
最后一步:HTTP
浏览器会给百度服务器的一个http请求, ...