首页 > 其他分享 >docker介绍

docker介绍

时间:2024-04-11 15:46:03浏览次数:22  
标签:容器 虚拟化 -- 介绍 --- 镜像 docker

1 docker介绍

1.1 什么是虚拟化

 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储


在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件  对资源充分利用

虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等。


# 虚拟化技术名词
# kvm,vmware :软件--》虚拟化软件---》操作系统上装了这个软件后---》虚拟化出一台台机器
# openstack :web管理页面---》对虚拟化的机器进行管理---》创建,销毁,增加 机器


# 阿里飞天 :阿里自研的类似于 openstack的东西
# docker :接下来要学习,容器技术
# k8s :容器管理,容器编排


公司购买了很多台实体服务器---——》 装k8s  装docker

1.2 什么是Docker

Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 加了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在上进行维护。

docker 容器管理 
	-docker swarm
	-k8s

Docker 的基础是 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 安装和配置

# 有台虚拟机---》买个阿里云服务器:按量付费  有ip
# centos7.9 系统 
10.0.0.110  
root
123


# 远程链接:
	finalshell:免费的
    xshell :只能win用,收费
    命令窗口:git bash创建
    
    
# 先远程链接到centos上
	git bash里 :ssh [email protected]     输入密码连接上即可
    
    finalshell: 图形化界面链接
    	-地址
        -用户名
        -密码 
        
# docker : mac, win,Linux:centos,乌班图


### 安装:
	-卸载:
    	yum remove docker docker-common  docker-selinux docker-engine
	    rm -rf /var/lib/docker
	-安装	
	   yum update
       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
    
    
    - 验证
    	docker -v
##  运行docker-ce
	systemctl status docker # 查看docker软件运行状态
    
	systemctl start docker  #启动docker
    
    systemctl restart docker # 重启
    systemctl stop docker  # 停止






### 配置国内源---》下载镜像--》速度会快

# 远程仓库在国外[python 下第三方模块:pypi上---》配置国内镜像站]
# 使用国内源,下载镜像时,速度会快---》阿里云
# 参照阿里云提供的笔记做:https://cr.console.aliyun.com/cn-shanghai/instances/mirrors


sudo 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
	

2.5 镜像和容器

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

3 docker镜像操作



# 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

3.1 注册并登录到远程仓库

# gitee--->远程仓库---》本地代码---》提交
	-登录进入可以看到你开源的项目
    
# docker--》hub.docker-->镜像----》我们自己的镜像,也可以传上去,给所有人用
	-登录进入:就能看到你传的镜像

    
# 注册一个hub.docker 的账号
# 登录进入
# 上传你的镜像
	-0 登录
    	docker login
        
	-1 给镜像打个标签
    	docker tag 本地镜像名:标签  你的名字/镜像名字:标签
        docker tag redis:latest   liuqingzheng/rredis:vv1
        
    -2 上传到远程仓库
    docker push liuqingzheng/rredis:vv1
    

3 docker容器操作

# 把镜像运行成容器,并且一个镜像,可以运行出多个容器


# 把centos7 运行成容器
# --name=centos7 容器名
# run :创建并运行
# -di :创建出容器并运行,命令行还在宿主机
docker run  -di --name=centos77 centos:centos7




# 查看正在运行的容器
	docker ps
# 查看所有容器
	docker ps -a
# 查看最后一次运行的容器
 	docker ps -l
    
# 启动停止的容器
	docker start id/名字

# 停止运行的容器
	docker stop 7d5e

# 停止所有在运行的容器
	docker stop `docker ps -q`
    
    
# 删除容器
	docker rm 容器id
    
# 记住四条:
	docker ps
    docker ps -a
    docker start
    docker stop
    
    
    
# 进入到容器内部
docker exec -it 容器id /bin/bash
docker exec -it 90fd0665494f /bin/bash

# 在centos的容器中安装mysql 3.9 
	-不是在宿主机上装
    -容器中

    

    

