Linux下 Docker容器引擎基础(1)

简述:

Docker的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。通过这种容器打包应用程序,意味着简化了重新部署、调试这些琐碎的重复工作,极大的提高了工作效率。例如:项目从腾讯云迁移阿里云,如果采用了Docker容器技术,迁移只需要在新的云服务器上启动项目需要的容器即可。

随着云计算DevOps生态圈的蓬勃发展,产生了大量优秀的系统和软件。软件开发人员可以自由选择各种软件应用环境。但同时带来的问题就是需要维护一个非常庞大的开发(Dev)、测试(Test)、预上线(UAT)和生产环境(Pro)。面对这种情况,Docker容器技术横空出世、提供了简单、灵活、高效的解决方案,不需要过多地改变现有的使用习惯,就可以和已有的工具进行整合。因此,掌握Docker相关技术也是途径云计算的必经之路。

Docker是在Linux容器里运行应用的开源容器管理工具,可以理解为轻量级的“虚拟机”。它诞生于 2013 年初,最初是 DotCloud 公司内部商业版项目,后来更换架构师,此架构师将Docker进行了开源,导致Docker使用人员增多。基于 Google公司推出的 Go(Golang) 语言开发。该项目后来加入了Linux基金会,遵从了Apache 2.0协议进行推广,项目代码在 GitHub(https://github.com/docker)上进行维护。

Docker 自开源后受到广泛的业内人士及社区的关注,以至于DotCloud公司后来都改名为 Docker Inc。RedHat系列系统从 RHEL6.5 版本开始支持 Docker;Google 也在其 PaaS 产品中广泛应用。

官方网站:Docker: Accelerated, Containerized Application Development

环境:选择虚拟化引擎

 关闭防火墙规则

[root@localhost ~]# iptables -F

[root@localhost ~]# setenforce 0

[root@localhost ~]# systemctl stop firewalld

yum安装docker

[root@localhost yum.repos.d]# yum -y install docker

启动并设置开机启动

[root@localhost yum.repos.d]#  systemctl start docker

[root@localhost yum.repos.d]#  systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@localhost yum.repos.d]# docker version

Client:

 Version:         1.13.1

 API version:     1.26

 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64

 Go version:      go1.10.3

 Git commit:      7d71120/1.13.1

 Built:           Wed Mar  2 15:25:43 2022

 OS/Arch:         linux/amd64

Server:

 Version:         1.13.1

 API version:     1.26 (minimum version 1.12)

 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64

 Go version:      go1.10.3

 Git commit:      7d71120/1.13.1

 Built:           Wed Mar  2 15:25:43 2022

 OS/Arch:         linux/amd64

 Experimental:    false

 安装docker-ce

[root@localhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

--2023-07-31 13:39:06--  http://mirrors.aliyun.com/repo/Centos-7.repo

正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 42.202.211.87, 42.202.211.96, 124.238.244.137, ...

正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|42.202.211.87|:80... 已连接。

已发出 HTTP 请求,正在等待回应... 200 OK

长度:2523 (2.5K) [application/octet-stream]

正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”

100%[=============================================================>] 2,523       --.-K/s 用时 0s      

2023-07-31 13:39:06 (257 MB/s) - 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2523/2523])

[root@localhost yum.repos.d]# yum -y install yum-utils device-mapper-persistent-data lvm2

[root@localhost yum.repos.d]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@localhost yum.repos.d]# ll

-rw-r--r--. 1 root root 2081 7月  31 13:43 docker-ce.repo

[root@localhost yum.repos.d]# yum -y install docker-ce

[root@localhost yum.repos.d]# systemctl start docker

[root@localhost yum.repos.d]# systemctl enable docker

 阿里云镜像加速

[root@localhost yum.repos.d]#  cat << END > /etc/docker/daemon.json

> {

>         "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]

> }

> END

[root@localhost yum.repos.d]# vim /etc/docker/daemon.json

{

        "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]

}

[root@localhost yum.repos.d]# systemctl daemon-reload

[root@localhost yum.repos.d]# systemctl restart docker

查看基本信息

[root@localhost yum.repos.d]# docker version

