云计算———虚拟化技术镜像的构建及Harbor的使用(三)

news2025/4/7 5:49:49

一、容器管理

1.1容器命令

在这里插入图片描述

在这里插入图片描述

docker ps :查看正在运行的容器 ,已经关闭的不能查看 `docker ps -a`(显示所有容器)  可以
docker -f rm MyWordPress:-f 强制删除容器
[root@localhost ~]# docker ps -a -q   #显示所有容器只显示进程号
d5e7b06bc162
891c4dd2bdc8
2e4b69330b0f
a61e545e5822

docker rm -f $(docker ps -a -q)#删除所有镜像

在这里插入图片描述

[root@localhost ~]# docker exec db ls /  #查看容器db根目录下文件
bin
boot
dev
docker-entrypoint-initdb.d
etc
home
lib
lib32
lib64
libx32
media
mnt
opt
proc
root
[root@localhost ~]# docker exec -it db /bin/bash   ###登入容器
root@a61e545e5822:/# ls
bin   dev                         etc   lib    lib64   media  opt   root  sbin  sys  usr
boot  docker-entrypoint-initdb.d  home  lib32  libx32  mnt    proc  run   srv   tmp  var
root@a61e545e5822:/# dcd /
bash: dcd: command not found
root@a61e545e5822:/# cd /
root@a61e545e5822:/# touch 1.txt
root@a61e545e5822:/# ls
1.txt  boot  docker-entrypoint-initdb.d  home  lib32  libx32  mnt  proc  run   srv  tmp  var
bin    dev   etc                         lib   lib64  media   opt  root  sbin  sys  usr
root@a61e545e5822:/# 

1.2 run延伸

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

修改容器名

--add-host hostname:IP  	#修改文件命

在这里插入图片描述
在这里插入图片描述
**docker rm ***
在这里插入图片描述

二、镜像、仓库管理

2.1 镜像特性

在这里插入图片描述
在这里插入图片描述

2.2 Docker构建msql镜像

获取centOS镜像
注册网易蜂巢
->控制台,注册登录->设置用户名
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

注意:不要下载7.0以上版本,CMD不能运行

加粗样式

————————————————————————————————————————————————————————————

Docker安装mysql
hub.c.163.com/public/centos:6.5-tools Docker可以后台运行

docker pull hub.c.163.com/public/centos:6.5-tools
[root@localhost ~]# docker run --name mysql -d hub.c.163.com/public/centos:6.5-tools
d5c8669af7722778b51f1c018cdd4a3f26c82f947d6db42d71b40d47260c8911
#--name  别名mysql  
#-d 后台运行ggf    

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                                   COMMAND                  CREATED              STATUS              PORTS                  NAMES
d5c8669af772        hub.c.163.com/public/centos:6.7-tools   "/usr/bin/supervisord"   About a minute ago   Up About a minute   22/tcp                 mysql

[root@localhost ~]# docker exec -it mysql  /bin/bash  	#进入容器
yum -y install mysql mysql-server		#下载mysql

systemctl start mysql #启动mysql
chkconfig mysqld on
mysqladmin -uroot password123

mysql -uroot -p
password:123

mysql>create database  DockerMysql;
show databases;
exit

在这里插入图片描述

Docker构建mysql镜像

 docker commit mysql mysql:5.1## mysql转换成镜像
 #查看
 docker images
 #运行
 docker run --name mysql-my -d mysql#mysql镜像运行
 #查看
 docker ps -a
 ####再使用mysql查看数据库
 service  mysqld start
 mysql -uroot -p123
 show databases;
 ****里面有DockerMysql

在这里插入图片描述

2.3 Dockerfile安装Tomcat

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

准备环境:mkdir tomcat放入下面两个包
tomcat
JDK
apache-tomcat-9.0.1.tar.gz
jdk-8u151-linux-x64.tar.gz

#创建Dockerfile文件
FROM hub.c.163.com/public/centos:6.7
MAINTAINER zhangyifan@itxdl.cn
            
ADD ./apache-tomcat-9.0.1.tar.gz /root
ADD ./jdk-8u151-linux-x64.tar.gz /root
           
ENV JAVA_HOME /root/jdk1.8.0_151
ENV PATH $JAVA_HOME/bin:$PATH  
      
