当前位置: 首页 > news >正文

wordpress 国内最好主题/seo入门基础知识

wordpress 国内最好主题,seo入门基础知识,健康网站模版,四川手机网站参考教程: https://www.bilibili.com/video/BV1Qa4y1t7YH/?p5&spm_id_frompageDriver&vd_source4964ba5015a16eb57d0ac13401b0fe77 什么是Docker? Docker是一种开源的容器化平台,用于构建、打包、部署和运行应用程序。它通过使用容…

参考教程:
https://www.bilibili.com/video/BV1Qa4y1t7YH/?p=5&spm_id_from=pageDriver&vd_source=4964ba5015a16eb57d0ac13401b0fe77

什么是Docker?

Docker是一种开源的容器化平台,用于构建、打包、部署和运行应用程序。它通过使用容器来实现应用程序的隔离和轻量级虚拟化,使应用程序能够在不同的环境中以一致的方式运行。

容器是一种轻量级的虚拟化技术,它将应用程序及其所有依赖项(如库、运行时环境等)打包到一个独立的可执行单元中,称为容器。每个容器都是相互隔离的,可以在同一台主机上同时运行多个容器,而它们之间不会相互干扰。这种隔离性使得容器可以在不同的操作系统、服务器或云平台上运行,而无需担心环境差异或依赖冲突的问题。

Docker的优势

Docker 的优势主要体现在以下几个方面:

  1. 快速部署和扩展:Docker 可以快速创建、启动和停止容器,使应用程序的部署变得非常高效。容器化应用程序可以在几秒钟内启动,相比于传统的虚拟机,启动时间更短。此外,Docker 还支持自动化的扩展,可以根据负载情况自动调整容器的数量,提供更好的可伸缩性。

  2. 资源利用率高:Docker 利用操作系统级别的虚拟化技术,可以在同一台主机上运行多个容器,且容器之间相互隔离。这种轻量级的虚拟化方式使得容器的资源占用更少,相比于传统虚拟机,可以更高效地利用服务器的资源。

  3. 环境一致性:Docker 提供了一种标准化的容器化环境,使应用程序可以在不同的环境中以一致的方式运行。开发人员可以在本地开发环境中构建和测试容器,然后将其部署到生产环境中,无需担心环境差异导致的问题。这种环境一致性有助于减少开发、测试和部署过程中的错误和不一致性。

  4. 简化依赖管理:Docker 将应用程序及其依赖项打包到一个独立的容器中,可以确保应用程序所需的所有依赖项都被正确安装和配置。这简化了应用程序的依赖管理,避免了依赖冲突和版本不一致的问题。

  5. 持续集成和持续部署:Docker 可以与持续集成和持续部署工具集成,如 Jenkins、GitLab CI、Travis CI 等。通过使用容器化的构建和部署流程,可以实现自动化的测试、构建和部署,提高交付速度和质量。

总的来说,Docker 提供了一种轻量级、快速、可移植和可扩展的应用程序交付和部署解决方案。它简化了应用程序的部署和管理过程,提高了开发和运维的效率,同时提供了更好的资源利用率和环境一致性。

Docker与虚拟机的区别

在这里插入图片描述
在这里插入图片描述
比较上面两张图,我们发现虚拟机是携带操作系统,本身很小的应用程序却因为携带了操作系统而变得非常大,很笨量。Docker是不携带操作系统的,所以Docker的应用就非常的轻巧。另外在调用宿主机的CPU、磁盘等等这些资源的时候,拿内存举例,虚拟机是利用Hypervisor去虚拟化内存,整个调用过程是虚拟内存>虚拟物理内存>真正物理内存,但是Docker是利用Docker Engine去调用宿主的的资源,这时候过程是虚拟内存>真正物理内存。

Docker的核心