Client:

 Version:         1.13.1

 API version:     1.26

 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64

 Go version:      go1.10.3

 Git commit:      7d71120/1.13.1

 Built:           Wed Mar  2 15:25:43 2022

 OS/Arch:         linux/amd64

Server:

 Version:         1.13.1

 API version:     1.26 (minimum version 1.12)

 Package version: docker-1.13.1-209.git7d71120.el7.centos.x86_64

 Go version:      go1.10.3

 Git commit:      7d71120/1.13.1

 Built:           Wed Mar  2 15:25:43 2022

 OS/Arch:         linux/amd64

 Experimental:    false

查看详细信息

[root@localhost yum.repos.d]# docker info

Containers: 0

 Running: 0

 Paused: 0

 Stopped: 0

Images: 0

Server Version: 1.13.1

Storage Driver: overlay2

 Backing Filesystem: xfs

 Supports d_type: true

 Native Overlay Diff: true

Logging Driver: journald

Cgroup Driver: systemd

Plugins:

 Volume: local

 Network: bridge host macvlan null overlay

Swarm: inactive

Runtimes: docker-runc runc

Default Runtime: docker-runc

Init Binary: /usr/libexec/docker/docker-init-current

containerd version:  (expected: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1)

runc version: 8891bca22c049cd2dcf13ba2438c0bac8d7f3343 (expected: 9df8b306d01f59d3a8029be411de015b7304dd8f)

init version: fec3683b971d9c3ef73f284f176672c44b448662 (expected: 949e6facb77383876aeff8a6944dde66b3089574)

Security Options:

 seccomp

  WARNING: You're not using the default seccomp profile

  Profile: /etc/docker/seccomp.json

 selinux

Kernel Version: 3.10.0-1160.92.1.el7.x86_64

Operating System: CentOS Linux 7 (Core)

OSType: linux

Architecture: x86_64

Number of Docker Hooks: 3

CPUs: 1

Total Memory: 3.682 GiB

Name: localhost.localdomain

ID: U54H:7JJ6:COSW:UIMR:LSNL:FP7H:NANJ:NJPQ:K6FZ:3DMR:J26D:LWRR

Docker Root Dir: /var/lib/docker

Debug Mode (client): false

Debug Mode (server): false

Registry: https://index.docker.io/v1/

Experimental: false

Insecure Registries:

 127.0.0.0/8

Registry Mirrors:

 https://nyakyfun.mirror.aliyuncs.com

Live Restore Enabled: false

Registries: docker.io (secure)

Docker镜像操作

搜索镜像  命令格式:docker search 关键字

 下载nginx镜像

 

 

[root@localhost ~]# docker pull nginx

Using default tag: latest

Trying to pull repository docker.io/library/nginx ...

latest: Pulling from docker.io/library/nginx

a2abf6c4d29d: Pull complete

a9edb18cadd1: Pull complete

589b7251471a: Pull complete

186b1aaa4aa6: Pull complete

b4df32aa5a72: Pull complete

a0bcbecc962e: Pull complete

Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31

Status: Downloaded newer image for docker.io/nginx:latest

下载centos镜像

[root@localhost ~]#  docker pull centos

Using default tag: latest

Trying to pull repository docker.io/library/centos ...

latest: Pulling from docker.io/library/centos

a1d0c7532777: Pull complete

Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177

Status: Downloaded newer image for docker.io/centos:latest

查看所有镜像信息

[root@localhost ~]#   docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.io/nginx     latest              605c77e624dd        19 months ago       141 MB

docker.io/centos    latest              5d0da3dc9764        22 months ago       231 MB

查看指定镜像信息   命令格式:docker inspect 镜像名或镜像ID

为镜像添加标签(类似软连接)

[root@localhost ~]# docker tag nginx nginx:ttt