EXPOSE 8080

ENTRYPOINT /root/apache-tomcat-9.0.1/bin/startup/.sh && tailf /root/apache-tomcat-9.0.1/logs/catalina.out
##构建Tomcat镜像
docker build -t tomcat:v1.0 .
##看到这行运行成功
Step 8/8 : ENTRYPOINT /root/apache-tomcat-9.0.1/bin/startup/.sh && tailf /root/apache-tomcat-9.0.1/logs/catalina.out
 ---> Running in 03e4802e6c0c
 ---> 9c5ab545f0ad
Removing intermediate container 03e4802e6c0c
Successfully built 9c5ab545f0ad

##查看镜像
[root@localhost tomcat]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
tomcat                        v1.0                9c5ab545f0ad        About an hour ago   790 MB

##运行镜像
docker run --name tomcat -p 80:8080 -d tomcat:v1.0
[root@localhost tomcat]# docker ps
CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS                          NAMES
45942a717313        tomcat:v1.0                             "/bin/sh -c '/root..."   4 seconds ago       Up 4 seconds        22/tcp, 0.0.0.0:80->8080/tcp   tomcat
0e40ca4911e7        hub.c.163.com/public/centos:6.5-tools   "/usr/bin/supervisord"   24 minutes ago      Up 24 minutes       22/tcp                         mysql

登录192.168.159.128
在这里插入图片描述

2.4 docker常用命令

docker ps ##查看运行容器
docker stop ** ##停止运行容器  
docker rm  **  ##删除  ##停止运行才能删除
**:ID/NAME 
docker ps -a ##查看所有容器
docker rm $(docker ps -a)#删除所有容器

docker images ##查看镜像
docker rmi ID/NAME ##删除镜像
docker rmi $(docker ps -a) 

三、Docker构建官方私有仓库

3.1 准备环境

网易蜂巢写可以存储自己的公开镜像,但是要存不能被别人看见的镜像,需要购买私有镜像;
但是我们可以自己构建存储私有镜像
准备环境: 192.168.159.128 192.168.159.129
**第二台安装Docker配置阿里云;阿里云加速器
其中重启报错:Job for docker.service failed because the control process exited with error code. See “systemctl status docker.service” and “journalctl -xe” for details.
**
解决方法:

mv /etc/docker/daemon.json /etc/docker/daemon.conf
systemctl daemon-load
systemctl restart docker

3.2 建立镜像仓库

docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always registry
vim /etc/docker/daemon.json###这个文件对192.168.159.129配置
{
    "insecure-registries":["192.168.159.128:5000"]##空格4
}

上传镜像

