首页 > 其他分享 >docker_01

docker_01

时间:2024-03-12 19:12:20浏览次数:24  
标签:容器 01 虚拟化 -- --- 镜像 docker

项目演示

https://gitee.com/pear-admin/pear-admin-flask


# 项目2
    - pycharm打开
    - 安装依赖 pip install -r requirements.txt
    - 打开models,创建数据库
        注释掉 解开注释
    -在命令行中运行
    -在命令中执行:python manage.py runserver
    
    -打开http://127.0.0.1:5000

docker介绍

 什么是虚拟化

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


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

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


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


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


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

什么是Docker

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

docker 容器管理 
    -docker swarm
    -k8s

Docker 的基础是 Linux 容器(LXC)等技术

docker 和传统虚拟机比较

# docker 不需要虚拟化出 操作系统这一层---》更轻量级--占空间更新---》还能实现隔离

# 虚拟机技术的缺点:
    1.资源占用太多
    2.冗余步骤多
    3.启动很

# 容器化技术
1.服务器资源利用率高
2.比较轻量化
3.打包镜像测试,一键运行



比较Docker和虚拟机技术不同:
​ 1.传统虚拟机,虚出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
​ 2.容器内的应用之间运行在 宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以久轻便了
​ 3.每个容器间是互相隔离的,每个容器内都有属于自己的文件系统,互不影响
​ 4.安全性,docker的安全性更弱,
​ 5.与虚拟机相比,docker隔离性更弱,docker属于进程之间的隔离,虚拟机可实现系统级别隔离

​ 7docker创建时秒级的,docker的快速迭代性,无论是开发、测试、部署都可以节约大量时间

docker 架构

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

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

镜像和容器

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

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

注册并登录到远程仓库

# 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

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 
    -不是在宿主机上装
    -容器中

 

标签:容器,01,虚拟化,--,---,镜像,docker
From: https://www.cnblogs.com/wzh366/p/18069015

相关文章

  • 什么是R语言?什么是R包?-R语言001
    R语言是一种专为统计计算和图形而设计的编程语言和环境。它最初由罗斯·伊哈卡和罗伯特·亨特尔在1993年创建,灵感来源于S语言。R语言已经发展成为统计学、数据分析、科学研究以及许多其他领域中最受欢迎和广泛使用的工具之一。R语言的核心是一个开源的解释型语言,这意味着它允许......
  • java018学习记录
    JavaWeb前端+后端+数据库DBDataBase数据库是一个服务,启动服务才能使用,开机自动启动,存储业务数据关系型数据库,传统数据,主要的业务数据,MySQL、Oracle、SQLServer(C#)结构复杂、性能稳定、速度较慢非关系型数据库,MongoDB、Redis结构灵活、速度快,功能有限,查询次数比......
  • 蓝桥杯2019年第十届省赛真题-修改数组
    查重类题目,想到用标记数组记录是否出现过但是最坏情况下可能会从头找到小尾巴,时间复杂度O(n2),数据范围106显然超时再细看下题目,我们重复进行了寻找是否出现过,干脆把每个元素出现过的次数k记录下来,直接跳到后k个位置,实现O(n)#include<stdio.h>#include<string.h>#inclu......
  • [Blazor] 学习随笔——RZ10012警告的处理
    程序能运行,就是告诉你RZ10012,然后各种提示没有了。清理解决方案、电脑重启了都没有用,后来搜索到github,解决了,记一下:关闭vs删除文件夹.vs,bin,object打开vs,重新生成解决方案也是醉了。文字少的博文不允许投稿到该网站分类?知道什么叫短小精悍吗?知道什么叫短小精悍吗?知道什......
  • 震惊!docker镜像还有这些知识你都知道吗
    震惊!docker镜像还有这些知识你都知道吗?镜像搜索语法[root@hmmdocker-hello]#dockersearch-hFlagshorthand-hhasbeendeprecated,pleaseuse--helpUsage:dockersearch[OPTIONS]TERMSearchDockerHubforimagesOptions:-f,--filterfilterFilter......
  • 如何在Docker容器和主机之间复制文件/文件夹
    简介Docker是一种流行的容器化平台,它允许开发人员在独立、可移植的环境中构建、打包和部署应用程序。在使用Docker时,常常需要在Docker容器和主机之间进行文件的复制和共享。Docker提供了一个名为dockercp的命令,可以轻松地在容器和主机之间复制文件和目录。本文将详细介绍docker......
  • 【计算机网络01】网卡——链接5G热点网速较慢问题解决方法。
    计算机网络:网卡一、网卡带宽查询二、高速带宽设置一.在电脑连接手机热点的时候,查询网络属性,找到网络频带是2.4GHz,带宽是72(Mbps):查找原因,发现是手机热点页面中AP频带设置的原因,AP频带设置成了2.4GHz:二.更改手机热点页面中AP频带,将AP频带设置成了5GHz频段:再在电......
  • Dockerfile 部署jar包
    防火墙端口添加:firewall-cmd--zone=public--add-port=80/tcp--permanent(--permanent永久生效,没有此参数重启后失效)重新载入firewall-cmd--reload查看firewall-cmd--zone=public--query-port=80/tcp删除firewall-cmd--zone=public--remove-port=80/tcp--per......
  • CentOS 安装 Docker Compose(curl 方式)
    CentOS安装DockerCompose(curl方式)下载运行此命令下载最新版本的DockerCompose:sudocurl-Lhttps://github.com/docker/compose/releases/download/v2.20.0/docker-compose-`uname-s`-`uname-m`-o/usr/local/bin/docker-composedocker-compose2.20.0Linux64位版......
  • CentOS 安装 Docker(yum)
    CentOS安装Docker(yum)查看已经安装的dockeryumlistinstalled|grepdocker卸载已经安装的dockeryum-yremovedocker-ce.x86_64安装存储库sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2yum-utils提供了yum-config-manager效用,并device-mapper......