[root@localhost ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.io/nginx     latest              605c77e624dd        19 months ago       141 MB

nginx               ttt                 605c77e624dd        19 months ago       141 MB

docker.io/centos    latest              5d0da3dc9764        22 months ago       231 MB

删除

[root@localhost ~]# docker rmi nginx:ttt

Untagged: nginx:ttt

Untagged: docker.io/nginx@sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31

[root@localhost ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.io/nginx     latest              605c77e624dd        19 months ago       141 MB

docker.io/centos    latest              5d0da3dc9764        22 months ago       231 MB

 把镜像存到本地文件

命令格式:docker save -o 存出镜像为本地文件 镜像名

[root@localhost ~]# docker save -o nginx-images nginx

[root@localhost ~]# ls

anaconda-ks.cfg  nginx-images

 验证

[root@localhost ~]# docker rmi nginx

Untagged: nginx:latest

Deleted: sha256:605c77e624ddb75e6110f997c58876baa13f8754486b461117934b24a9dc3a85

Deleted: sha256:b625d8e29573fa369e799ca7c5df8b7a902126d2b7cbeb390af59e4b9e1210c5

Deleted: sha256:7850d382fb05e393e211067c5ca0aada2111fcbe550a90fed04d1c634bd31a14

Deleted: sha256:02b80ac2055edd757a996c3d554e6a8906fd3521e14d1227440afd5163a5f1c4

Deleted: sha256:b92aa5824592ecb46e6d169f8e694a99150ccef01a2aabea7b9c02356cdabe7c

Deleted: sha256:780238f18c540007376dd5e904f583896a69fe620876cabc06977a3af4ba4fb5

Deleted: sha256:2edcec3590a4ec7f40cf0743c15d78fb39d8326bc029073b41ef9727da6c851f

[root@localhost ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.io/centos    latest              5d0da3dc9764        22 months ago       231 MB

[root@localhost ~]# docker load<nginx-images

2edcec3590a4: Loading layer 83.86 MB/83.86 MB

e379e8aedd4d: Loading layer    62 MB/62 MB

b8d6e692a25e: Loading layer 3.072 kB/3.072 kB

f1db227348d0: Loading layer 4.096 kB/4.096 kB

32ce5f6a5106: Loading layer 3.584 kB/3.584 kB

d874fd2bc83b: Loading layer 7.168 kB/7.168 kB

Loaded image: docker.io/nginx:latest

[root@localhost ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.io/nginx     latest              605c77e624dd        19 months ago       141 MB

docker.io/centos    latest              5d0da3dc9764        22 months ago       231 MB

Docker 容器操作

容器是Docker 的另一个核心概念,简单说,容器是镜像的一个运行实例,是独立运行

的一个或一组应用以及它们所必需的运行环境,包括文件系统、系统类库、shell 环境等。

镜像是只读模板,而容器会给这个只读模板一个额外的可写层。

下面将具体介绍围绕容器的具体操作。

1、创建容器与运行容器

Docker 的创建就是将镜像加载到容器的过程,Docker 的容器十分轻量级,用户可以随

时创建或者删除。新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个

进程来启动容器,这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全

停止。停止的容器可以重新启动并保留原来的修改。可以使用docker create 命令新建一个容器。

命令格式:docker create [选项]… 镜像运行的程序

常用选项:

  • -i 让容器的输入保持打开
  • -t 让Docker 分配一个伪终端
  • -d 守护进程形式运行

 创建容器

[root@localhost ~]# docker create -it centos /bin/bash

98f68500e69567459fa7125cfcddbe309f18a51ba125ac3af6bb657103b89048

查看容器运行状态

使用docker create 命令创建新容器后会返回一个唯一的ID。a代表所有容器

[root@localhost ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

98f68500e695        centos              "/bin/bash"         26 seconds ago      Created                                 suspicious_franklin

启动容器
                 

 

[root@localhost ~]# docker start 98f68500e695  

98f68500e695

创建容器并执行一条shell命令

[root@localhost ~]# docker run centos /bin/bash -c ls /

bin

dev

etc

home

lib

lib64

lost+found

media

mnt

opt

proc

root

run

sbin

srv

sys

tmp

usr

var

[root@localhost ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS                      PORTS               NAMES

9497f8c130be        centos              "/bin/bash -c ls /"   36 seconds ago      Exited (0) 35 seconds ago                       romantic_williams

98f68500e695        centos              "/bin/bash"           3 minutes ago       Up About a minute                               suspicious_franklin

后台运行容器

[root@localhost ~]# docker run -d nginx /bin/bash -c "while true;do echo hello;done"

71dd7c6aad86aa4d2c69e1e175729c59f706e21c28ff340edfd7a7784d02c327

查看容器状态 -a是所有  -q只看容器id

[root@localhost ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   

71dd7c6aad86        nginx               "/docker-entrypoin..."   27 seconds ago      Up 25 seconds            

9497f8c130be        centos              "/bin/bash -c ls /"      3 minutes ago       Exited (0) 3 minutes ago

98f68500e695        centos              "/bin/bash"              5 minutes ago       Up 4 minutes          

查看容器输出 运行

[root@localhost ~]# docker logs 71dd7c6aad86

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

hello

停止容器

[root@localhost ~]#  docker stop  71dd7c6aad86

71dd7c6aad86

查看

[root@localhost ~]# docker ps -a

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                        PORTS               NAMES

71dd7c6aad86        nginx               "/docker-entrypoin..."   3 minutes ago       Exited (137) 11 seconds ago                       trusting_sammet

9497f8c130be        centos              "/bin/bash -c ls /"      6 minutes ago       Exited (0) 6 minutes ago                          romantic_williams

98f68500e695        centos              "/bin/bash"              8 minutes ago       Up 7 minutes                                      suspicious_franklin

进入容器

需要进入容器进行相应操作时,可以使用docker exec 命令或者docker attach命令进入运行着的容器。

命令格式:docker exec -it 容器ID/名称/bin/bash

其中,-i 选项表示让容器的输入保持打开;

-t 选项表示让Docker 分配一个伪终端。

[root@localhost ~]#  docker exec -it 71dd7c6aad86 /bin/bash

root@71dd7c6aad86:/# exit

exit

保证容器后台运行

[root@localhost ~]# docker attach 容器id

容器的导出与导入

用户可以将任何一个Docker 容器从一台机器迁移到另一台机器。在迁移过程中,首先需要将已经创建好的容器导出为文件,可以使用docker export 命令实现,无论这个容器是处于运行状态还是停止状态均可导出。导出之后可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。

命令格式:docker export 容器ID/名称>文件名

导出31328ac9cd33容器到文件centos-exp:

[root@localhost ~]# docker run -it centos /bin/bash
[root@31328ac9cd33 /]# touch crushilnux
[root@31328ac9cd33 /]# exit
exit
[root@localhost ~]# docker export 31328ac9cd33>centos-exp

查看
[root@localhost ~]# ls -l centos-exp
-rw-r--r--. 1 root root 238594048 7月  31 14:26 centos-exp

导出的文件从A 机器拷贝到B 机器,之后使用docker import 命令导入,成为镜像。

命令格式:cat 文件名| docker import – 生成的镜像名称:标签

例如,导入文件centos7.tar成为本地镜像:

[root@localhost ~]# cat centos-exp | docker import - centos:exp

sha256:c85e59d0ca2f97e3dce46185d92708f22839501bf7126e64929c243b5d65fd83

[root@localhost ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

centos              exp                 c85e59d0ca2f        19 seconds ago      231 MB

docker.io/nginx     latest              605c77e624dd        19 months ago       141 MB

docker.io/centos    latest              5d0da3dc9764        22 months ago       231 MB

 文件复制

将主机文件  拷贝到31328ac9cd33:/tmp  目录下

[root@localhost ~]# docker cp /root/anaconda-ks.cfg  31328ac9cd33:/tmp  

[root@localhost ~]# docker start 31328ac9cd33

31328ac9cd33

[root@localhost ~]# docker attach 31328ac9cd33

[root@31328ac9cd33 /]# ls /tmp

anaconda-ks.cfg  ks-script-4luisyla  ks-script-o23i7rc2  ks-script-x6ei4wuu

查看容器资源使用率

[root@localhost ~]# docker stats

CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS

71dd7c6aad86        3.37%               268 KiB / 3.682 GiB   0.01%               2.62 kB / 656 B     0 B / 0 B           1

98f68500e695        0.00%               528 KiB / 3.682 GiB   0.01%               4.68 kB / 656 B     0 B / 0 B           1

查看容器进程状态

[root@localhost ~]#  docker top 71dd7c6aad86

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD

root                9539                9525                7                   14:18               ?                   00:02:16            /bin/bash -c while true;do echo hello;done

更新容器配置

在docker服务重启时自动启动容器

[root@localhost ~]# docker update --restart=always 31328ac9cd33

31328ac9cd33

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

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

相关文章

尚硅谷大数据项目《在线教育之采集系统》笔记002

视频地址&#xff1a;尚硅谷大数据项目《在线教育之采集系统》_哔哩哔哩_bilibili 目录 P032 P033 P033 P034 P035 P036 P032 P033 # 1、定义组件&#xff0c;为各组件命名 a1.sources r1 a1.channels c1 a1.sinks - k1# 2、配置sources&#xff0c;描述source a1.sour…

ALLEGRO之Route菜单

本文主要介绍了ALLEGRO的Route菜单。 &#xff08;1&#xff09;Connect&#xff1a;走线&#xff1b; &#xff08;2&#xff09;Slide&#xff1a;推挤&#xff1b; &#xff08;3&#xff09;Timing Vision&#xff1a;等长设计时使用&#xff1f;暂不清楚&#xff1b; &…

oracle,获取每日24*60,所有分钟数

前言&#xff1a; 为规范用户的时间录入&#xff0c;因此我们采用下拉的方式&#xff0c;让用户选择需要的时间&#xff0c;因此我们需要将一天24小时的时间拆分为类似00:00,00:01...23:00,23:01,23:59。因此我们需要生成24*601440行的下拉复选值。具体效果如下图所示。 思路 1…

C语言字串函数、内存函数介绍以及模拟实现

目录 前言 本期内容介绍&#xff1a; 一、字符串函数 strlen介绍 strlen 模拟实现&#xff08;三种方式&#xff09; 方法一&#xff1a;计数器法 方法二&#xff1a;递归法&#xff08;不创建临时变量法&#xff09; 方法三&#xff1a;指针-指针 strcpy介绍 strcpy模…

SSIS对SQL Server向Mysql数据转发表数据 (完结)

1、对于根据主键进行更新和插入新的数据&#xff0c;根据前面的文章&#xff0c;对于组件已经很熟悉了&#xff0c;我们直接加入一个 查找 组件 &#xff0c;如下所示 2、右键点击"查找"&#xff0c;然后“编辑” &#xff0c;选择“连接”,选中我们的目标连接器&…

Vue2 第七节 Vue监测数据更新原理

&#xff08;1&#xff09;Vue会监视data中所有层次的数据 &#xff08;2&#xff09;如何监测对象中的数据 通过setter实现监视&#xff0c;且要在new Vue时传入要监测的数据对象中后追加的属性&#xff0c;Vue默认不做响应式处理如果要给后添加的属性做响应式&#xff0c;使…

Docker私有仓库

Docker私有仓库 Docker官方的Docker hub&#xff08;https://hub.docker.com&#xff09;是一个用于管理公共镜像的仓库&#xff0c;我们可以从上面拉取镜像到本地&#xff0c;也可以把我们自己的镜像推送上去。但是&#xff0c;有时候我们的服务器无法访问互联网&#xff0c;…

初阶数据结构——二叉树题目

文章目录 一、单值二叉树二、检查两颗树是否相同三、另一棵树的子树四、二叉树的前序遍历五、对称二叉树 一、单值二叉树 单值二叉树 如果二叉树每个节点都具有相同的值&#xff0c;那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时&#xff0c;才返回 true&#xff…

Docker学习笔记,包含docker安装、常用命令、dockerfile、docker-compose等等

&#x1f600;&#x1f600;&#x1f600;创作不易&#xff0c;各位看官点赞收藏. 文章目录 Docker 学习笔记1、容器2、Docker 安装3、Docker 常用命令4、Docker 镜像5、自定义镜像5.1、镜像推送到阿里云5.2、镜像私有库 6、数据卷7、Docker 软件安装8、Docker File8.1、常见保…

基于python+Xception算法模型实现一个图像分类识别系统

一、目录 Xception介绍数据集处理模型训练模型评估项目扩展 二、Xception介绍 在计算机视觉领域&#xff0c;图像识别是一个非常重要的任务&#xff0c;其应用涵盖了人脸识别、物体检测、场景理解等众多领域。随着深度学习技术的发展&#xff0c;深度卷积神经网络&#xff0…

哈工大计算机网络课程网络安全基本原理之:身份认证

哈工大计算机网络课程网络安全基本原理之&#xff1a;身份认证 在日常生活中&#xff0c;在很多场景下我们都需要对当前身份做认证&#xff0c;比如使用密码、人脸识别、指纹识别等&#xff0c;这些都是身份认证的常用方式。本节介绍的身份认证&#xff0c;是在计算机网络安全…

android 如何分析应用的内存(十三)——perfetto

android 如何分析应用的内存&#xff08;十三&#xff09; 本篇文章是native内存的最后一篇文章——perfetto perfetto简介 从2018年始&#xff0c;android开发者峰会正式推出perfetto工具。从此perfetto成为安卓最重要的工具之一。在2018年以前&#xff0c;android使用syst…

OpenHarmony开源鸿蒙学习入门 - 基于3.2Release 应用开发环境安装

OpenHarmony开源鸿蒙学习入门 - 基于3.2Release 应用开发环境安装 基于目前官方master主支&#xff0c;最新文档版本3.2Release&#xff0c;更新应用开发环境安装文档。 一、安装IDE&#xff1a; 1.IDE安装的系统要求 2.IDE下载官网链接&#xff08;IDE下载链接&#xff09; …

小红书2020校招测试开发后端笔试题卷三

//完全背包求组合数 #include <iostream> #include<vector> #include<set> #include<map> #include<algorithm> using namespace std; int value[300]; // vector<int>vis; // vector<int>vis1; map<vector<int>,int>m…

Tomcat的基本使用,如何用Maven创建Web项目、开发完成部署的Web项目

Tomcat 一、Tomcat简介二、Tomcat基本使用三、Maven创建Web项目3.1 Web项目结构3.2开发完成部署的Web项目3.3创建Maven Web项目3.3.1方式一3.3.2方式二&#xff08;个人推荐&#xff09; 总结 一、Tomcat简介 Web服务器&#xff1a; Web服务器是一个应用程序&#xff08;软件&…

深入探究Java面向对象的三大特征:封装、继承、多态

文章目录 1. 封装&#xff08;Encapsulation&#xff09;2. 继承&#xff08;Inheritance&#xff09;3. 多态&#xff08;Polymorphism&#xff09;结语 导语&#xff1a;Java是一门面向对象的编程语言&#xff0c;其核心思想是将现实世界中的事物抽象成对象&#xff0c;并通过…

PACS系统源码:支持三维重建功能、集成放射科管理RIS系统、图文报告编辑、打印、多级审核机制

PACS系统源码 PACS系统是以最新的IT技术为基础&#xff0c;遵循医疗卫生行业IHE/DICOM3.0和HL7标准&#xff0c;开发的多功能服务器和阅片系统。通过简单高性能的阅片功能&#xff0c;支持繁忙时的影像诊断业务&#xff0c;拥有保存影像的院内Web传输及离线影像等功能&#xf…

语义分割、转置卷积、风格迁移(第十二次组会)

TOC 语义分割 图像分割、实例分割 上采样、下采样 转置卷积 全卷积网络 风格迁移

网络安全 Day24-select高级用法和多表连接

select高级用法和多表连接 1. select 多子句单表高级实践1.1 select 多子句高级语法1.2 聚合函数1.3 group by 实践1.4 having 筛选1.5 order by 排序1.6 limit 2. 多表连接 1. select 多子句单表高级实践 1.1 select 多子句高级语法 where 和 having 区别是后者是分组后进行…

JAVASE---类和对象

1. 面向对象的初步认知 1.1 什么是面向对象 Java是一门纯面向对象的语言(Object Oriented Program&#xff0c;简称OOP)&#xff0c;在面向对象的世界里&#xff0c;一切皆为对象。面向对象是解决问题的一种思想&#xff0c;主要依靠对象之间的交互完成一件事情。用面向对象的…