[root@localhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
tomcat                        v1.0                41a0bdd5632e        5 hours ago         790 MB
###修改标签ID
[root@localhost ~]# docker tag tomcat:v1.0 192.168.159.128:5000/tomcat:v1.0
[root@localhost ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
tomcat                        v1.0                41a0bdd5632e        5 hours ago         790 MB
192.168.159.128:5000/tomcat   v1.0                41a0bdd5632e        5 hours ago         790 MB
[root@localhost ~]# docker push 192.168.159.128:5000/tomcat:v1.0##上传
curl -XGET http://192.168.159.128:5000/v2/_catalog##查看已有镜像
{"repositories":["tomcat"]}

scp /etc/docker/daemon.json  192.168.159.129:/etc/docker

客户机下载镜像
客户机192.168.159.129

systemctl restart docker 
docker pull 192.168.159.128:5000/tomcat:v1.0 ##下载

[root@localhost Docker]# docker images  ##查看
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
192.168.159.128:5000/tomcat   v1.0                41a0bdd5632e        6 hours ago         790 MB

[root@localhost Docker]# docker run --name tomcat -p 80:8080 -d 192.168.159.128:5000/tomcat:v1.0 ##运行
78ffede353ff9b71d958437bf760ee668b67314f39221b058985483d4418ab0f

[root@localhost Docker]# docker ps
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS              PORTS                          NAMES
78ffede353ff        192.168.159.128:5000/tomcat:v1.0   "/bin/sh -c '/root..."   5 seconds ago       Up 4 seconds        22/tcp, 0.0.0.0:80->8080/tcp   tomcat

浏览器登录192.168.159.129验证

四、Harbor构建私有仓库

4.1 Harbor简介

VMware开源的企业级Registry项目Harbor,以Docker公司开源的registry 为基础,提供了管理UI, 基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Audit logging) 等企业用户需求的功能,同时还原生支持中文,主要特点:

  • 基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。

  • 镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。

  • 图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。

  • AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。

  • 审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。

  • 国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。

  • RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。

  • 部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备

4.2 Harbor架构介绍

Harbor运行起来有如下容器:
在这里插入图片描述
在这里插入图片描述
如上图所描述,Harbor由6个大的模块所组成:

  • Proxy: Harbor的registry、UI、token services等组件,都处在一个反向代理后边。该代理将来自浏览器、docker clients的请求转发到后端服务上。

  • Registry: 负责存储Docker镜像,以及处理Docker push/pull请求。因为Harbor强制要求对镜像的访问做权限控制, 在每一次push/pull请求时,Registry会强制要求客户端从token service那里获得一个有效的token。

  • Core services: Harbor的核心功能,主要包括如下3个服务:
    1)UI: 作为Registry Webhook, 以图像用户界面的方式辅助用户管理镜像。
    2) WebHook:WebHook是在registry中配置的一种机制, 当registry中镜像发生改变时,就可以通 知到Harbor的webhook endpoint。 Harbor使用webhook来更新日志、初始化同步job等。
    3) Token 服务:负责根据用户权限给每个docker push/pull命令签发token. Docker 客户端向 Regiøstry服务发起的请求,如果不包含token, 会被重定向到这里,获得token后再重新向Registry进行 请求。

  • Database:为core services提供数据库服务,负责储存用户权限、审计日志、Docker image分组信息等数据。

  • Job services: 主要用于镜像复制,本地镜像可以被同步到远程Harbor实例上。

  • Log collector: 负责收集其他组件的日志到一个地方

这里我们与上面运行的7个容器对比,对harbor-adminserver感觉有些疑虑。其实这里harbor-adminserver主要是作为一个后端的配置数据管理,并没有太多的其他功能。harbor-ui所要操作的所有数据都通过harbor-adminserver这样一个数据配置管理中心来完成。

4.3 Harbor的实现

Harbor的每一个组件都被包装成一个docker容器。自然,Harbor是通过docker compose来部署的。在Harbor源代码的make目录下的docker-compose模板会被用于部署Harbor。打开该模板文件,可以看到Harbor由7个容器组件所组成:

proxy: 通过nginx服务器来做反向代理

registry: docker官方发布的一个仓库镜像组件

ui: 整个架构的核心服务。该容器是Harbor工程的主要部分

adminserver: 作为Harbor工程的配置数据管理器使用

mysql: 通过官方Mysql镜像创建的数据库容器

job services:通过状态机的形式将镜像复制到远程Harbor实例。镜像删除同样也可以被同步到远程Harbor实例中。

log: 运行rsyslogd的容器,主要用于收集其他容器的日志

这些容器之间都通过Docker内的DNS服务发现来连接通信。通过这种方式,每一个容器都可以通过相应的容器来进行访问。对于终端用户来说,只有反向代理(Nginx)服务的端口需要对外暴露。

4.4 部署Harbor

准备环境

一台安装了python 、docker、docker-compose的机器
Harbor下载office版

[root@localhost ~]# ls
harbor-offline-installer-v2.6.2.tgz  
tar -xzvf harbor-offline-installer-v2.6.2.tgz  
mv harbor /usr/local/	#存放harbor持久化数据

4.5 创建https证书以及配置目录相关权限

可以不配置

#创建私钥*.key
openssl genrsa -des3 -out server.key 2018
#创建证书签名请求文件.csr
openssl req -new -key server.key -out server.csr

#退出验证密钥
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

#生成自签名证书*.crt,生成的证书文件包含公钥
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
mv server.* /data/cert/

4.6 配置相关文件

cd /usr/local/harbor	
cp harbor.yml.tmpl harbor.yml

