当前位置:网站首页 > R语言数据分析 > 正文

docker版本控制(docker-ce版本)



一、什么是版本控制系统?

1、概念

版本控制是一种 记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

(*)记录文件的所有历史变化
(*)随时可恢复到任何一个历史状态
(*)多人协作开发或修改
(*)错误恢复
(*)多功能并行开发

产品--> 新加功能A ---> 单独拉一个新分支 --> 开发完成后合并到master或者丢弃

2、分类

本地版本控制系统
集中化版本控制系统 SVN
分布式版本控制系统 Git

3、基本概念

repository 存放所有文件及其历史信息
checkout 取出或切换到执行版本的文件
version 表示一个版本
tag 记录标识一个主要版本。2.0 3.0。用来标识一个特定的version

4、不同版本控制系统优缺点

本地:
优点:
简单,很多系统中内置。适合保存文本文件(配置文件、文章、信件)

缺点:
只支持管理少量的文件,不支持基于项目的管理
支持的文件类型单一
不支持网络,无法实现多人协作

集中式版本控制系统
优点:
适合多人团队协作开发
代码集中化管理

缺点:
单点故障
必须联网工作,无法单机工作

解决
分布式版本控制系统
集合集中式版本控制系统优点
支持离线工作,先提交到本地仓库,再在某个时间上传到远程仓库
每个计算机都是一个完整仓库:强备份。

二、git分布式版本管理系统

由Linux创始人开发,作为Linux内核代码管理系统使用。

Git在设计时考虑了很多方面设计目标

速度
简单的设计
对非线性开发模式的强力支持(允许上千个并行开发的分支)
完全分布式
有能力管理超大规模项目(挑战:速度和数据量)

Git原理:保存快照而非保存区别。
Git保存时,相当于保存了当下所有文件的一个整体快照。
所以,每个版本都是独立的。随时想取某一个版本,可以很快取出来。

三、安装git

Git 的工作区域:

Git repository 最终确定的文件保存到仓库,作为一个新的版本
staging area 暂存已经修改的文件
woking directory 工作目录

安装git
从 https://git-scm.com/ 下载windows版本git
全使用默认值,一直下一步

四、创建仓库和基本操作

git安装好后,需要一些基本设置
设置用户名:git config --global user.name "yibo"
设置邮箱:git config --global user.email ""

查看所有设置 git config --list



新建文件,默认是未追踪的文件



git add 提交到了暂存区域



提交到仓库


删除文件


五、git远程仓库

实现代码共享
远程仓库实际保存了本地.git文件夹下的东西,内容几乎一样

git 远程仓库访问协议:

ssh协议
git协议
http https协议:一般用于开源项目

常用远程仓库实现:

1、github
2、自己搭建git仓库服务器 gitlab

举例:在自己的github中,关联本地仓库。

2013年发布

一、环境配置难题

开发环境运行没有问题,生产不能用,因为生产缺乏某些组件。

换一台机器,需要重新配置一遍。

能不能从根本上解决问题:安装的时候,把原始环境,一模一样地安装一遍。

二、虚拟机

带环境安装的一种解决方案。

缺点:
占用资源多:虚拟机本身需要消耗资源,程序1M,环境几百MB。
冗余步骤多:虚拟机是完整的操作系统,一些系统级别的操作步骤,无法跳过,比如用户登录。
启动慢:启动操作系统要多久,启动虚拟机就要多久。

三、Linux容器

针对虚拟机的缺点,Linux发展出另外的一种虚拟化技术:Linux容器。

Linux容器不是模拟完整的操作系统,而是对进程进行隔离。
即在正常进程的外面,套一个保护层,对于容器里面的进程来说,它接触到的资源都是虚拟的,实现与底层系统的隔离。

优点:

启动快:容器里面的应用,直接就是底层系统中的一个进程,启动容器相当于启动本机的进程。而不是启动操作系统。
占用资源少:容器只占用需要的资源,不占用没有用到的资源。
体积小:只包含用到的组件,而虚拟机包含了整个操作系统。所以容器文件比虚拟机文件小的多。

四、Docker是什么?

Docker属于Linux容器的一种封装,提供了简单易用的容器使用接口。

Docker将应用程序与该程序的依赖,打包到一个文件里面,运行这个文件,就会产生一个虚拟容器。
程序在虚拟容器中运行,就好像运行在真正的物理机上一样。

Docker提供版本管理、复制、分享、修改等功能,就像管理普通代码一样管理Docker容器。

五、Docker的用途:

Docker的主要用途,目前有三大类。

1、提供一次性的环境:本地测试他人的软件程序。

2、提供弹性的云服务。Docker容器可以随开随关,很适合动态的扩容和缩容。

