Day01-环境准备与镜像案例

Day01-环境准备与镜像案例

  • 1. 容器架构
    • 1.1 Iaas Paas Saas (了解)
    • 1.2 什么是容器
    • 1.3 容器vs虚拟机
    • 1.4 Docker极速上手指南
      • 1)配置docker源(用于安装docker)
      • 2)docker下载镜像加速的配置
      • 3)自动补全
    • 1.5 Docker C/S架构
    • 1.6 Docker的镜像管理
      • 1)案例01:下载nginx:alpine镜像并查看
      • 2)案例02:sl大法
      • 3)案例03:删除镜像
      • 4)案例04:镜像清理用的命令
      • 5)案例05:给镜像设置标签
      • 6)案例06:查看镜像详细信息
      • 7)案例07:自定义镜像
      • 8)小结
  • 今日总结

1. 容器架构

1.1 Iaas Paas Saas (了解)

  • Iaas:基础设施即服务 Infrastructure-as-a-Service

  • Paas:平台即服务 Platform-as-a-Service

  • Saas:软件即服务 Software-as-a-Service

  • Caas:容器即服务 介于IAAS和PAAS

  • IAAS,PAAS,SAAS这些服务,用于帮助人们更快实现目标(搭建环境,使用产品)

  • 从左到右,人们需要管理与维护的地方越来越少,人们可以把重点关注在使用/应用上

  • IAAS平台:基础设施,阿里云,云厂商

  • PAAS平台:服务/运行环境是ok,公有云,负载均衡SLB

  • SAAS平台:服务已经准备好,您直接用,具体产品,processon,wps,亿图

在这里插入图片描述

  • 严格模式
    在这里插入图片描述

  • 小结:

  • 了解Iaas,Paas,Saas含义

1.2 什么是容器

  • 容器是隔离的环境中运行的一个进程,如果进程结束,容器就会停止
  • 容器的隔离环境,拥有自己的ip地址,系统文件,主机名,进程管理,相当于一个mini的系统

1.3 容器vs虚拟机

虚拟机容器
优点1、使用简单
2、也有成熟管理工具,vmware esxi,KVM,Openstack
3、可以随意定制
4、启动虚拟机要经历完整的Linux启动流程
1、快速部署(扩容,弹性伸缩)
2、大部分环境都有现成镜像
3、让我们不再关注系统基础设施,把关注点放在配置,升级,优化
4、不依赖硬件
5、启动容器秒级
6、相当于一个进程
缺点1、需要硬件支持虚拟化技术(VT-X)
2、资源利用率不高
3、同一台虚拟跑多个服务,可能有冲突
4、占用资源较多
5、不满足目前升级,快速扩容,快速部署,回滚不方便
1、使用较为复杂
2、共享linux系统内核,推荐使用较新linux内核

在这里插入图片描述

1.4 Docker极速上手指南

Linux内核: 3.10以上. 如果旧的内核需要升级内核才能使用

  • 安装docker环境,docker-ce(开源) docker-ee(企业版)

  • 从1.13开始改成年-月版本命名方式.

  • 使用20.10版本

docker环境ip配置
docker01.oldboylinux.cn10.0.0.81/172.16.1.812c4G(至少1c2G)
docker02.oldboylinux.cn10.0.0.82/172.16.1.822c4G(至少1c2G)

1)配置docker源(用于安装docker)

#1.安装相关依赖.
yum install -y yum-utils device-mapper-persistent-data lvm2
#2.下载官方的docker yum源文件
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#3.替换yum源地址
sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
#4.安装docker-ce
yum install -y docker-ce
systemctl enable --now docker
#5.检查
docker version
  • docker下载镜像加速

    阿里云,腾讯云有加速用的地址

  • 阿里云为例,说明如何获取加速用的地址

在这里插入图片描述

在这里插入图片描述

2)docker下载镜像加速的配置

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://o0ot3ltv.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

3)自动补全

yum install -y bash-completion bash-completion-extras

1.5 Docker C/S架构

  • cs client/server 客户端/服务端
  • Docker服务端:docker daemon 叫dockerd
  • Docker客户端:docker命令(下载镜像,运行容器…)
docker相关词汇说明
镜像存放各种的环境或服务
容器进程,运行起来的镜像
仓库(存放镜像)远程仓库,本地仓库

在这里插入图片描述

  • docker pull nginx 下载nginx镜像到本地仓库

    • 如果本地仓库有则提示镜像已经下载
    • 如果本地出仓库没有,则docker服务端访问远程仓库,下载镜像
  • docker run -d -p 80:80 nginx 启动容器

    • -d容器后台运行
    • -p端口映射
    • nginx镜像名字
