部署Docker玩转Docker

Docker部署

文章目录

  • Docker部署
    • 资源列表
    • 基础环境
    • 一、安装最新版Docker依赖环境
    • 二、配置Docker加速器
    • 三、查看Docker版本
    • 四、Docker镜像操作
      • 4.1、搜索镜像
      • 4.2、获取镜像
      • 4.3、查看镜像信息
      • 4.4、给镜像打标签
      • 4.5、删除镜像
      • 4.6、存出镜像和载入镜像
        • 4.6.1、存出镜像
        • 4.6.2、载入镜像
    • 五、Docker容器操作
      • 5.1、容器的创建
      • 5.2、启动、停止容器、创建并启动容器
        • 5.2.1、启动容器
        • 5.2.2、创建并启动容器
        • 5.2.3、终止容器
    • 六、容器的进入
    • 七、容器的导出与导入
      • 7.1、容器导出
      • 7.2、容器导入
    • 八、容器的删除
    • 九、Docker的数据管理
      • 数据卷概述
      • 9.1、创建数据卷
      • 9.2、挂载主机目录作为数据卷
      • 9.3、数据卷容器
    • 十、查看容器日志和详细信息
      • 10.1、查看容器日志
      • 10.2、查看容器详细信息
    • 十一、容器的提交

资源列表

操作系统配置主机名IP
CentOS 7.92C4Gdocker192.168.93.101

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname docker

一、安装最新版Docker依赖环境

# 安装依赖环境
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加CentOS官方镜像站
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum clean all && yum makecache
# 安装Docker
yum -y install docker-ce docker-ce-cli containerd.io
# 启动Docker
systemctl start docker
systemctl enable docker

二、配置Docker加速器

cd /etc/docker/
cat >> daemon.json << EOF
{  
"registry-mirrors": ["https://8xpk5wnt.mirror.aliyuncs.com"]  
}
EOF
systemctl restart docker

三、查看Docker版本

[root@docker-01 ~]# docker version
Client: Docker Engine - CommunityVersion:           26.1.2API version:       1.45Go version:        go1.21.10Git commit:        211e74bBuilt:             Wed May  8 14:01:02 2024OS/Arch:           linux/amd64Context:           defaultServer: Docker Engine - CommunityEngine:Version:          26.1.2API version:      1.45 (minimum version 1.24)Go version:       go1.21.10Git commit:       ef1912dBuilt:            Wed May  8 13:59:55 2024OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.31GitCommit:        e377cd56a71523140ca6ae87e30244719194a521runc:Version:          1.1.12GitCommit:        v1.1.12-0-g51d5e94docker-init:Version:          0.19.0GitCommit:        de40ad0

四、Docker镜像操作

  • 运行docker容器前需要本地存在对应的镜像。如果不存在本地镜像,docker就会尝试从默认镜像仓库下载。镜像仓库是由docker官方维护的一个公共仓库,额可以满足用户的绝大部分需求。用户也可以通过配置来使用自定义的镜像仓库

4.1、搜索镜像

  • 命令格式:docker search 关键字
# 搜索nginx镜像
[root@docker-01 ~]# docker search nginx
NAME                                              DESCRIPTION                                     STARS     OFFICIAL
nginx                                             Official build of Nginx.                        19821     [OK]
## 部分内容省略
# 回显含义如下
NAME:镜像名称
DESCRIPTION:描述
STARS:星级
OFFICIAL:是否官方创建 [OK]字样表示官方创建

4.2、获取镜像

  • 命令格式:docker pull 仓库名称:[标签]