vim harbor.yml
 1 # Configuration file of Harbor
  2 
  3 # The IP address or hostname to access admin UI and registry service.
  4 # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
  5 hostname:  yifan.com	//设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost。默认情况下,harbor使用的端口是80,若使用自定义的端口,除了要改docker-compose.yml文件中的配置外,这里的hostname也要加上自定义的端口,否则在docker login、push时会报错
  6 
  7 # http related config
  8 http:
  9   # port for http, default is 80. If https enabled, this port will redirect to https port
 10   port: 81
 11 
 12 # https related config
 13 #https:
 14   # https port for harbor, default is 443
 15 #  port: 443
 16   # The path of cert and key files for nginx
 17 #  certificate: /data/cert/server.crt
 18 #  private_key: /data/cert/server.key
 19 
 20 # # Uncomment following will enable tls communication between all harbor components
 21 # internal_tls:
 22 #   # set enabled to true means internal tls is enabled
 23 #   enabled: true
 24 #   # put your cert and key files on dir
 25 #   dir: /etc/harbor/tls/internal
 26 
 27 # Uncomment external_url if you want to enable external proxy
 28 # And when it enabled the hostname will no longer used
 29 # external_url: https://reg.mydomain.com:8433	
 //如果要启用外部代理,比如外层的NGINX、LB等,请取消注释external_url,当它启用时,hostname将不再使用。
 30 
 31 # The initial password of Harbor admin
 32 # It only works in first time to install harbor
 33 # Remember Change the admin password from UI after launching Harbor.
 34 harbor_admin_password: yifan123 //admin密码
 35 
 36 # Harbor DB configuration
 37 database:
 38   # The password for the root user of Harbor DB. Change this before any production use.
 39   password: root123
 40   # The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.
 41   max_idle_conns: 50
 42   # The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.
 43   # Note: the default number of connections is 1024 for postgres of harbor.
 44   max_open_conns: 900
 45 持久化数据目录
 46 # The default data volume
 47 data_volume: /usr/local/harbor

安装

./install.sh

访问页面
yifan.com:81 admin yifan123
在这里插入图片描述

在新建项创建yifan_first
在这里插入图片描述

五、Harbor的使用(上传下载镜像)

5.1 告诉docker安全域名

vim /etc/docker/dademon.json
{   		
    "insecure-registries":["yifan.com:81"]
}

vim /etc/hosts
192.168.159.128 yifan.com```
**登录**
```bash
docker login yifan.com:81
admin
password:密码  #harbor.yml文件

5.2 准备要上传的镜像

随便准备一个镜像

docker run --name tomcat1 -p 80:8080 -d tomcat:v1.0
4842aa2a7820ea7c3aa4ef93783938ec729eaa412d6291596c55e3e481f7bd34
[root@localhost harbor]# docker ps
CONTAINER ID   IMAGE           COMMAND                   CREATED          STATUS       PORTS        NAMES                                
4842aa2a7820   tomcat:v1.0     "/bin/sh -c '/root/a…"   11 seconds ago   Up 10 seconds  22/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp   tomcat1

修改tomcat镜像标签
docker tag tomcat:v1.0 yifan.com:81/yifan_first/tomcat:v1.0  把tomcat:v1.0修改

[root@localhost harbor]# docker images##要上传的镜像
REPOSITORY      TAG         IMAGE ID       CREATED         SIZE
yifan.com:81/yifan_first/tomcat   v1.0        41a0bdd5632e   2 days ago      790MB

5.3 主机上传镜像

259.128登陆上传

[root@localhost ~]# docker login -u admin -p yifan123 yifan.com:81
Login Succeeded

docker push yifan.com:81/yifan_first/tomcat:v1.0

然后浏览器yifan.com:81查看harbor新建项目yifan_first
在这里插入图片描述

5.4 159.129客户机下载

在这里插入图片描述

报错信息

  “冒号太多”

解决办法

  1. 修改 vim /usr/local/harbor/harbor.yml
hostname: yifan.com

# http related config
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
   port: 81 
  1. vim /etc/hosts
192.168.159.128 yifan.com
  1. vim /etc/docker/daemon.json
{
    
    "insecure-registries":["yifan.com:81"]
}

登录

[root@localhost ~]# docker login -u admin -p yifan123 yifan.com:81
Login Succeeded
docker pull yifan.com:81/yifan_first/tomcat:v1.0
v1.0: Pulling from yifan_first/tomcat
4f4fb700ef54: Pull complete 

