前提

本文是基于windows环境下使用docker的学习文章

其实我也有很长的一段时期在ubuntu系统下开发,很喜欢linux系统的纯净方便,但是当你身边同事都是使用windows与你交流沟通传输资料的时候,使用linux系统开发倒是一件不方便的事情,再加上领导曾说了一句你用windows吧别和同事们不一样,然后我就一直使用windows了,不过也一直想着回到linux系统的怀抱下,双系统虚拟机都试过,直到遇到了Docker我才意识到这不就是我一直寻找的windows和linux完美共存的方案么!

Docker的官方概念就不说了,相关的资料很多,如果不了解那就先去网上了解一下吧,这次我将从个人使用的角度去入门Docker,初步做到会用,而不去长篇大论讲概念

Docker能干什么?

张三是个程序员,平时开发需要安装各种软件,这次开发的项目需要Redis,没有Docker之前张三需要先去官网下载Redis,然后发现官网没有window版本,再几经搜索在github找到了redis for windows,然后又因为github网络的问题,缓慢下载下下来,再解压到某个目录,然后执行启动服务命令.有了Docker之后,直接执行一条docker run命令,即可成功,另外开发中还会需要安装不同版本的mysql,如果直接装到本机上,首先多个mysql都可能要在系统中注册服务,配置和环境要隔离出来,卸载的时候也比较麻烦,如果使用docker直接根据版本拉取镜像,绑定端口运行即可,不需要的时候直接删掉容器即可

李四也是程序员,平时需要在linux系统下做一些编译或者测试,但是因为公司的原因要装各种window独占的通讯软件,外加李四偶尔还想玩个CS:GO,所以他想在window和linux之间无缝切换,最一开始李四想到的是买两台笔电,这种想法想想就行了,后来又想到装双系统,双系统切换在于要重启太不方便,又想到装vmware虚拟机,vmware其实差不多可以满足李四的想法了,但是vmware太占内存了,最终李四选择了在window上使用Docker,需要linux的时候直接run一个linux系统的镜像即可,linux系统手到擒来,轻量快速都是vmware不可比的

王五还是一个程序员,不过他的工作稍多一些,平时需要部署项目在测试服务器上,没有docker之前,王五先打包然后手动复制到服务器上,然后进入对应目录,执行命令启动项目,有了docker之后,王五打包项目的时候程序就会将镜像推动到仓库中,然后通过可视化界面或服务器命令重新拉取重启项目即可,并且出现问题之后可以通过tag快速回退启动上一个版本,后来王五又偷懒了,在上边的基础集成了自动化,直接提交代码,服务器自动构建部署运行

林六又是一个程序员,他搭建了一套比较复杂的程序,程序依赖很多服务,同时还有很多配置,每次给别人演示安装的时候他都需要忙活半天去搭建环境,最后还不一定能成功,这样时候他总挠挠头说,在我机子上真能运行,有了docker之后,他把一系列程序通过打成一个docker镜像,在给别人演示的时候,只要先安装上docker,然后拉取他的镜像就可以了

以上都是docker在个人开发上提高效率的案例,我认为学习docker最好就是把docker应用到实际开发生活中来,这样才能更快更好的理解Docker,下面就基于windows环境开始学习如何使用Docker

安装Docker

系统准备

电脑性能别太差了不然毫无体验,检查windows版本是否为企业版或专业版,并开启Hyper-v

image-20200603151530359

程序下载

Windows 10以上,去官网下载Docker Desktop,目前Docker Desktop的体验非常好,Windows 10以下建议升级win10

选择windows

注册docker hub的账号(仅作登录Docker Desktop使用),安装完成后需要登录Docker,在CMD中运行docker -v 出现版本号即为成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cm8rrMQN-1591522751185)(C:\Users\caokang\AppData\Roaming\Typora\typora-user-images\image-20200603152711962.png)]

切换容器类型

下载完成后需要切换成Linux容器类型,右键docker托盘图标,选择Switch to Linux containers,因为我已经转换过了,所以这里是Switch to Windows containers

image-20200603152820370