在这里插入图片描述

  • 镜像:一个镜像代表一个应用环境,他是一个只读的文件,如 mysql镜像,tomcat镜像,nginx镜像等
  • 容器:镜像每次运行之后就是产生一个容器,就是正在运行的镜像,特点就是可读可写
  • 仓库:用来存放镜像的位置,类似于maven仓库也是镜像下载和上传的位置
  • dockerFile: docker生成镜像配置文件用来书写自定义镜像的一些配置
  • tar:一个对镜像打包的文件,日后可以还原成镜像

什么是镜像

  • 镜像是一种轻量级的,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的富案件,它包含运行某个软件所需的所有内容,包括代码、运行时所需的库、环境变量和配置文件。
  • 为什么镜像这么大?
    docker在管理所有镜像的时候,是有一个层级结构的,镜像的内部会依赖多个层级,在拉取新的镜像时,如果已经存在需要的层级依赖,则不需要重新再拉一次所存在的层级依赖。
    这个所谓的层级依赖,叫UnionFS(联合文件系统)

Union文件系统是一种分层,轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。Union文件系统是Docker镜像的基础。这种文件系统特性:就是一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。

  • docker镜像原理
    docker的镜像实际是由一层一层的文件系统组成
  • boots(boot le system)主要包含bootoader和kemnel,bootoader主要是引导加载kernel,Linux刚启动时会加载ots文件系统。在doker请像的最底层就是boots。这一层与Linux/Unix 系统是一样的,包含bt加载器bootloader)和内核kerne)。当bt加载完后,整个内核就都在内存中了,此时内存的使用权已由bootis转交给内核,此时会卸载bootfs。
  • roots(rootfile system),在boots之上,包含的就是典型的iux系统中的/dev,/prot,/bin,/et等标准的目录和文件。rootis就是各种不同的操作系统发行版,比如Ubuntu/Centos等等。
  • 我们平时安装进虚拟机的entos都有1到几个GB,为什么docker这里才20MB?对于一个精简的OS,roots可以很小,只需要包括最基本的命令,工具,和程序库就可以了,因为底层直接使用Ho的Kemnal,自己只需要提供rotfs就行了。由此可见不同的lnux发行版,他们的botis是一致的,rootis会有差别,因此不同的发行版可以共用bootfs
  • 为什么docker镜像采用分层结构
    资源共享

比如:有多个镜像都是从相同的base镜像构津而来的,那么宿主机只需在磁盘中保存一份base镜像。同时内存中也只需要加载一份base镜像。就可以为所有容器服务了。而且镜像的每一层都可以被共享。Docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称为容器层,容器层之下都叫镜像层。

安装Docker(centos 7.x环境)

1、卸载已经安转的docker(如果是新环境则不需要)

sudo yum remove docker \docker-client \docker-client-latest docker-common \docker-latest \docker-latest-logrotate \docker-logrotate  \docker-engine \

2、安装yum源

sudo yum install -y yum-utils
sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo

3、安装docker

sudo yum install docker-ce docker-ce-cli containerd.io