[root@localhost ~]# docker images
REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
yifan.com:81/yifan_first/tomcat   v1.0                41a0bdd5632e        2 days ago          790 MB

[root@localhost ~]# docker run --name tomcat -p 80:8080 -d yifan.com:81/yifan_first/tomcat:v1.0
ef02db17396c9a67c11dbb73fbd55a3e8c5965e48a194d1b5466410ac45ebf48

浏览器查看192.168.159.129
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java项目-第127期SpringBoot+vue的智慧养老手表管理系统-java毕业设计_计算机毕业设计

java项目-第127期SpringBootvue的智慧养老手表管理系统-java毕业设计_计算机毕业设计 【源码请到资源专栏下载】 本系统主要是通过智能手表监控老人的日常生活&#xff0c;比如血压、心率、睡眠步数、以及摔倒情况。 共分为两个角色&#xff1a;家长&#xff0c;养老院管理员&a…

有含金量的AI证书

文章目录证书展示企业认证介绍华为认证人工智能工程师课程内容我的总结和资料证书展示 这是华为云的AI认证&#xff1a; 这是阿里云的大数据认证&#xff1a; 企业认证介绍 一般的企业是办不起来认证的&#xff0c;大家肯定都知道的。本文主要介绍华为云的认证&#xff0c…

经典动态规划:最长递增子序列

力扣第300题&#xff1a;[最长递增子序列]&#xff0c;这道题是非常经典的动态规划和二分查找的题目&#xff0c;我们先看dp: 第一种解法&#xff1a;动态规划 我们先看题目的示例1&#xff1a; 输入&#xff1a;nums [10,9,2,5,3,7,101,18] 输出&#xff1a;4 解释&#x…