镜像源修改

我是用的是阿里云的镜像源,需要去阿里云注册账号,然后在镜像加速中查看你的加速器地址

image-20200606090020455

image-20200606090244881

修改源地址,右键docker托盘图标->setting->然后按照如图修改加速源,最后点击 apply&restart 即可

image-20200606091451649

开始Docker

基本概念

镜像(Image):一个文件,里面存放着程序以及运行方式

容器(Container):镜像运行的实体

仓库(Repository):镜像仓库

标签(Tag):标识着镜像的版本

搜索镜像

镜像的查找可通过docker search命令,请在window的cmd窗口或powershell中,不建议在git bash中使用,因为在git bash中会有错误提示

C:\Users\xxxx>docker search redis
NAME                             DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
redis                            Redis is an open source key-value store that…   8245                [OK]
bitnami/redis                    Bitnami Redis Docker Image                      147                                     [OK]
sameersbn/redis                                                                  80                                      [OK]
grokzen/redis-cluster            Redis cluster 3.0, 3.2, 4.0, 5.0, 6.0           68
......

然后可以根据DESCRIPTION通过NAME选择镜像,推荐下载第一个,一般都是官方源
关于镜像的下载: 启动一个镜像的时候,如果镜像不存在,则会先进行pull(下载)操作,你也可以主动pull,这样docker会把镜像下载本机,启动的时候则无需再次下载

docker pull redis 

安装Redis

docker run -d --name redis -p 6379:6379 redis

run 创建一个新的容器并运行一个命令
-d 后台运行容器,并返回容器ID,如果不加这个,程序将以前台启动,一旦关闭程序也将自动关闭
–name 给容器指定一个名称,建议加,方便以后维护
-p 使用方法: [-p 宿主机端口:容器内端口] 说明: 指定端口映射,因为默认情况下容器的网络与宿主机不互通,通过该参数可把redis的6379端口映射到本机6379端口上

安装两个Mysql

mysql5.6

C:\Users\xxxxx>docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   9587                [OK]
mariadb                           MariaDB is a community-developed fork of MyS…   3486                [OK]
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   702                                     [OK]
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   76
mysql/mysql-cluster               Experimental MySQL Cluster Docker images. Cr…   69
centurylink/mysql                 Image containing mysql. Optimized to be link…   61                                      [OK]

比如我们想安装mysql5.6的版本,通过search我们也无法得知mysql的具体版本,最简单的方法就是去官方hub上查阅,访问https://hub.docker.com/_/mysql?tab=tags,(也可以使用命令的方式去查找版本号,不过这个需要安装脚本,以后再说)

image-20200606110941879

image-20200606104946214

这里先下载mysql5.6的镜像

docker pull mysql:5.6

5.6 , 5.7就是镜像的tag,tag可以理解为镜像的名字,如果不加tag,则会下载tag为latest的镜像

通过镜像的Description,得知我们需要指定MYSQL_ROOT_PASSWORD才能运行mysql5.6

image-20200606111151161

docker run -d --name mysql56 -e MYSQL_ROOT_PASSWORD=root -p 3306:3306  mysql:5.6

-e 设置环境变量,至于都有什么环境变量供我们去设置,可以通过查阅hub官网的Description标签页可以得知

mysql5.7

因为安装mysql5.6已经讲宿主机的3306端口分配了,所以需要指定一个新的端口

docker pull mysql:5.7
docker run -d --name mysql57 -e MYSQL_ROOT_PASSWORD=root -p 3307:3306  mysql:5.7

image-20200606152151633

卸载mysql5.6

可视化操作的话,右键docker托盘图标->Dashboard

image-20200606152832668

命令操作

docker stop mysql56
docker rm mysql56

stop 停止一个运行中的容器

rm 删除一个停止的容器

docker rm -f mysql57

-f 默认情况下 rm 无法删除正在运行的容器,加 -f 即可强制删除

后面追加容器id或容器name,因为上面我们通过–name指定了容器名称,所以这里直接输入即可,这也是我为什么建议加–name参数指定容器名称的原因,