3、组建微服务架构。通过多个容器,一台机器可以跑多个服务,在本机就可以模拟出微服务架构。

六、Docker安装

1、Linux安装

Docker要求CentOS内核版本高于3.10
uname -r 查看内核版本

安装必要的系统工具:
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 缓存:
yum makecache fast

测试运行 hello-world
docker run hello-world

看到hello from docker证明安装成功。


2、windows安装

win10专业版,直接安装 docker for windows 即可。

win10普通版、win7 win8 ,需要安装 docker tool box

toolbox 配置:
右键 Docker Quickstart Terminal
"D:Program Files (x86)Gitbinbash.exe" --login -i "C:Program FilesDocker Toolboxstart.sh"
把这个位置配成你本机的git位置 修改后面这个脚本

七、image文件

Docker把应用程序及其依赖,打包在image文件里面,只有通过image文件,才能生成docker容器。

Docker可以根据image文件生成容器实例。

image文件可以继承。在实际开发中,一个image文件往往通过继承另一个image文件,加上一些个性化的设置而生成。

启动容器
docker run hello-world

列出所有image文件
docker image ls

删除image文件
docker image rm image文件名

八、安装redis

1、搜索镜像:
docker search redis

2、拉取镜像
docker pull redis

3、启动redis

docker run --name myredis -p 6379:6379 -d redis redis-server

-d表示后台运行

-p表示端口号,左边的6379表示win10系统端口考,右边表示容器中redis端口号
--name表示运行redis镜像的实例名称

九、Kafka部署

前提:Zookeeper

官网下载安装包
http://kafka.apache.org/downloads
上传tar

解压
tar -zxvf ......

在kafka目录中,创建一个logs文件夹
如果不创建,默认放在 /tmp 目录下

修改 config/server.properties

broker.id=0
broker 的 全局唯一编号,不能重复

delete.topic.enable=true
允许删除topic

# The number of threads that the server uses for receiving requests from the network and sending responses to the network
num.network.threads=3
处理网络请求的线程数量

# The number of threads that the server uses for processing requests, which may include disk I/O
num.io.threads=8
用来处理磁盘IO的线程数量

# A comma separated list of directories under which to store log files
log.dirs=/usr/local/kafka_2.11-2.1.1/logs
kafka运行日志存放的路径

zookeeper.connect=node3:2181,node4:2181,node5:2181
zookeeper相关信息

分发安装包
注意:要修改配置文件中 borker.id的值
broker id 不得重复

启动kafka集群
https://blog.51cto.com/u_/bin/kafka-server-start.sh config/server.properties &

jps命令可以看Kafka进程

关闭命令:
bin/kafka-server-stop.sh stop

十、Kafka命令行操作

查看当前服务器中所有的topic

https://blog.51cto.com/u_/bin/kafka-topics.sh --zookeeper node3:2181 --list

创建topic
https://blog.51cto.com/u_/bin/kafka-topics.sh --zookeeper node3:2181 --create --replication-factor 3 --partitions 1 --topic second

删除topic
https://blog.51cto.com/u_/bin/kafka-topics.sh --zookeeper node3:2181 --delete --topic second

发送消息
https://blog.51cto.com/u_/bin/kafka-console-producer.sh --broker-list node3:9092 --topic second

消费消息
https://blog.51cto.com/u_/bin/kafka-console-consumer.sh --bootstrap-server node3:9092 --from-beginning --topic second

消费者组消费:

修改 consumer.properties 配置文件
# consumer group id
group.id=tzkt

启动生产者

启动消费者
https://blog.51cto.com/u_/bin/kafka-console-consumer.sh --bootstrap-server node3:9092 --topic second --consumer.config config/consumer.properties

到此这篇docker版本控制(docker-ce版本)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • prgrm怎么读(prigrammer怎么读)2025-04-01 21:54:04
  • spark面试题(spark面试题shuffle)2025-04-01 21:54:04
  • deepsort复现(deeplabv3+复现)2025-04-01 21:54:04
  • spring教程电子书(spring教程 csdn)2025-04-01 21:54:04
  • rpm命令和yum命令具有哪些作用(rpm命令用法)2025-04-01 21:54:04
  • centernet论文(centernet论文发表在哪)2025-04-01 21:54:04
  • crrju手表多少钱(cruiser手表多少钱)2025-04-01 21:54:04
  • swagger 返回map(swagger pathmapping)2025-04-01 21:54:04
  • 数组方法filter返回值(数组的返回值怎么写return)2025-04-01 21:54:04
  • qpainter图层放到最上层(painter的图层)2025-04-01 21:54:04
  • 全屏图片