标签:容器,虚拟化,--,介绍,---,镜像,docker
From: https://www.cnblogs.com/zhangfanshixiaobai/p/18129375

相关文章

  • Docker 创建“虚悬镜像”+“正常的镜像”
     写一个虚悬镜像的dockerfile:1. 具体操作步骤:1)vimdockerfile2)编写如下的dockerfile内容3)构建:dockerbuild. //没有指定镜像名字和tag名字   如果看到有虚悬镜像,一般来讲,都是要把它给删除掉。使用dockerfile去创建一个正常的镜像:1.流程:2.准备的dockerfil......
  • Dockerfile 安装centos案例
    1.编写dockerfile文件去安装cetos的操作步骤:   2.执行Dockerfile文件:dockerbuild-tcentosjava8:1.5.ps:其中,-t选项用于指定镜像的名称,centosjava8:1.5是你为镜像命名的名称,可以替换成其他任意名称。.表示当前目录,指示Docker在当前目录下寻找Dockerfil......
  • docker安装运行Redis
    第一步:下拉redisdockerpullredis:7.2.4我下拉的是目前最新版本,也就是7.2.4版本dockerps查看容器运行情况第二步:挂载目录mkdir-p/home/user/lyapp/redis/conf/home/user/lyapp/redis/data第三步:新建并修改配置文件在/path/redis/conf/下新建redis.conf文件,即/home/user/l......
  • github-webhook+docker实现项目可持续自动化部署
    目录一、项目手动部署二、项目自动部署自动构建部署流程docker概念补充使用nginx+pm2+github-webhook+docker实现项目自动部署注:docker也能实现pm2的守护进程功能(持续启动项目),所以使用了docker就不需要使用pm2了但是需要注意的是使用node启动的webhook服务器不......
  • 【SQL】mysql数学函数功能介绍并举例
    mysql数学函数:ABS(x):返回x的绝对值。CEIL(x)或CEILING(x):返回大于或等于x的最小整数。FLOOR(x):返回小于或等于x的最大整数。ROUND(x,d):返回x四舍五入到小数点后d位的值。POW(x,y)或POWER(x,y):返回x的y次幂。SQRT(x):返回x的平方根。m......
  • Docker常用命令(傻瓜式笔记)
    话不多说,跟我学习Docker常用命令!Docker#查看内核uname-r#启动dockersystemctlstartdocker#查看docker状态systemctlstatusdocker#重启dockersystemctlrestartdocker#查看版本dockerversion#查看信息dockerinfo#获取帮助docker--help#查......
  • 【精选】发布应用到应用商店的基本介绍
    摘要本文旨在介绍如何在各大应用商店发布应用,包括市场选择、准备材料、上架步骤以及常见被拒原因及解决方法。通过详细的步骤和经验分享,帮助开发者顺利将应用推向市场。引言随着移动应用市场的不断发展,越来越多的开发者希望将他们的应用发布到各大应用商店,以获取更多的......
  • 【精选】发布应用到应用商店的基本介绍
    摘要本文旨在介绍如何在各大应用商店发布应用,包括市场选择、准备材料、上架步骤以及常见被拒原因及解决方法。通过详细的步骤和经验分享,帮助开发者顺利将应用推向市场。引言随着移动应用市场的不断发展,越来越多的开发者希望将他们的应用发布到各大应用商店,以获取更多的......
  • Docker安装Nginx容器
    安装Nginx#查找官方镜像dockersearchnginx#下载最新版Nginx镜像(其实此命令就等同于:dockerpullnginx:latest)dockerpullnginx#下载指定版本的Nginx镜像(xxx指具体版本号)dockerpullnginx:xxx#检查当前所有Docker下载的镜像dockerimages创建Nginx配置......
  • docker-compose部署kafka
    docker-compose.ymlversion:'2'services:zookeeper:image:develop-harbor.geostar.com.cn/3rd/zookeeper:3.5.5ports:-"2181:2181"kafka:image:develop-harbor.geostar.com.cn/3rd/wurstmeister/kafka:2.12-2.2.1......