如果我们忘记了容器名称呢?

查询docker容器

C:\Users\xxxxx>docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
5a7215cb11e2        redis               "docker-entrypoint.s…"   6 hours ago         Up 6 hours          0.0.0.0:6379->6379/tcp   redisdocker ps     查询运行中的容器
docker ps -a  查询所有容器

第一列的5a7215cb11e2就是容器id(CONTAINER ID),我们也就可以使用容器id进行对容器的操作

创建两个数据,再删除两个数据库,对本机的系统没有造成任何污染,这就是Docker的优点,简直就是渣男,一旦分手忘得干干净净的

删除镜像

刚刚删除了mysql的容器,一旦再次需要mysql服务,直接run无需下载即可立马启动mysql服务,这是因为mysql的镜像依然在我们本机存储着,简直就是渣男,分手了还把对方藏在心底,这次我们要和mysql彻底决裂,那就是删除镜像

docker rmi mysql:5.6 
docekr image rm mysql:5.6
#以上两条命令操作相同,rmi 是 image rm 简化版

查询本机镜像

docker image ls
docker images
#以上两条命令操作相同,images 是 image ls 简化版

安装linux系统

以安装centos为例

docker search centos
docker pull centos
docker run -d -it --name centos -v /d/dev/test:/home/test centos

文件挂载

先解释 -v /d/dev/test:/home/test ,表示将宿主机的D:/dev/test目录与容器内部的/home/test目录映射起来,在该目录下的操作的双向影响的

在这里D:/dev/test要写成/d/dev/test的形式

image-20200606162127929

伪终端启动

接下来说 -it 是干嘛的

-i:以交互模式运行容器,通常与 -t 同时使用

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;

直接说效果吧,因为容器中没有一个常驻的前置进程,前置进程运行结束后,容器便自动退出了,所以结合-d -it 就是后台启动centos 并保持一个伪终端防止centos自动关闭,也可以使用-itd

进入容器

容器已经后台启动了 ,如何进入容器?

docker exec -it centos /bin/bash

exec 在运行的容器中执行命令

-it 执行一个交互的终端

/bin/bash 选择执行的bash

exec并不是一个进入容器的命令,而是一个在运行的容器中执行命令的命令,-it标识启动了一个交互的终端,bash使用/bin/bash,所以上述命令是给了我们一个和容器内部通信的终端

更详细的区别请看 docker run 和 docker exec 的差异

文件交互

即使没有挂载了文件目录,我们还是可以通过命令用来复制传输容器文件

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH将主机/d/dev/test2目录拷贝到容器centos的/home目录下。
docker cp D:/dev/test2/ centos:/home/将容器centos的/home/test3目录拷贝到主机的D:/dev/目录中。
docker cp centos:/home/test3 D:/dev/

在这里D:/dev/test形式不要变

图形化桌面

https://www.jianshu.com/p/38a60776b28a

安装wordpress+mysql

接下来需要做的是安装两个容器wordpress和mysql,并让wordpress连接mysql数据库

分别安装

首先安装mysql

docker run -d  -e  MYSQL_ROOT_PASSWORD=root MYSQL_DATABASE=wordpress --name mysql57 mysql:5.7

然后安装wordpress

docker run -d -p 80:80 --link mysql57:mysql -e WORDPRESS_DB_PASSWORD=root --name wordpress wordpress

分别执行以上两条命令,然后访问localhost:80即可打开wordpress安装界面

image-20200607072644602

首先解释一下两条命令

docker run -d  -e  MYSQL_ROOT_PASSWORD=root MYSQL_DATABASE=wordpress --name mysql57 mysql:5.7
# 启动了一个名为mysql57的容器,并初始化创建数据库wordpress
docker run -d -p 80:80 --link mysql57:mysql_host -e WORDPRESS_DB_PASSWORD=root  -e WORDPRESS_DB_HOST=mysql_host --name wordpress wordpress
#启动wordpress容器,link命令链接mysql57容器将它命名为mysql_host,然后指定数据库的密码为root,wordpress启动成功后将会自动连接mysql57容器的wordpress表