docker run -d -p 80:80 nginx
docker run -d -p 80:80 --name "oldboy_first_docker_nginx" nginx:alpine
# docker客户端找dockerd服务端,问是否有nginx镜像
# 如果有,则启动这个镜像,后台运行,访问容器端口是80端口.
# 如果没有,则从远程仓库下载镜像,启动这个镜像,后台运行,访问容器端口是80端口.

#1. 提示你本地没有nginx镜像 nginx:latest最新版
Unable to find image 'nginx:latest' locally
#2. 找远程仓库下载
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Pull complete
a0bcbecc962e: Pull complete
#3. 运行镜像,成为docker容器.
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
9020c66ace48effa904063f84c664535b8cc3aa2b95535df438c9f2f4952cc35
#4.查看镜像
docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx       latest   605c77e624dd   4 months ago   141MB
#5.查看容器
docker ps
#6. 访问10.0.0.81:80 --->容器的80端口
# 或者hosts文件做解析,使用域名访问

在这里插入图片描述

注意事项: 此处使用到了docker -p端口映射公共,需要使用iptables的nat功能,需要开启系统的内核转发功能

[root@docker01.oldboylinux.cn ~]# tail -1 /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@docker01.oldboylinux.cn ~]# sysctl -p
net.ipv4.ip_forward = 1

1.6 Docker的镜像管理

镜像管理核心指令:

docker命令指定功能详细功能
dockerimagels
docker images  ===  docker image ls

docker search 搜索镜像, 优先选官方,stars数量多
docker pull   拉取镜像(下载镜像),注意版本
docker push   推送镜像(上传镜像)
docker load   导入镜像
   例子: docker load  -i docker_nginx.tar.gz
docker save   导出镜像
   例子:docker save centos:7 -o 
docker_centos7.tar.gz
docker images   查看镜像列表
docker rmi     删除镜像
docker tag     给镜像打标签

1)案例01:下载nginx:alpine镜像并查看

#1.
docker pull #下载镜像
docker pull nginx:1.22-alpine 
#2.
docker image ls #简写为docker images查看镜像
#查找镜像:
docker search 
访问hub.docker.com
  • 镜像命名:
#指定版本
只写服务名字一般下载服务的最新版本.
nginx 下载ngx最新版本 nginx:latest
下载ngx最新稳定的版本  nginx:stable 
下载指定的版本         nginx:1.20.2 
#指定系统
nginx镜像默认的系统是Debian系统
docker pull nginx:1.20.2-alpine 使用alpine系统更加节约空间
docker镜像使用的系统
ubuntu都可以做镜像的系统
debian都可以做镜像的系统. bullseye ,bluster
centos都可以做镜像的系统最大
alpine镜像非常小(命令,依赖精简) linux内核+busybox
  • 待讲解docker push 一般用于上传镜像hub.docker.com,未来主要用于自建docker镜像仓库

2)案例02:sl大法

  • 保存docker镜像(save),其他节点上导入(load)

  • 未来也可以搭建镜像仓库

docker image save   #docker save 
docker image load   #docker load 

#1.1g个节点保存docker 镜像 -o输出到指定的文件.
docker save nginx:alpine -o nginx_alpine.tar

#2. 导入load 
docker load -i nginx_alpine.tar
  • 批量导出镜像
docker images |awk 'NR>1{print "docker save",$1":"$2,"-o",$1"_"$2".tar"}'
最后通过|bash运行

可以书写批量导出docker镜像脚本

3)案例03:删除镜像

  • 条件:镜像不能在使用中(没有基于这个镜像的容器)
docker image rm  ===  docker rmi
删除镜像

4)案例04:镜像清理用的命令

  • 用于清理一些临时镜像,未来我们自定义镜像的时候会有
docker image prune
docker images -a #可以查看系统中所有镜像,包含隐藏镜像

5)案例05:给镜像设置标签

  • 给镜像设置一个新的名字
  • 应用场景:
    • 自定义镜像
    • 搭建与使用内部镜像仓库.registry
[root@docker01.oldboylinux.cn ~]# docker images 
REPOSITORY   TAG           IMAGE ID       CREATED         SIZE
nginx        1.22-alpine   652309d09131   2 weeks ago     23.5MB
nginx        alpine        cc44224bfe20   14 months ago   23.5MB
nginx        latest        605c77e624dd   14 months ago   141MB
centos       latest        5d0da3dc9764   17 months ago   231MB