# 如果下载镜像时,不指定标签,则默认会下载仓库中最新版本的镜像,即选择标签为latest标签# 下载最新的nginx镜像
[root@docker-01 ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
b0a0cf830b12: Pull complete 
4d84de5fb9b2: Pull complete 
2818b7b6a9db: Pull complete 
1e5314d67f16: Pull complete 
8066e07ce4f2: Pull complete 
05f7109fea9e: Pull complete 
e58cbd904f7f: Pull complete 
Digest: sha256:32e76d4f34f80e479964a0fbd4c5b4f6967b5322c8d004e9cf0cb81c93510766
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest# 镜像文件是由若干层(Layer)组成,称之为AUFS(联合文件系统)

4.3、查看镜像信息

  • docker images 仓库名称:[标签]
[root@docker-01 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    1d668e06f1e5   7 days ago   188MB# 回显含义如下
REPOSITORY:镜像属于的仓库
TAG:镜像的标签信息,标记同一个仓库中的不同镜像
IMAGE ID:镜像的唯一ID号,唯一标识一个镜像
CREATED:镜像创建时间
SIZE:镜像大小
  • 用户还可以根据镜像的唯一标识ID号,获取镜像详细信息
  • 命令格式:docker inspect 镜像ID号
[root@docker-01 ~]# docker inspect 1d668e06f1e5
[{"Id": "sha256:1d668e06f1e534ab338404ba891c37d618dd53c9073dcdd4ebde82aa7643f83f","RepoTags": ["nginx:latest"],

4.4、给镜像打标签

  • 命令格式:docker tag 源镜像名称:[标签] 新镜像名称[标签]
[root@docker-01 ~]# docker tag nginx:latest nginx_test:1.0
[root@docker-01 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED      SIZE
nginx        latest    1d668e06f1e5   7 days ago   188MB
nginx_test   1.0       1d668e06f1e5   7 days ago   188MB

4.5、删除镜像

  • docker删除镜像的操作有两种方法:使用镜像的标签删除镜像、使用镜像的ID删除镜像
  • 命令格式:docker rmi 仓库名称:标签 或者 docker rmi 镜像ID号
# 例如删除掉刚刚打的新标签nginx_test:1.0
[root@docker-01 ~]# docker rmi nginx_test:1.0
Untagged: nginx_test:1.0# 当使用docker rmi 命令后面制定了某个镜像ID时,必须确保该镜像当前没有被任一容器使用才能进行删除,系统会先删除掉所有指定该镜像的所有标签,然后删除该镜像文件本身。如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再次删除镜像

4.6、存出镜像和载入镜像

  • 当需要把一台机器上的镜像迁移到另一台机器上的时候,需要将镜像保存为本地文件,这一过程叫做存储镜像,可以使用docker save命令进行存储操作,之后就可以拷贝该文件到其他机器
4.6.1、存出镜像
  • 命令格式:docker save -o 存储文件名称 存储的镜像名称
# 例如:将本地nginx镜像存出
[root@docker-01 ~]# docker save -o nginx_latest.tar nginx:latest# 存出镜像后就可以使用scp命令将存出的文件复制到其他机器上了
4.6.2、载入镜像
  • 命令格式:load < 存出的文件 或者 docker load -i 存储的文件
# 两种方式任选一个
[root@docker-02 ~]# docker load < nginx_latest.tar 
[root@docker-02 ~]# docker load -i nginx_latest.tar 

五、Docker容器操作

  • 容器是docker的另一个核心概念。简单说,容器是镜像的一个运行实例,是独立运行的一个或者一组应用以及他们所必须的运行环境,包括文件系统、系统类库、shell环境等。镜像是只读模板,而容器会给这个只读模板添加一个额外的可写层

5.1、容器的创建

  • 命令格式:docker create [选项] 镜像 运行的程序
# 常用选项
-i:让容器的输入保持打开
-t:让docker分配一个伪终端
--name:指定容器的名称,如果不加的话容器名称是随机生成的
[root@docker-01 ~]# docker create -it --name myname nginx:latest bash
3cbd2bbf3cb0dddc7c8edd8730723d491606509587e7b6811a951dff16197262# 使用docker create命令创建新的容器后会返回一个唯一的ID。可以使用docker ps命令查看所有容器的运行状态。添加-a选项可以显示所有的容器。包括为运行的
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED              STATUS    PORTS     NAMES
3cbd2bbf3cb0   nginx:latest   "/docker-entrypoint.…"   About a minute ago   Created             myname# 回显含义如下
CONTAINER ID:容器的ID
IMAGE:加载的镜像
COMMAND:运行的程序
CREATED:创建容器的时间
STATUS:目前容器所处的状态
PORTS:端口映射
NAMES:容器的名称

5.2、启动、停止容器、创建并启动容器

5.2.1、启动容器
  • 命令格式:docker start 容器名称
[root@docker-01 ~]# docker start myname
myname
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS          PORTS     NAMES
3cbd2bbf3cb0   nginx:latest   "/docker-entrypoint.…"   6 minutes ago   Up 11 seconds   80/tcp    myname# 启动容器后,STATUS状态变成了UP状态,表示容器已经处于启动状态
5.2.2、创建并启动容器
  • 注意:容器是一个与其中运行的shell命令共存亡的终端,命令运行容器运行,命令结束容器退出

  • 命令格式:docker run

# 当利用docker run来创建容器时,docker在后台的标准运行过程是
1.检查本地是否存在指定的镜像。当镜像不存在时,会从公共仓库下载
2.利用镜像创建并启动一个容器
3.分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层
4.从宿主机主机配置的往前接口中桥接一个虚拟机接口到容器中
5.分配一个地址池中的IP地址给容器
6.指定用户指定的应用程序,指定完毕后容器被终止运行# 例如:创建容器并启动执行一条shell命令
[root@docker-01 ~]# docker run centos:7.6.1810 bash -c ls /
anaconda-post.log
bin
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
# 执行一下命令可以看出容器在执行"/usr/bin/bash -c ls"命令之后就停止了,有时候需要在后台持续的运行这个容器,就需要让docker容器以守护形式在后台运行。可以在docker run 命令之后添加-d选项来实现。但是需要注意容器所运行的程序不能结束,容器执行的命令一旦借宿那么容器也就推出了
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS                      PORTS     NAMES
6a3739391e27   centos:7.6.1810   "bash -c ls /"           30 seconds ago   Exited (0) 28 seconds ago             mystifying_euler
3cbd2bbf3cb0   nginx:latest      "/docker-entrypoint.…"   15 minutes ago   Up 10 minutes               80/tcp    myname# 例如:下面的容器会在后台运行30秒后终止
[root@docker-01 ~]# docker run -itd centos:7.6.1810 bash -c "sleep 30"
1d414b78bbe5ba48b466dba497f7b9645d45f302c946fda7376be18c96f562ef
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS                     PORTS     NAMES
1d414b78bbe5   centos:7.6.1810   "bash -c 'sleep 30'"     13 seconds ago   Up 12 seconds                        clever_haibt# 例如:下面的容器会一直运行
[root@docker-01 ~]# docker run -itd centos:7.6.1810 bash -c "while true;do echo hello;done"
88b7043a5b75ad0f3ce1ed60f591a52a79c4ce4f4fe97f30fa23b7ebc498bec2
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS                          PORTS     NAMES
88b7043a5b75   centos:7.6.1810   "bash -c 'while true…"   11 seconds ago   Up 10 seconds                             hopeful_black# 创建容器的时候可以根据需求添加一些选项,常用的选项有
--rm:容器退出时自动删除容器
--name:指定容器的名字
-p:8080:80将宿主机的8080端口映射到容器的80端口(也就意味着如果访问虚拟机的8080端口就相当于访问容器的80端口)
-P:随机映射端口号
[root@docker-01 ~]# docker run -d --rm --name mynginx -P nginx:latest
f0e99cfa10c1ae1c77bb6600ea5945583d24c89393d24f6ac05523d146118a81
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS                       PORTS                                     NAMES
f0e99cfa10c1   nginx:latest      "/docker-entrypoint.…"   17 seconds ago   Up 16 seconds                0.0.0.0:32768->80/tcp, :::32768->80/tcp   mynginx[root@docker-01 ~]# docker run -d --rm --name myningx_01 -p 8080:80 nginx:latest
d135e4786cff67951cfea1666424b91f29298ad53b7e92efa42560ce1e88a2f5
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE             COMMAND                  CREATED              STATUS                       PORTS                                     NAMES
d135e4786cff   nginx:latest      "/docker-entrypoint.…"   10 seconds ago       Up 9 seconds                 0.0.0.0:8080->80/tcp, :::8080->80/tcp     myningx_01# 查看容器端口转发情况
[root@docker-01 ~]# docker port a07b19ffc4b1
80/tcp -> 0.0.0.0:85
80/tcp -> [::]:85
5.2.3、终止容器
  • 命令格式:docker stop 容器的ID/名称
[root@docker-01 ~]# docker stop myname
myname
[root@docker-01 ~]# docker ps -a
3cbd2bbf3cb0   nginx:latest      "/docker-entrypoint.…"   33 minutes ago   Exited (137) 22 seconds ago                                             myname

六、容器的进入

  • 命令格式:docker exec -it 容器ID/名称 /bin/bash
[root@docker-01 ~]# docker exec -it mynginx /bin/bash
# 执行exit可以退出容器
root@f0e99cfa10c1:/# exit
exit

七、容器的导出与导入

  • 用户可以将任何一个docker容器从一台机器迁移到另一台机器。在迁移的过程中,可以使用docker export民两个将已经创建好的容器导出为文件,无论这个容器是否处于运行状态还是停止状态均可导出

7.1、容器导出

  • 命令格式:docker export 容器ID/名称 > 文件名
# 导出mynginx容器到文件mynginx.tar
[root@docker-01 ~]# docker export mynginx > mynginx.tar
[root@docker-01 ~]# ls -lh mynginx.tar 
-rw-r--r-- 1 root root 182M May 10 22:26 mynginx.tar

7.2、容器导入

  • 命令格式:cat 文件名 | docker import - 生成的镜像名称:标签
# 可以直接scp把刚刚导出的容器镜像上传到其他机器上验证效果
[root@docker-02 ~]# cat mynginx.tar | docker import - mynginx:1.0
sha256:dc71be6ceabdf4508ef245c3b5bf750f7d135a0ce15c1574c842c3606c4a0e2f
[root@docker-02 ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mynginx      1.0       dc71be6ceabd   3 seconds ago   186MB

八、容器的删除

  • docker rm 容器ID/名称
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS     NAMES
e57cb74fc0e2   nginx:latest   "/docker-entrypoint.…"   6 seconds ago   Up 5 seconds   80/tcp    myname
[root@docker-01 ~]# docker rm myname
myname
[root@docker-01 ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

九、Docker的数据管理

  • 在docker中,为了方便查看容器内产生的数据或者共享多个容器之间的数据,就涉及到容器的数据管理操作。管理docker容器中数据主要有两种方式:数据卷和数据卷容器

数据卷概述

  • 数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻就在相对用的容器挂载目录中显示,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于Linux下对目录进行mount操作

9.1、创建数据卷

  • 在docker run命令中使用-v选项可以在容器内创建数据卷。多次使用-v可创建多个数据卷。使用–name选项可以给容器创建一个友好的自定义名称
# 例如:使用nginx:latest镜像创建一个名为web的容器,并且创建两个数据卷分别挂载到/data1和/data2目录上
[root@docker-01 ~]# docker run -d -v /data1 -v /data2 --name web nginx:latest8aa51caf3fa61d260a6fb22766fe02e1f7e6bbefa07feb80592df567ef34b3ea
[root@docker-01 ~]# docker exec -it web bash
root@8aa51caf3fa6:/# ls -l
drwxr-xr-x   2 root root    6 May 11 03:20 data1
drwxr-xr-x   2 root root    6 May 11 03:20 data2

9.2、挂载主机目录作为数据卷

  • 使用docker run命令的-v选项可以在创建数据卷的同时,将宿主机的目录挂载到数据卷上使用,以实现宿主机于容器之间的数据迁移。注意:宿主机本地目录的路径您必须是使用的绝对路径。如果路径不存在,docker会自动创建相对应的路径
# 例如:使用nginx:latest镜像创建一个名为web-1容器,并且将宿主机的/var/www目录挂载到容器的/data1目录上
[root@docker-01 ~]# docker run -d -v /var/www/:/data1 --name web-1 nginx:latest
fad85d0b53956f198a560075adf9615b6d8f95aed8ed8cd233917f905aadf0bd
[root@docker-01 ~]# touch /var/www/test.html
[root@docker-01 ~]# docker exec -it web-1 bash
root@fad85d0b5395:/# ls /data1/
test.html

9.3、数据卷容器

  • 如果需要在容器之间共享一些数据,最简单的方式就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。使用方法如下:需要创建一个容器作为数据卷容器,之后在其他容器创建时使用–volumes-from挂载数据卷容器中的数据卷使用
# 例如:使用前面预先创建好的数据卷容器web。其中所创建的数据卷分别挂载到/data1与/data2目录上,使用--volumes-from来挂载web容器中的数据卷到新的容器,新的容器名为db1
[root@docker-01 ~]# docker run -it --volumes-from web --name db1 nginx:latest bash
root@42e73d8ccca5:/# touch /data1/hello.txt
root@42e73d8ccca5:/# exit
exit
d[root@docker-01 ~]# docker exec -it web bash
root@8aa51caf3fa6:/# ls /data1
hello.txt

十、查看容器日志和详细信息

10.1、查看容器日志

# 将容器旧日志打到屏幕上
[root@docker-01 ~]# docker logs 8567f02c60b6# 实时查看容器日志
[root@docker-01 ~]# docker logs -f 8567f02c60b6# 结合管道符查看后10行容器日志
[root@docker-01 ~]# docker logs 8567f02c60b6 | tail -10

10.2、查看容器详细信息

# 查看容器详细信息,用于高级的调试
[root@docker-01 ~]# docker container inspect 8567f02c60b6

十一、容器的提交

# 提交的容器当中已经是提前安装好了vim编辑器的容器,把它提交为yuchao163/centos-vim-7.8.2003镜像,当用这个镜像创建新的容器时,将自带vim编辑器
[root@docker-01 ~]# docker commit 5de8a1c1f640 yuchao163/centos-vim-7.8.2003

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

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

相关文章

Python使用Modbus RTU发送数据的技术性指南

目录 一、引言 二、Modbus RTU协议简介 三、Pymodbus库介绍 四、环境准备 五、编写Modbus RTU客户端代码 六、案例分析 七、注意事项与调试技巧 八、扩展功能与应用 九、性能优化与安全性考虑 十、总结 一、引言 在工业自动化领域中&#xff0c;Modbus协议因其开放性…

opencascade AIS_Circle AIS_ColoredDrawer AIS_CameraFrustum 源码学习 圆

类AIS_Circle 构造圆形基准面&#xff0c;用于构建复合形状。 AIS_Circle() [1/2] AIS_Circle::AIS_Circle ( const Handle< Geom_Circle > & aCircle ) 初始化用于构造 AIS 圆形基准面的算法&#xff0c;并初始化圆形 aCircle。 AIS_Circle() [2/2] AIS_Circ…

数据库系统概论(个人笔记)(第三部分)

数据库系统概论&#xff08;个人笔记&#xff09; 文章目录 数据库系统概论&#xff08;个人笔记&#xff09;3、SQL介绍3.1 SQL查询语言概述3.2 SQL数据定义3.3 SQL查询的基本查询结构3.4 其他基本操作3.5 设置操作3.6 空值3.7 聚合函数3.8 嵌套子查询3.9 数据库的修改 3、SQL…

LES物流执行系统,在离散制造行业有那些作用和价值?

离散制造企业往往面临的是多品种、小批量的非标订单生产&#xff0c;传统推动式物流系统已经无法应对计划变化滞后&#xff0c;各车间、工序之间难以衔接等情况&#xff0c;特别是密集劳动力的电子行业&#xff0c;非标产品 SKU 种类繁多&#xff0c;物料配送复杂&#xff0c;对…

【Flowable 7】学习笔记 01 - 初始化数据库表创建流程(源码)

文章目录 前言版本说明配置1、引擎配置初始化2、SQL 执行创建表2.0、创建表概览&#xff08;创建表数目&#xff1a;38&#xff09;2.1、基础组件表创建&#xff08;以 common 组件为例&#xff09;2.2、changelog 组件表创建&#xff08;基于 liquibase&#xff09;2.3、Engin…

探索机器人智能设备:开启智慧生活新篇章

机器人智能设备作为科技创新的代表&#xff0c;正以其独特的魅力吸引着越来越多的关注。它们不仅具备高度的智能化和自主化能力&#xff0c;还能在各种场景下发挥出强大的功能。 机器人智能设备的张总说&#xff1a;在智能家居领域&#xff0c;机器人智能设备可以帮助我们实现家…

计算机网络导论

网络结构的演变 网状结构 最开始的网络&#xff0c;主机之间都是两两相连 好处 这样连接&#xff0c;好处是安全性比较高&#xff08;A与B之间的连线断了&#xff0c;可以绕一下C&#xff09;&#xff1b; 另外通信不需要互相等待&#xff08;没有中间交换设备&#xff0c;所…

python脚本加入到linux bin 方便用户执行

要将这个 Python 密码生成器脚本加入到 Linux 的 bin 目录,使其成为一个可以方便执行的命令行工具,可以按照以下步骤进行: 编写 Python 脚本并保存: 将之前的 Python 密码生成器脚本保存为一个文件,比如 password_generator.py。 在脚本中添加 shebang: 在脚本的开头添加…

头文件大小写引发的报错

jenkins下打包编译报错如下&#xff0c;提示编译zynqCan.c时找不到“syscfgpll/sysCfgpll.h”文件。 但IDE下编译是没有报错也没有警告的&#xff0c;工程中也存在文件“syscfgpll/sysCfgPll.h”。 仔细观察发现&#xff0c;报错说的是找不到头文件“syscfgpll/sysCfgpll.h”…

09Django项目--用户管理系统--删

对应视频链接点击直达 09Django项目--用户管理系统--删 对应视频链接点击直达删a&#xff0c;本质b&#xff0c;删除 页面相关a&#xff0c;index页面新增操作按钮b&#xff0c;ajax删除和提示c&#xff0c;完整版本 OVER&#xff0c;不会有人不会吧不会的加Q1394006513结语 一…

cfa三级大神复习经验分享系列(四)

三级的复习资料也很不给力&#xff0c;Notes覆盖度不够&#xff0c;而教材又过于琐碎不成系统&#xff0c;让同学备考起来顾此失彼。所以CFA三级考察的是考生的态度&#xff0c;策略&#xff0c;决心&#xff0c;以及技巧。只要掌握了以上要素&#xff0c;一次性通过完全是有可…

前端三大框架特点及优势

前言 前端三大主流框架分别是Angular、React、Vue&#xff0c;下面是对这三大框架简答的介绍。 一、Angular Angular&#xff08;原名AngularJS&#xff09;&#xff0c;由Google开发并维护的前端框架&#xff0c;自2009年诞生以来&#xff0c;一直受到大量开发者的青睐。 特…

在JavaScript中,设计模式是用于解决常见编程问题的最佳实践。这些模式可以帮助你构建更可靠、可维护和可重用的代码

在JavaScript中&#xff0c;设计模式是用于解决常见编程问题的最佳实践。这些模式可以帮助你构建更可靠、可维护和可重用的代码。下面是一些在JavaScript中常见的设计模式&#xff1a; 工厂模式&#xff08;Factory Pattern&#xff09;: 工厂模式是一种创建对象的设计模式&…

视频监控汇聚平台LntonCVS视频安防监控平台城市积水智能监测应用方案

根据中央气象台的最新预报&#xff0c;我国南方地区即将面临一轮强烈的降雨天气。这场降雨预计将会给部分地区带来大到暴雨的降水量&#xff0c;甚至在某些局部地区可能出现极端的大暴雨情况。与此同时&#xff0c;华北、黄淮以及东北地区也可能会遭受雷雨天气的干扰&#xff0…

Python 打包成可执行文件

可以使用 PyInstaller 和 cx_Freeze 等工具将Python脚本打包成可执行文件。 PyInstaller 1. 安装PyInstaller pip install pyinstaller 2. 打包Python脚本 pyinstaller --onefile your_script.py --onefile 参数会告诉PyInstaller将所有的依赖打包进一个单独的可执行文件…

深入解析Spring与MyBatis框架注解及其实例应用

在现代Java开发中&#xff0c;Spring与MyBatis框架已经成为了不可或缺的利器。它们提供了丰富的注解&#xff0c;用于简化开发流程、提高代码可读性和可维护性。让我们深入探讨这些注解&#xff0c;并结合实际场景进行详细分析。 1. Spring框架注解 1.1 组件注解 Component&…

Python | Leetcode Python题解之第118题杨辉三角

题目&#xff1a; 题解&#xff1a; class Solution:def generate(self, numRows: int) -> List[List[int]]:ret list()for i in range(numRows):row list()for j in range(0, i 1):if j 0 or j i:row.append(1)else:row.append(ret[i - 1][j] ret[i - 1][j - 1])ret…

电商api接口进行数据采集获取淘宝/天猫/京东/抖音多平台商品价格

在电商运营中&#xff0c;从品牌角度来看&#xff0c;品牌方通过电商数据采集API接口进行数据采集&#xff0c;获取多渠道商品价格信息的这一行为&#xff0c;能为品牌方带来诸多好处&#xff1a; 及时准确&#xff1a;API接口能为品牌提供实时数据&#xff0c;这意味着企业可…

RT-DETR算法改进【NO.1】借鉴CVPR2024中的StarNet网络StarBlock改进算法

前 言 YOLO算法改进的路有点拥挤,尝试选择其他的baseline作为算法研究,可能会更加好发一些文章。后面将陆续介绍RT-DETR算法改进的方法思路。 很多朋友问改进如何选择是最佳的,下面我就根据个人多年的写作发文章以及指导发文章的经验来看,按照优先顺序进行排序讲解…

德克萨斯大学奥斯汀分校自然语言处理硕士课程汉化版(第二周) - 多类别分类和神经网络

多类别分类和神经网络 1. 多类别分类2. 多类别感知机和多类别逻辑回归3. 多类别分类的场景4. 分类公平性5. 神经网络6. 神经网络可视化7. 神经网络的前向传播和反向传播8. 神经网络的训练与优化 1. 多类别分类 分类是一个预测建模问题&#xff0c;它涉及到在给定输入的情况下…