命令是简洁的,两条命令就立马启动好一个wordpress,作为一个新手的我在感慨的时候也是懵逼的,因为我心中想的是:

为什么要这么配置? 为什么是这么配置的?

其实这一点不仅仅是作为一个docker入门学习的痛点,很多技术学习也都是这样的,既学习的方式都是狼吞虎咽不咀嚼的,学习docker就把常用命令记了下来,在安装某个容器的时候去百度一下安装命令,安装上就完事了,以为自己掌握了,然而下次换了一个新的容器的时候,还是要去网上搜索什么docker xxxx 安装 这样的关键词,所以我们要会举一反三,知其所以然

1 docker学习是可以通过博客文章入门的,可以让你有迅速的了解

2 继续提升是离不开官网文档的,这样才能了解最新的docker 命令的含义以及参数,有些文章可能已经过时不再支持

3 了解镜像的详细配置请翻阅 docker hub 镜像的详情页,在那里你能找到绝大多数的配置参数

4 学会结合inspect命令查看镜像启动的方式,以及进入容器阅读具体的启动脚本

其实前三点都已经讲过了,前三点几乎可以整合启动所有的镜像,第四点的使用稍后再说

docker run -d  -e  MYSQL_ROOT_PASSWORD=root MYSQL_DATABASE=wordpress --name mysql57 mysql:5.7
# 启动了一个名为mysql57的容器,并初始化创建数据库wordpress
docker run -d -p 80:80 --link mysql57:mysql_host -e WORDPRESS_DB_PASSWORD=root  -e WORDPRESS_DB_HOST=mysql_host --name wordpress wordpress
#启动wordpress容器,link命令链接mysql57容器将它命名为mysql_host,然后指定数据库的密码为root,wordpress启动成功后将会自动连接mysql57容器的wordpress表

再看这里,link命令链接mysql57容器将它命名为mysql_host,可以理解为在wordpress容器中通过访问 http://mysql_host:3306 ,即可访问mysql57容器的数据库服务,这里的mysql_host就代表mysql57的ip

docker 网络类型

使用docker network ls 查看当前网络列表

目前(Docker v18.03),Docker Engine内置支持如下几种类型的网络。

  • host类型

    host网络就是Docker宿主机的网络,是Docker Engine启动即默认创建的网络之一。加入到该网络中的所有容器实例,容器实例与容器宿主机之间没有网络隔离,所以容器实例都直接使用宿主机的网络,拥有与宿主机一样的IP,使用的是宿主机的端口。(目前仅支持linux ,windows mac 不支持,2020-06-07,未来可能支持)

  • bridge类型

    Docker Engine启动即默认创建的网络之一。bridge网络的网络驱动器为bridge,即-d=bridge。

    该网络支持在同一个宿主机上的各个容器实例之间的通信。bridge网络是一个独立的网络空间,在网络空间内部的各个容器实例能够直接通信。各个容器实例都是连接到一个网桥,即docker0。新创建的容器实例默认就会加入bridge网络,即容器实例默认连接到docker0。创建容器实例可以通过使用–network指定加入到其他已有的网络。

    也可以另外创建一个定制的bridge网络,创建的bridge网络会覆盖默认的bridge网络。默认的bridge网络不支持服务的DNS自动发现,即一个容器实例要通过容器实例的name找到容器实例的IP,就无法使用该网络。定制的bridge网络,最大的好处是默认即支持服务的自动发现。

  • overlay类型

    overlay类型的网络的网络驱动器为overlay,即**-d=overlay**。该类型的网络适用于Docker宿主机集群中的各个独立的容器实例之间通信。为集群中的Docker容器实例提供跨多个Docker Engine的网络连接。

  • macvlan类型

    macvlan类型的网络的网络驱动器为macvlan,即-d=macvlan。该类型的网络适用于容器实例需要与宿主机的MAC地址直接通信,无需端口映射,也无需NAT,容器实例的eth0直接与宿主机的物理网卡通信。容器实例可以被赋予公共IP,并从宿主机外部直接访问。

  • none类型

    none网络是一个完全隔离的自治网络,甚至与Docker宿主机的网络都不通,必须手工配置网卡后才能够使用。