[root@docker01.oldboylinux.cn ~]# docker tag nginx:1.22-alpine nginx:1.22-alpine-oldboy 
[root@docker01.oldboylinux.cn ~]# docker images 
REPOSITORY   TAG                  IMAGE ID       CREATED        SIZE
nginx        1.22-alpine          652309d09131   2weeks ago     23.5MB
nginx        1.22-alpine-oldboy   652309d09131   2weeks ago     23.5MB
nginx        alpine               cc44224bfe20   14months ago   23.5MB
nginx        latest               605c77e624dd   14months ago   141MB
centos       latest               5d0da3dc9764   17months ago   231MB

6)案例06:查看镜像详细信息

  • 做镜像巡检的时候使用
docker 家目录     /var/lib/docker/ 

#查看 nginx:alpine镜像的信息,输出的是json格式. 
docker image inspect nginx:alpine

7)案例07:自定义镜像

未来讲解dockerfile再说

docker image build == docker build 

8)小结

  • docker pull/ docker images #docker push 未来再说
  • docker save/load
  • docker rmi/image prune
  • docker tag
  • docker image inspect
  • docker build #未来自定义镜像

今日总结

  • 容器vs虚拟机
  • docker rpm在手,天下我有
  • docker cs架构
  • docker 镜像管理与案例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/548744.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL基础-----约束详解

目录 一. 概述: 二.约束演示&#xff1a; 三.外键约束&#xff1a; 3.1介绍&#xff1a; 3.2外键约束语法&#xff1a; 3.3删除&#xff0c;更新行为&#xff1a; 一. 概述: &#x1f9d0;&#x1f9d0;概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制…

真正的跨数据库

jrt不同于主流Springmybats框架宣传的多数据支持。引入mybats之后多数据库支持基本就是无稽之谈&#xff0c;一堆Mapper写SQL语句&#xff0c;多数据库支持从最开始就变成只能连多种数据库&#xff0c;而不是业务程序可以跑在多种数据库上面不用改动。一个框架如果不能解决常规…

盘点入驻天府锋巢直播产业基地,能够享受哪些政策优惠?

直播产业谱写了互联网时代下最新的狂想曲&#xff0c;在短短几年时间&#xff0c;各数资本、品牌、MCN、主播不断涌入其中。根据招商证券预测&#xff0c;直播产业将是一个万亿级市场&#xff0c;在宏大的趋势面前&#xff0c;没有人能视而不见&#xff0c;直播电商的未来已来。…

算法题解记录13+++杨辉三角(百日筑基)

本题是动态规划的问题&#xff0c;我也在此阐述我对动态规划的理解&#xff0c;如有不准确、缺失、错误&#xff0c;敬请斧正。 题目描述&#xff1a; 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和…

Elasticsearch的使用教程

Elasticsearch简介 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎&#xff0c;能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心&#xff0c;Elasticsearch 会集中存储您的数据&#xff0c;让您飞快完成搜索&#xff0c;微调相关性&#xff0c;进行…

Pytorch-张量形状操作

&#x1f606;&#x1f606;&#x1f606;感谢大家的观看&#x1f606;&#x1f606; &#x1f339; reshape 函数 transpose 和 permute 函数 view 和 contigous 函数 squeeze 和 unsqueeze 函数 在搭建网络模型时&#xff0c;掌握对张量形状的操作是非常重要的&#xff…

智慧电网数据可视化运维云平台解决方案

智慧电力概述 智慧电力是通过采用先进的大数据、云计算、物联网、边缘计算等技术&#xff0c;实现生产信息与管理信息的智慧&#xff0c;实现人、技术、经营目标和管理方法的集成&#xff0c;是企业管理思想的一个新突破。智慧电厂建设具备智能化、一体化、可观测、可互动、自…

实验一:配置IP地址

1.实验环境 主机A和主机B通过一根网线相连 2.需求描述 为两台主机配置IP地址&#xff0c;验证IP地址是否生效&#xff0c;验证 同一网段的两台主机可以互通&#xff0c;不同网段的主机不能 直接互通 3.推荐步骤 1. 为两台主机配置P地址&#xff0c;主机A为10.0.10.10&#…

python 头文件怎么写

本文主要以python2为例。首先介绍一下Python头文件的编程风格&#xff0c;然后再给大家详细介绍import部分的基本用法。这两个部分就是Python中头文件的组成模块。 编程风格 #!/usr/bin/env python #在文件头部 ( 第一行 ) 加上 设置 Python 解释器 # -*- coding: utf…

