Docker共享存储
bind mount共享数据创建一个共享页面目录12[root@localhost ~]# mkdir htdocs/[root@localhost ~]# echo "hello" > htdocs/index.html
然后进行bind mount的方式共享数据123456789101112131415161718[root@localhost ~]# docker run -d -p 80 --name web0 --volume /root/htdocs/:/usr/local/apahce2/htdocs httpd2ac16608128f2ac9462cbded6b0a92b1c210d9c34d7a56278b3b4f6e64e400d9[root@localhost ~]# docker run -d -p 80 --name web1 --volume /root/htdocs/:/usr/local ...
单台主机多个bridge网络通信
实验结果:将nginx的端口映射到宿主机,通过宿主机IP来访问到nginx的php页面,会转换到php容器中,最后显示页面;
创建bridge网卡
创建my_net和myapp_net网卡my_net:172.100.100.0/24myapp_net:为默认地址
创建my_net网卡12[root@localhost ~]# docker network create -d bridge --subnet 172.100.100.0/24 --gateway 172.100.100.1 my_netc20026bdb8eaa6e8ad31f0af7f8ca8e1bc03a34611f72a0e4e7b759e909b613d
创建myapp_net网卡12[root@localhost ~]# docker network create -d bridge myapp_nete9f6ca9fb740237679930c92ed35f5b59999305a4cf9c26bbac009a9573186ea
查看网卡列表1234567[root@localhost ~]# d ...
Docker部署Jumpserver
注意:关闭防火墙、selinux
注意:关闭防火墙、selinux
注意:关闭防火墙、selinux
数据库:mysql 版本大于等于 5.6 mariadb 版本大于等于 5.5.6
配置路由转发否则,容器不通主机内网
12345cat > /etc/sysctl.d/k8s.conf << EOFnet.ipv4.ip_forward = 1EOFsysctl --system
安装Docker服务12yum -y install dockersystemctl start docker
创建映射目录123mkdir -p /data/mysql/datamkdir -p /data/redis/datamkdir -p /data/jumpserver
部署mysql服务1docker run -d --name mysql --restart=always -e MYSQL_ROOT_PASSWORD=abcd@1234 ...
KVM调整虚机内存
查看运行的虚机123[root@server ~]# virsh list --all | grep BaZhan 33 BaZhan running
查看虚机信息12345678910111213141516[root@server ~]# virsh dominfo BaZhanId: 25名称: BaZhanUUID: 935b5450-f35b-420b-b0e8-4a353b3033fcOS 类型: hvm状态: runningCPU: 1CPU 时间: 5604.2s最大内存: 1048576 KiB # 1G内存使用的内存: 1048576 KiB持久: 是自动启动: 禁用管理的保存: 否安全性模式: selinux安全性 DOI: 0安全性标签: system_u:system_r:svirt_t:s0:c7,c964 (permissive)
停止虚机1234[root@server ~]# virsh s ...
Docker更换存储路径
默认情况下docker的存储路径在/var/lib/docker下
12[root@Yum-Source data]# docker info | grep Dir Docker Root Dir: /var/lib/docker
由于后期镜像及其他文件会逐渐增多占用空间逐渐增大,考虑到安全问题,将默认存储路径修改掉
方法一:修改docker.service文件先停掉docker服务1systemctl stop docker
修改配置文件使用--graph指定存储路径
12vi /etc/systemd/system/docker.serviceExecStart=/usr/bin/dockerd --graph /data/docker_volume
重新加载服务12systemctl daemon-reloadsystemctl start docker
查看是否修改成功12[root@Yum-Source data]# docker info | ...
Harbor私有仓库
Harhor服务概述Harhor是个用于存储和分发Docker镜像的企业Best服务器.通过添加一些企业必需的功能特性 :如安全标识和管理等,扩展了并源Docker Dsrtbuionon作为个企业级私有Registy服务器 ; Harbo提供了更好的性能和安全。提开用户使Regsty构建和运行环境传输镜像的效率. Harbor支持安装在多个esty节点的镜像资源复制,镜像全部保存在私有egistry中,确保数据和知识产权在公司内部网络中管控另外, Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等
特性●基于角色的访问控制:用户与docker镜像仓库通过‘项目”进行组织管理,一个用户可以对个多镜像仓库在同一命名空间( project )里有不同的权限●镜像复制:镜像可以在多个registry实例中复制(同步) ,尤其适合负载均衡,高可用,混合云和多云的场景●图形化用户界面:用户可以浏览器来浏览,检索当前docker镜像仓库,管理项目和命名空间●AD/LDAP支持 : harbor可以集成企业内部已有的AD/LDAP ,用户鉴权认证管理●审计管理:所有针对镜像仓库的 ...
Consul微服务注册中心
在 Spring Cloud 体系中,几乎每个角色都会有两个以上的产品提供选择,比如在注册中心有:Eureka、Consul、zookeeper、etcd 等;网关的产品有 Zuul、Spring Cloud Gateway 等。在注册中心产品中,最常使用的是 Eureka 和 Consul,两者各有特点,企业可以根据自述项目情况来选择。
Spring Cloud Consul 项目是针对 Consul 的服务治理实现。Consul 是一个分布式高可用的系统,它包含多个组件,但是作为一个整体,在微服务架构中,为我们的基础设施提供服务发现和服务配置的工具。
什么是Consul?Consul 是 HashiCorp 公司推出的开源产品,用于实现分布式系统的服务发现、服务隔离、服务配置,这些功能中的每一个都可以根据需要单独使用,也可以同时使用所有功能。Consul 官网目前主要推 Consul 在服务网格中的使用。与其它分布式服务注册与发现的方案相比,Consul 的方案更“一站式”——内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value 存储、多数据中心方案,不再需要 ...
Spring
微服务:微服务的概念源于2014年3月Martin Fowler所写的一篇文章Microservices” 。微服务架构是一种架构模式,它提倡将单一应用程序划分成组小的服务.服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API).每个服务都围绕具体业务进行构建,并且能够被独立地部署到生产环境、类生产环境等另外,应尽量避免统的集中式的服务理机制.对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。微服务是种架构风格,一个大型复杂软件应用由一 个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松精合的。每个微服务仅关注于完成件任务并很好地完成该任务。在所有情况下,每个任务代表着个小的业务能力。
概述spring cloud为开发人员提供了快速构建分布式系统中的一些常见模式的工具(例如配置管理服务发现、断路由、智能路由、微服务、控制总线)。分布式系统的协调导致了样板模式,使用spring cloud开发人员可以快速地支持实现这些模式的服务
背景 ...
Maven+Jenkins+Gitlab自动化部署
Jenkins:Jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提高一个开放易用的软件平台
功能介绍:1.一个自动化的周期性集成测试过程,从检出代码,编译建构,运行测试,结果记录,测试统计等都是自动化完成的,无需人工干预,有利于减少重复过程以节省时间,费用和工作量2.它需要有代码托管工具支持,比如SVN git/gitlab/github3.监控软件开发流程,快速显示问题
持续集成(continuous integration):简称CI,是指开发阶段,对项目进行持续性自动化编译,测试,已达到监制代码质量的手段,持续集成是一种软件开发实践
为什么要持续集成?1.易于定位错误。也就是当持续集成失败了,说明新加的代码或者修改的代码引起了错误2.更加充分地测试系统中的各个单元3.有助于项目的开发数据的收集4.便于开发流程的管理。要把一个开发的build提交给测试组做测试,测完满意了,在提交到发布者去发布
服务器信息
IP
角色
1.1.1.1
maven+jenkins
1.1.1.2
git+gitlab
部署git+g ...
Nexus私有仓库
Nexus介绍Nexus是Maven仓库管理器,如果你使用Maven .你可以Maven中央仓库下载所需要的构件(atact),但这通常不是一个好的做法 ,你应该在本地架设一个Maven仓库服务器 在代理远程仓库的同时维护本地仓库 ,以节省带宽和时间, Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST ,友好的U是个extjs的REST客户端, 它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。Nexus不是Maven的核心概念,它仅仅是一种衍生出来的特殊的Maven仓库。 对于Maven来说,仓库只有两种:本地仓库和远程仓库。本地仓库就是我们在maven的setting.xml中配置的本地仓库地址。由于最原始的本地仓库是空的, Maven必须知道至少个可用的远程仓库,才能在执行Maven命令的时候下载到需要的构件。中央仓库是maven默认的远程仓库。私服是架设在局域网的种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后.当Maven需要下载构件时,直接请求私服,私服上存在则下 ...