使用docker-compose

启动这个wordpress要两条命令,并且还要配置,有没有更简单的方法呢? 使用docker-compose !

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Compose 就是一个一键启动脚本

新增docker-compose.yml文件,复制内容如下

mysql:container_name: mysqlimage: mysql:5.7ports:- "3306:3306"environment:- MYSQL_ROOT_PASSWORD=root- MYSQL_DATABASE=wordpressweb:container_name: wordpressimage: wordpresslinks:- "mysql:mysql_host"ports:- "80:80"environment:- WORDPRESS_DB_HOST=mysql_host- WORDPRESS_DB_PASSWORD=root

以上就是两条命令的整合脚本,在对应目录下启动

docker-compose up -d #后台启动脚本

image-20200607082358539

两个镜像就会作为一组同时被启动起来了

image-20200607083152445

关闭

docker-compose down

关于docker-compose在此就不做详细解释了,以后另开文章详细说明

使用image

最简单的就是使用别人做好的wordpress mysql整合包,当然这是别人做好了,所以我们才能直接用,如果没有,还是需要我们自己动手的,这里也就不说了

用法总结

docker search 
docker pull 
docker run 
docker ps
docker start
docker stop
docker rm
docker cp
docker image ls
docker image rm 
docker-compose up -d
docker-compose down
docker exec

docker network 镜像之间的网络通信

docker volume 使用volume保存镜像数据

docker build 如何使用dockerfile构建镜像,以及dockerfile语法

docker import/export 导入导出镜像文件

docker tag 给镜像打标签

docker push 搭建私库并推送镜像进行部署

docker swarm docker集群环境的设置