【MySQL】MySQL数据库锁使用与InnoDB加锁的原理解析(MySQL专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码&#xff0c;就职于大型金融公司后端高级工程师&#xff0c;擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…

【Spring】Bean 的作用域和生命周期

文章目录1. Bean 的作用域1.1 通过一个案例来看 Bean 作用域的问题1.2 作用域的定义1.3 Spring Bean 支持的作用域&#xff08;未介绍完全&#xff09;1.4 修改 Bean 的作用域1.5 Bean 执行流程2. Bean 的生命周期2.1 Bean 的生命周期分为以下 5 大部分2.1.1 实例化 Bean&#…

【代码精读】在optee中注册一个中断

快速链接: . 👉👉👉 【代码精读】–Kernel/ATF/optee等-目录👈👈👈 付费专栏-付费课程 【购买须知】:本专栏的视频介绍-----视频👈👈👈概要: 在optee os总如何注册一个中断? 有没有类似于request_irq的程序? 注册了该中断后,是哪里将该中断配置成Secure…

保边滤波之基于测地距离的滤波与局部拉普拉斯滤波

&#xff08;1&#xff09;基于测地距离的滤波 给定图像I及其Hard Mask M&#xff0c;其中M(x)∈{0,1} &#xff0c;M(x)0表示x属于前景&#xff0c;M(x)1表示x属于背景&#xff0c;图像中某点x到前面Hard Mask的测地距离为 &#xff1f;&#xff1f;&#xff1f;d(a,b)表示…

机器学习中的数学原理——最小二乘法

这几天在刷B站的时候&#xff0c;有个深度学习的博主推荐了一本机器学习的书——《白话机器学习的数学》&#xff0c;抱着浅看一下的态度&#xff0c;我花3个大洋从淘宝上找到了这本书的电子版。看了两天我直接吹爆&#xff01;&#xff01;&#xff01;所以这个专栏就分享一下…

《Linux驱动:DMA直接内存访问》

目录一、前言二、DMA传输主体三、S3c2440上的DMA3.1 DMA请求源3.2 DMA状态机3.3 DMA请求模式3.4 DMA服务模式3.5 DMA传输模式3.6 DMA读写数据大小3.7 DMA寄存器3.7.1 DCON寄存器其他几个重要位四、使用DMA4.1 软件触发DMA4.2 硬件源触发DMA一、前言 DMA(Direct Memory Aaccess…

SpringMVC框架中的拦截器

目录 1. 拦截器接口的介绍 2. 拦截器接口中方法的详细介绍 3. 配置拦截器的步骤 4. 多个拦截器的的执行情况 5. 拦截器与过滤器的区别 1. 拦截器接口的介绍 2. 拦截器接口中方法的详细介绍 public class MyInterceptor implements HandlerInterceptor {Overridepublic bo…

Elasticsearch学习--script

一、概念 es1.4-5.0&#xff0c;默认脚本语言是Grovvy es5.0&#xff0c;默认脚本语言是painless 二、简单使用 将price减一 # 将id1的price减一 POST goods/_update/1 {"script": {"source": "ctx._source.price - 1"} }# 简写 POST goods/_…

Cloud Computing之时钟和顺序Time and Ordering

文章目录Total orderImplementation of total orderLinearizabilityFIFO rderImplementation of FIFO-orderHappen-before orderingCausal orderingSummary参考文献&#xff1a;Lamport’s logical clock 这章重点介绍了分布式系统下各种类型的时序&#xff0c;其实在分布式场景…

【Linux】网络配置详解

网络配置一.网络连接测试1.查看宿主机和虚拟机ip(1)查看宿主机ip①宿主机:可视化界面查看ip②宿主机:命令行查看ip(2)查看虚拟机ip①虚拟机:可视化界面查看ip②虚拟机:命令行查看ip2.测试宿主机和虚拟机的网络通信(1).宿主机ping虚拟机(2).虚拟机ping宿主机二.网络连接模式1.桥…

420招募线上被试 | 高素质人才行为心理测试

招募中 【实验任务】高素质人才行为心理测试 【实验时长】18分钟 【实验时间】2022年11月12日00时 - 2022年11月20日24时 【实验地点】线上实验 【实验报酬】微信红包&#xff0c;每份问卷3元 【实验要求】如实回答问卷问题&#xff0c;并提供微博账号和微博地址 【被试要…

Js逆向教程-03浏览器调试工具-Source面板

Js逆向教程-03浏览器调试工具-Source面板 切换到source面板&#xff0c;对于source面板&#xff0c;需要打开搜索面板才能发挥出完整的功能。 一、搜索面板 通过点击右上角的按钮&#xff0c;切换到搜索面板 搜索页面的左侧&#xff0c;可以给搜索页面添加其他功能 比如cons…

第1章 数据结构的概念

文章目录文档配套视频讲解链接地址第01章 数据结构的概念1.1 数据结构的知识体系1.2 链表1. 创建头结点的内存图2. 插入1节点时的内存图3. 插入2节点时的内存图4. 插入3节点的内存图5. 实例1 链表节点的插入6. 链表删除节点37. 实例2 链表的删除节点8. 实例3 链表的改查逆序9. …

Allegro阻抗分析指导书

Allegro阻抗分析指导书 利用Allegro自带的功能可以快速分析信号的阻抗 操作如下 首先用172版本打开PCB 把每层厚度和介电常数填写进去 点击work flow Manager,出现右图对话框 选择需要查看的网络 点击start Analysis 点击impedance table和impedance vision就可以查看阻…

【网络篇】第九篇——多线程版的TCP网络程序

多进程与多线程对比 多进程 多线程 多线程版的TCP网络程序 多进程与多线程对比 多进程 优点 可以处理多个用户易于边写稳定&#xff0c;因为进程具有独立性 缺点 连接来了之后才创建进程&#xff0c;性能太低多进程服务器特别吃资源&#xff0c;而且同时服务的客户有上限…

(最新版2022版)剑指offer之排序题解

&#xff08;最新版2022版&#xff09;剑指offer之排序题解JZ3数组中重复的数字JZ51 数组中的逆序对JZ40 最小的K个数JZ41 数据流中的中位数JZ3数组中重复的数字 思路&#xff1a; 既然数组长度为nnn只包含了0到n−1n-1n−1的数字&#xff0c;那么如果数字没有重复&#xff0c…

qt C++中指针自动释放内存及程序中的内存操作、管理

程序加载到内存后代码存储到代码区&#xff0c;并将全局变量、静态变量初始化到全局/静态内存区&#xff0c;然后会分配2M左右的栈内存区用于存储局部变量&#xff0c;并在运行时根据需要可以在堆内存区(空闲内存区及硬盘的虚拟内存区)申请空间。 程序可使用的内存分区↓ 各基…