4、安装完毕

  • 启动docker
    sudo systemctl start docker
  • 查看启动状态
    `sudo systemctl status docker``
  • 关闭docker
    sudo systemctl stop docker
  • 测试docker安装
    sudo docker run hello-world

配置Docker阿里云镜像加速服务

在这里插入图片描述
1、配置镜像地址

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

2、重启服务

sudo systemctl daemon-reload
sudo systemctl restart docker

3、查看是否配置成功
docker info

image 镜像命令

  • 查看本机存在的镜像
    docker images
  • 搜索镜像
    docker search [镜像名]

如果发现运行这个命令报错了:
Error response from daemon: Get "https://index.docker.io/v1/search?q=nginx&n=25": dial tcp: lookup index.docker.io on 192.168.43.1:53: read udp 192.168.188.131:60570->192.168.43.1:53: i/o timeout
说明是DNS的配置有问题,可以通过以下的方式解决:
1、修改 resolv.conf文件里的域名(你本机的DNS或者是其他的DNS)
vi /etc/resolv.conf
内容:
search localdomain
nameserver 192.168.43.1 #你本机的DNS
nameserver 8.8.8.8 #其他DNS
2、让resolv.conf只读,不可修改,否则重启网络之后,修改的内容会被覆盖掉
chattr +i /etc/resolv.conf
3、重启网络
systemctl restart network

  • 拉取镜像
    docker pull [镜像名]
  • 删除镜像
    docker rmi [镜像名]
    -f 强制删除

容器命令

  • 运行容器
    docker run [镜像名]
    --name 别名为容器起一个名字
    -d 启动守护式容器(在后台启动容器)
    -p 映射端口号:原始端口号指定端口号启动
    例如:
    docker run -it --name myTomcat -p 8888:8080 tomcat
    docker run -d --name myTomcat -P tomcat

  • 查看运行的容器
    docker ps
    -a 正在运行的和历史运行过的容器
    -q 静默模式,只显示容器编号

  • 停止|关闭|重启容器
    docker start 容器名字或者容器id ---------- 开启容器
    docker restart 容器名或者容器id ---------- 重启容器
    docker stop 容器名或者容器id ---------- 正常停止容器运行
    docker kill 容器名或者容器id ---------- 立即停止容器运行

  • 删除容器
    docker rm -f 容器id或容器名
    docker rm -f $(docker ps -aq) ---------- 删除所有容器

  • 查看容器内进程
    docker top 容器id或容器名 ---------- 查看容器内的进程

  • 查看容器内部细节
    docker inspect 容器id ---------- 查看容器内部细节

  • 查看容器的运行日志
    docker logs [OPTIONS] 容器id或容器名 ---------- 查看容器日志
    -t 加入时间戳
    -f 跟随最新的日志打印
    --tail 数字 显示最后多少条

容器内数据交互

centos —> docker(引擎) —> nginx(容器内部)

  • 进入容器内部
    docker exec [options] 容器id 容器内命令 ---------- 进入容器执行命令
    -i 以交互模式运行容器,通常与 -t 一起使用
    -t 分配一个伪终端

  • 容器内安装软件
    apt-get update
    apt-get install 安装包名称

  • 退出容器
    exit

  • 将容器打包为新的镜像
    docket commit -a="作者" -m="描述信息 容器id 目标镜像名称:TAG"

  • 从容器中复制文件到宿主机目录中
    docker cp 容器id:容器内资源路径 宿主机目录路径

  • 设置容器和宿主机共享目录
    docker run -it -v /宿主机的路径:/容器内的路径:ro(只读) 镜像名 ------------ 宿主机的目录不存在就会创建
    注意:宿主机路径必须是绝对路径,宿主机目录会覆盖容器内目录内容
    运行docker inspect 容器id 命令 检查json串里有没有以下内容,如果有则证明卷挂载成功

"Mounts": [{"Type": "bind","Source": "/root/home","Destination": "/uer/share/nginx/html","Mode": "","RW": true,"Propagation": "rprivate"}],
  • 打包镜像
    docker save 镜像名 -o 名称.tar

  • 载入镜像
    docker load -i 名称.tar

相关文章:

【Docker】01-Centos安装、简单使用

参考教程&#xff1a; https://www.bilibili.com/video/BV1Qa4y1t7YH/?p5&spm_id_frompageDriver&vd_source4964ba5015a16eb57d0ac13401b0fe77 什么是Docker&#xff1f; Docker是一种开源的容器化平台&#xff0c;用于构建、打包、部署和运行应用程序。它通过使用容…...

k8s之存储篇---数据卷Volume

数据卷概述 Kubernetes Volume&#xff08;数据卷&#xff09;主要解决了如下两方面问题&#xff1a; 数据持久性&#xff1a;通常情况下&#xff0c;容器运行起来之后&#xff0c;写入到其文件系统的文件暂时性的。当容器崩溃后&#xff0c;kubelet 将会重启该容器&#xff…...

博流RISC-V芯片JTAG debug配置与运行

文章目录 1、Windows下安装与配置2、Linux下安装与配置3、芯片默认 JTAG PIN 列表4、命令行运行JTAG5、Eclipse下使用JTAG 1、Windows下安装与配置 CKLink 驱动安装 Windows版驱动下载地址&#xff1a; https://occ-oss-prod.oss-cn-hangzhou.aliyuncs.com/resource//1666331…...

[国产MCU]-W801开发实例-UART控制器

UART控制器 文章目录 UART控制器1、UART控制器介绍2、UART驱动API介绍3、UART使用示例本文将详细如何使用W801的UART模块。 1、UART控制器介绍 UART是一种通用串行 数据总线 ,用于 异步通信 。该总线支持双向通信,可以实现 全双工传输 和接收。 W801 共 6组普通 UART口,通…...

OpenCV(九):LUT查找表

LUT&#xff08;Look-Up Table&#xff09;查找表是OpenCV中一种常用的图像处理方法&#xff0c;用于对图像进行像素级别的颜色映射或图像增强操作。LUT查找表可以实现快速、高效的颜色转换和像素操作&#xff0c;尤其在处理大量像素的情况下具有优势。以下是关于OpenCV LUT查找…...

2023年 Java 面试八股文(25w字)

0.Java八股文上&#xff08;25w字&#xff09;2.3w 1.集合容器 2.Java基础链接 目录 一.Java 基础面试题1.Java概述Java语言有哪些特点&#xff1f;Java和C有什么关系&#xff0c;它们有什么区别&#xff1f;JVM、JRE和JDK的关系是什么&#xff1f;**什么是字节码?**采用字…...

STM32f103入门(7)pwm驱动led驱动舵机驱动直流电机

PWM驱动 PWM介绍TIM_OC1Init 配置通道TIM_OCStructInit 输出比较参数默认值输出比较模式 TIM_OCInitstructure输出比较极性 TIM_OCInitstructure设置输出使能以下三个决定了PWM的频率 占空比初始化通道 TIM_OC1Init(TIM2, &TIM_OCInitstructure);GPIO复用 PWM通道 驱动LED复…...

Linux centos7 bash编程——-求质数和

训练项目&#xff1a;使用函数求质数和。 定义一个函数IsPrime()&#xff0c;据此判断一个数是否为质数 由用户输入一个整数&#xff0c;求出比此数大的两个最小质数之和。 一、解决思路: 1.先在键盘上输入一个整数 2.求出比此数大的最小质数 3.再求出比此质数大的另一个…...

给Hexo添加说说功能

首发博客地址 官网地址 效果 &#x1f440; 前言 GitHub 仓库&#xff1a;Artitalk.js &#x1f389; 特性 增删查改全方面支持 支持针对每条说说的评论 支持 Markdown/html 语法 支持图片上传 &#x1f680; 快速使用 下列主题已将本项目整合进去&#xff0c;可以直接使用。 感…...

Tensorflow调用训练好的yolov5模型进行推理

文章目录 1、安装TensorFlow-GPU版本1.2、验证是否安装正常 2、将训练好的pt文件转换成onnx文件2.2、什么是Onnx模型和Tensorflow模型2.1、将onnx文件转换成pb文件 1、安装TensorFlow-GPU版本 1、创建虚拟环境python3.8 conda create -n TF2.4 python3.82、进入虚拟环境 conda…...

【场景方案】我所积累的一些跨页面的数据传递方式,持续更新,欢迎补充~

文章目录 Iframe内嵌相互传递BroadcastChannel同标签页数据传递localStorage中间人传递未完待续... Iframe内嵌相互传递 使用window.postMessage()的这个html5特性去跨域传递数据&#xff0c;不受跨域限制。 父层&#xff1a; sendMes(){ // 向iframe发送let iframdom this…...

ASP.NET Core 的错误页面

异常处理 Developer 环境的异常页面 ASP.NET Core App 会可以在开发阶段用UseDeveloperExceptionPage启用 Developer 异常页面&#xff1a; app.UseDeveloperExceptionPage();当遇到Unhandled 异常信息时&#xff0c;可以输出异常信息页面&#xff1a; 异常信息包括&#xf…...

Android静态ip设置的坑

Android静态ip设置的坑 Android静态ip设置&#xff0c;对于这个功能&#xff0c;如果没有接触过&#xff0c;会给人感觉是个特别简单的功能&#xff0c;直接调用系统的接口即可&#xff0c;其实这个功能还是有许多坑的&#xff0c;因为谷歌在Android SDK中对相关的API进行非系…...

电源管理(PMIC)TPS63070RNMR、TPS650942A0RSKR、LM5175RHFR器件介绍、应用及特点。

一、TPS63070RNMR&#xff0c;降压升压 开关稳压器 IC 正 可调式 2.5V 1 输出 3.6A&#xff08;开关&#xff09; 15-PowerVFQFN 1、概述 TPS63070高输入电压降压-升压转换器是一款高效的低静态电流降压-升压转换器。这些器件适用于输入电压高于或低于输出电压的应用。升压模式…...

k8s(kubernetes)介绍篇

一、Kubernetes 是什么 Kubernetes 是一个全新的基于容器技术的分布式架构解决方案&#xff0c;是 Google 开源的一个容器集群管理系统&#xff0c;Kubernetes 简称 K8S。 Kubernetes 是一个一站式的完备的分布式系统开发和支撑平台&#xff0c;更是一个开放平台&#xff0c;对…...

gRPC + Spring Boot 编程教程 - piot

在本文中&#xff0c;您将学习如何实现通过 gRPC 通信的 Spring Boot 应用程序。gRPC 是一个现代开源远程过程调用 (RPC) 框架&#xff0c;可以在任何环境中运行。默认情况下&#xff0c;它使用 Google 的 Protocol Buffer 来序列化和反序列化结构化数据。当然&#xff0c;我们…...

新建Spring Boot项目

使用IDEA 来创建: 文件-新建-项目 填写项目元数据 选择依赖项 此处可以先选 web-spring web 关于这些依赖项&#xff0c;更多可参考&#xff1a; IDEA创建Spring boot项目时各依赖的说明&#xff08;Developer Tools篇&#xff09;[1] 项目结构介绍 展开项目&#xff0c;此时…...

Python数据分析的第三方库

ython作为一种简单易学、功能强大的编程语言&#xff0c;逐渐成为数据分析领域的首选工具。在Python数据分析中&#xff0c;有许多优秀的第三方库可以帮助我们进行数据处理、可视化和建模。 常用第三方库&#xff1a; NumPy&#xff1a;提供了高性能的多维数组对象和用于数组…...

EF列表分页查询(单表、多表),排除参数为空的条件

在日常使用EF框架查询数据库时&#xff0c;有时传入的参数为空,那么我们应该把该条件排除&#xff0c;不应列入组装的sql中&#xff0c;本篇文件以分页查询为例介绍EF框架的单表、多表的多条件查询&#xff0c;参数为空时排除条件。 首先我们要有派生自DBContext类的数据上下文…...

VisualStudio配置pybind11-Python调用C++方法

个人测试下来Debug生成的dll改pyd&#xff0c;py中import会报错gilstate->autoInterpreterState 如果遇到同样问题使用Release吧 目录 1.安装pybind11 1.pip&#xff1a; 2.github&#xff1a; 2.配置VS工程 2.在VC目录中的包含目录添加&#xff1a; 3.在VC目录中的库目录…...

ZZULIOJ 1164: 字符串加密,Java

ZZULIOJ 1164: 字符串加密&#xff0c;Java 题目描述 输入一串字符&#xff08;长度不超过100&#xff09;和一个正整数k&#xff0c;将其中的英文字母加密并输出加密后的字符串&#xff0c;非英文字母不变。加密思想&#xff1a;将每个字母c加一个序数k&#xff0c;即用它后…...

联合体(共用体)的简单介绍

目录 概念&#xff1a; 联合的声明&#xff1a; 类比结构体&#xff1a; 联合体的大小&#xff1a; 联合的⼤⼩⾄少是最⼤成员的⼤⼩ 联合体的空间是共用的 联合体内部成员的赋值&#xff1a; 当最⼤成员⼤⼩不是最⼤对⻬数的整数倍的时候&#xff0c;就要对⻬到最⼤对⻬…...

Ansible学习笔记8

group模块&#xff1a; 创建一个group组&#xff1a; [rootlocalhost ~]# ansible group1 -m group -a "nameaaa gid5000" 192.168.17.105 | CHANGED > {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}…...

五子棋游戏禁手算法的改进

五子棋游戏禁手算法的改进 五子棋最新的禁手规则&#xff1a; 1&#xff0e;黑棋禁手判负、白棋无禁手。黑棋禁手有“三三”&#xff08;包括“四三三”&#xff09;、“四四”&#xff08;包括“四四三”&#xff09;和“长连”。黑棋只能以“四三”取胜。 2&#xff0e;黑方…...

基于 Debian 12 的 Devuan GNU+Linux 5 为软件自由爱好者而生

导读Devuan 开发人员宣布发布 Devuan GNULinux 5.0 “代达罗斯 “发行版&#xff0c;它是 Debian GNU/Linux 操作系统的 100% 衍生版本&#xff0c;不包含 systemd 和相关组件。 Devuan GNULinux 5 基于最新的 Debian GNU/Linux 12 “书虫 “操作系统系列&#xff0c;采用长期支…...

算法系列-力扣234-回文链表判定

回文链表判定 给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 方法一&#xff1a;栈反转对比法 解题思路&#xff1a;找到中间节点后用栈辅助反转对比 解题方法&#xff1…...

算法通关村——海量数据场景下的热门算法题的处理方法

1. 从40个亿中产生一个不存在的整数 题目要求&#xff1a;给定一个输入文件&#xff0c;包含40亿个非负整数&#xff0c;请设计一个算法&#xff0c;产生一个不存在该文件中的整数&#xff0c;假设你有1GB的内存来完成这项任务。 ● 进阶&#xff1a;如果只有10MB的内存可用&a…...

【C++从0到王者】第二十五站:多继承的虚表

文章目录 前言一、多继承的虚函数表二、菱形继承与菱形虚拟继承的虚函数表1.菱形继承2.菱形虚拟继承的虚函数表 三、抽象类1.抽象类的概念2.接口继承与实现继承 总结 前言 其实关于单继承的虚函数表我们在上一篇文章中已经说过了&#xff0c;就是派生类中的虚表相当于拷贝了一…...

老程序员教你如何笑对问题,轻松培养逻辑思考和解决问题的能力

原文链接 ​​​​​​​老程序员教你如何笑对问题&#xff0c;轻松培养逻辑思考和解决问题的能力 故事发生在一个阳光明媚的午后&#xff0c;我们的主人公&#xff0c;老李&#xff0c;一位拥有十年工作经验的 Python 老程序员&#xff0c;正悠哉地在喝着咖啡。 这时&#x…...

Omni Recover for Mac(专业的iPhone数据恢复软件)

Omni Recover for Mac是一款专业的Mac数据恢复软件&#xff0c;能够帮助用户快速找回被误删除、格式化、病毒攻击等原因造成的文件和数据&#xff0c;包括图片、视频、音频、文档、邮件、应用程序等。同时&#xff0c;Omni Recover for Mac还具有数据备份和清理功能&#xff0c…...