欢迎关注公众号<无聊看风景>,获取更多文章

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 5G NR PDCCH速率匹配

    速率匹配概述在5G NR中,3GPP采用的信道编码方案主要有两种,Polar和LDPC,其中控制信道和广播信道采用Polar编码,数据信道采用LDPC。速率匹配是根据信道编码后的不同码流长度做不同的处理,从而使得码流长度与实际传输能力相匹配,速率匹配的方案是与编码的方式强相关的。 …...

    2024/3/20 17:12:48
  2. 一文详解对称密钥加密

    TL;DR: 前面几篇文章我们介绍了密码学的两大基本单元 - 随机数和Hash算法。有了这两大基元的加持,我们就可以开始密码学中的加解密算法的介绍。本文我们将重点介绍密码学中的对称密钥算法,包括流密码算法,块密码算法;各种算法的基本原理,重点介绍了主流的块密码算法的补位…...

    2024/3/14 10:20:37
  3. k8s使用Harbor仓库

    title: kubeadm安装k8s 1.15版 image: /images/theme/k8s.jpg前提: 1、安装 k8s 的节点必须是大于 1 核心的 CPU 2、阿里云的repo 和base源 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/epel.repo ht…...

    2024/3/14 7:27:12
  4. Redis学习整合

    RedisRedis1.关系型数据库CAP原理CAPCAP 的三进二BASE2. 分布式和集群简介分布式集群3. Redis入门是什么特点应用基本操作添加取值4. Redis数据类型StringListSetHashZset5. Redis三种特殊数据类型geospatial 地理位置Hyperloglog 基础统计Bitmaps6. Redis的事务事务7. Redis锁…...

    2024/3/21 7:06:18
  5. Guava 心得:Guava Cache

    缓存,在我们日常开发中是必不可少的一种解决性能问题的方法。简单的说,cache 就是为了提升系统性能而开辟的一块内存空间。缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。在日常开发的很多场合,由于受限于硬盘IO的性能或者我们自身业务系…...

    2024/3/14 5:10:16
  6. Python 标准库1

    Python 的标准库包括了很多的模块,从 Python 语言自身特定的类型和声明,到一些只用于少数程序的不著名的模块。1、内建函数和异常下面的这两个模块比其他模块加在一起还要重要:定义内建函数的 __builtin__ 模块:如 len, int, range ...定义所有内建异常的 exceptions 模块 …...

    2024/3/21 2:51:53
  7. 自己对Java正则表达式的一些总结

    超好的文章 对正则表示式的经典阐述,参考下面这篇文章: 经典的文章 以下所写的内容都基于java 的讨论。 自己遇到的一些问题从字符串中提取第一个左括号的字符,需要的知识点: 1)懒惰匹配 2)零宽断言 不多说直接上代码。package corporation.regex;import java.util.regex…...

    2024/3/14 0:48:31
  8. JavaScript数组

    常见数组方法1、some()2、reduce()3、Every()4、map()5、flat()6、filter()7、forEach()8、 findIndex()9、 find()10、 sort()11、 concat()12、 fill()13、 includes()14、 reverse()15、 flatMap() 在JavaScript中,数组是一个特殊的变量,用于…...

    2024/3/14 0:48:30
  9. 寻找月亮

    目标:用图像投影的方法来寻找超简单的图案步骤一:模糊后转化成灰度图src = cv.imread("D:/pythonTest/img/8.jpg") #cv.imshow("input",src) src1 = cv.GaussianBlur(src,(3,3),0) gray = cv.cvtColor(src1,cv.COLOR_BGR2GRAY)步骤二:转化为二值图像ret…...

    2024/3/24 10:50:17
  10. React学习之旅Part3:React中JSX语法的使用(渲染数字、渲染字符串、渲染布尔值、为属性绑定值、渲染JSX元素、渲染JSX元素数组、将普通字符串数组转换为JSX数组并渲染)

    JSX语法可以:渲染数字 渲染字符串 渲染布尔值 为属性绑定值 渲染JSX元素 渲染JSX元素数组 将普通字符串数组转换为JSX数组并渲染可直接将标签放入render()方法中: 该标签经过Babel的转换后不是一个HTML标签了 而是一个对象 import React from react import ReactDOM from rea…...

    2024/3/28 18:20:37
  11. python 异常情况处理

    异常情况处理 def ceshi():number = input(请输入一个数字: )number = int(number)# try 里面是有可能有异常的try:result = 10/number# except 是异常捕获,多个except也只能执行一个except ValueError:print(请输入整数)except ZeroDivisionError:print(请输入非0 整数)# el…...

    2024/3/25 8:11:18
  12. Python学习笔记05——类的创建及使用

    1类的定义 1.1类的组成属性 具体属性 特点方法 构造方法 构造方法用于构造实例对象,__init__,传入参数第一个必须是self方法 成员方法 成员方法定义在类中,第一个参数必须是self,方法前加__方法 私有方法 私有方法不能由外部调用,第一个参数必须是self方法 静态方法 静态方…...

    2024/3/14 10:20:40
  13. DDD之4聚合和聚合根

    聚合就是归类的意思,把同类事物统一处理; 聚合根也就是最抽象,最普遍的特性; 背景 领域建模的过程回顾: 那么问题来了? 为什么要在限界上下文和实体之间增加聚合和聚合根的概念,即作用是什么? 如何设计聚合? 按照一般的研究和学习思路,先弄懂概念,然后结合实际例子理…...

    2024/3/26 19:51:30
  14. 《Linux操作系统-系统移植》第12章 5G模组移植-第1节 中移物联5G移植(PPP拨号)

    开发环境 主机:ubuntu14.04 开发板内核版本:linux-4.14.78 1 内核驱动修改 当模块连接到USB串行驱动时,驱动程序将在目录/dev中创建设备文件, ttyUSB0/ttyUSB1/ 接下来就是讲解如何移植USB Serial。1.1增加PID&VID 要想识别模块,客户应该在下面添加模块ID信息 File: […...

    2024/3/14 5:09:57
  15. 《Java编程思想》学习笔记【二】

    终于忙完项目了…开始暑假学习。一切都是对象。 尽管一切都看作对象,但是操纵的标识符实际上是对对象的一个“引用”。 可以将这一切情形想象成用遥控器(引用)来操作电视机(对象)。 当有人想改变频道或减小音量时,实际操控的是遥控器(引用),再由遥控器来调控电视机(对…...

    2024/3/14 10:20:28
  16. C#操作Redis

    前提在安装Redis的情况下,不在赘述,上代码NuGet引用Redis、StackExchange.Redis封装类:using ServiceStack.Redis; using System; using System.CodeDom; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace…...

    2024/3/14 5:09:51
  17. 数据可视化pyecharts学习笔记---散点图

    直角坐标系图表–散点图 from pyecharts.charts import Scatter from pyecharts.charts import EffectScatter 1、基本示例 from pyecharts import options as opts from pyecharts.charts import Scatter from pyecharts.faker import Fakerscatter = Scatter() scatter.add_x…...

    2024/3/14 10:20:25
  18. 06 Netty核心模块组件

    文章目录BootStrap、ServerBootStrap(配置引导类)Future、ChannelFutureChannelEnventLoopGroup和其实现类NioEventLoopGroupSelector(聚合在NioEventGroup)ChannelHandler及其实现类PipeLine和ChannelPipeLineChannelHandlerContextChannelOptionNetty抽象出两组线程池BossG…...

    2024/3/14 10:20:33
  19. Guava 心得:Guava 新增集合类型 —— Multiset

    Guava引进了JDK里没有的,但是非常有用的一些新的集合类型。所有这些新集合类型都能和JDK里的集合平滑集成。Guava集合非常精准地实现了JDK定义的接口。Guava中定义的新集合有:MultisetSortedMultisetMultimapListMultimapSetMultimapBiMapClassToInstanceMapTable Multiset 集…...

    2024/3/14 10:20:24
  20. 网络攻防之wireshark抓取登录信息

    使用wireshark抓取登录信息 简介:Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在过去,网络封包分析软件是非常昂贵的,或是…...

    2024/3/23 21:56:44

最新文章

  1. Jmeter使用BeanShell保存数据到文件

    1、目的 在使用jmeter压测时&#xff0c;业务上下连贯&#xff0c;需要对一些编号进行关联操作。这里使用‘JSON提取器’将值提取出来&#xff0c;后面请求可以直接使用。其它业务想要使用就只能把值保存到文件&#xff0c;再使用文件做参数化了。 2、JSON提取器 提取请求值 提…...

    2024/3/28 20:42:05
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 【Git篇】复习git

    文章目录 &#x1f354;什么是git⭐git和svn的区别 &#x1f354;搭建本地仓库&#x1f354;克隆远程仓库&#x1f6f8;git常用命令 &#x1f354;什么是git Git是一种分布式版本控制系统&#xff0c;它可以追踪文件的变化、协调多人在同一个项目上的工作、恢复文件的旧版本等…...

    2024/3/28 19:37:55
  4. 【C++】每日一题 137 只出现一次的数字

    给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。 #include <vector>int singleNumber(std::vecto…...

    2024/3/28 8:44:39
  5. NPM常用命令详解

    NPM常用命令详解 NPM是什么&#xff1f; NPM (Node Package Manager) 是 Node.js 的包管理器。它是一个命令行工具&#xff0c;用于管理和安装 Node.js 的代码包&#xff08;也称为模块&#xff09;。通过 NPM&#xff0c;开发者可以轻松地在项目中引入和管理第三方模块、库和…...

    2024/3/27 12:21:15
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/3/27 10:21:24
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/3/24 20:11:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/3/18 12:12:47
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/3/24 20:11:23
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/3/26 20:58:42
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/3/28 17:01:12
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/3/24 5:55:47
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/3/27 10:28:22
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/3/26 23:04:51
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/3/26 11:20:25
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/3/24 20:11:18
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/3/28 9:10:53
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/3/24 20:11:16
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/3/24 20:11:15
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/3/27 7:12:50
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/3/24 20:11:13
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/3/26 11:21:23
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/3/28 18:26:34
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/3/28 12:42:28
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/3/28 20:09:10
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57