pyqt的人脸识别 基于face_recognition库

参考文献&#xff1a; 1、python face_recognition实现人脸识别系统_python facerecognition检测人脸-CSDN博客 2、cv2.VideoCapture()_cv2.videocapture(0)-CSDN博客 1、camera.py文件代码如下&#xff1b;目录如下 import sys from PyQt5.QtWidgets import QApplication, …

FTP服务器的搭建(windows)

一、开启FTP功能 1.控制面板 2.卸载程序 3. 启用或关闭windows功能 4.勾选 5.确定 二、创建登录ftp的账户 1.此电脑右击管理 三、创建FTP服务器 1.win键&#xff0c;输入iis 2.点击IIS管理器 四、测试 1.查看本机ip地址 2.打开一个文件夹&#xff0c;输入ftp://192.168.103…

UE5学习日记——实现自定义输入及监听输入,组合出不同的按键输入~

UE5的自定义按键和UE4有所不同&#xff0c;在这里记录一下。 本文主要是记录如何设置UE5的自定义按键&#xff0c;重点是学会原理&#xff0c;实际开发时结合实际情况操作。 输入映射 1. 创建输入操作 输入操作并不是具体的按键映射&#xff0c;而是按键的激活方式&#xff0…

python代码打包exe文件

创建和激活虚拟环境 创建虚拟环境 首先让我们创建一个虚拟环境。你可以使用 venv 模块来创建一个虚拟环境。以下是创建虚拟环境的步骤&#xff1a; 打开终端&#xff08;或命令提示符&#xff09;&#xff1a;进入你想要创建虚拟环境的目录。 运行以下命令来创建虚拟环境&a…

OLAP引擎优缺点简单对比

总结&#xff1a; 数据压缩率Clickhouse好&#xff1b;ClickHouse单表查询性能优势巨大&#xff1b;Join查询两者各有优劣&#xff0c;数据量小情况下Clickhouse好&#xff0c;数据量大Doris好&#xff1b;Doris对SQL支持情况要好&#xff1b;

Java集合进阶——泛型

1.泛型 介绍&#xff1a; 泛型可以在编译阶段约束操作的数据类型&#xff0c;并进行检查。 应用场景&#xff1a; 如果在定义类、方法、接口的时候&#xff0c;如果类型不确定&#xff0c;就可以使用泛型。 格式&#xff1a; <数据类型> 注意&#xff1a; 泛型只支持引…

暴力破解密码自动阻断

1 re模块 re 模块是 Python 中用于正则表达式操作的模块。正则表达式&#xff08;Regular Expression&#xff09;是一种强大的文本处理工具&#xff0c;它使用一种特殊的字符序列来表示字符串中的模式&#xff0c;并可以通过模式匹配、查找、替换等操作对文本进行高效处理。 …

springboot 使用 mybatis 快速上手

创建数据库表对应的实体类 Data public class Template {private int id;private String name;private String type;private int productId;private Timestamp createTime;private Timestamp updateTime;private Timestamp deleteTime; }创建 TemplateMapper.java Mapper pub…

Spring GA、PRE、SNAPSHOT 版本含义及区别

GA:General Availability: 正式发布的版本&#xff0c;推荐使用&#xff08;主要是稳定&#xff09;&#xff0c;与maven的releases类似&#xff1b; PRE: 预览版,内部测试版。主要是给开发人员和测试人员测试和找BUG用的&#xff0c;不建议使用&#xff1b; SNAPSHOT: 快照…

InnoDB架构:内存篇

InnoDB架构&#xff1a;内存篇 InnoDB是MySQL数据库中默认的存储引擎&#xff0c;它为数据库提供了事务安全型&#xff08;ACID兼容&#xff09;、行级锁定和外键支持等功能。InnoDB的架构设计优化了对于读取密集和写入密集型应用的性能表现&#xff0c;是一个高度优化的存储系…

# Nacos 服务发现-Spring Cloud Alibaba 综合架构实战(四) -实现 service2 子模块。

Nacos 服务发现-Spring Cloud Alibaba 综合架构实战&#xff08;四&#xff09; -实现 service2 子模块。 1、在 service2 子模块下的 service-2-api 二级子工程中&#xff0c;定义服务接口 创建 ProviderService.java /*** C:\java-test\idea2019\nacos_discovery\nacos-mi…
最新文章