Docker 容器化(初学者的分享)

目录

一、什么是docker

二、docker的缺陷

三、简单的操作

一、首先配置一台虚拟机

二、安装Docker-CE

一、安装utils

二、 将 Docker 的软件源添加到 CentOS 的 yum 仓库中。这样可以通过 yum 命令来安装、更新和管理 Docker 相关的软件包。

三、将 download.docker.com 替换为 mirrors.aliyun.com/docker-ce。这个命令的目的是将 Docker 软件源的地址替换为阿里云镜像站点,以提高下载速度和稳定性。 

 四、安装docker-ce

 五、启用并立即启动 Docker 服务。这个命令会将 Docker 服务添加到系统启动项,并立即启动 Docker 服务,以便可以立即开始使用 Docker。

 六、显示当前安装的 Docker 版本信息,包括 Docker 客户端和服务端的版本号、构建日期等详细信息。 

七、创建一个文件

八、在文件中添加下方的内容

九、启动docker

三、docker的基本使用

一、在仓库中查找镜像

二、下载镜像

三、查看本地docker镜像

四、调用容器内的命令

五、进入容器

六、容器正常运行

七、定义内存大小

八、查看正在运行的容器

九、确定被锁定的容器信息

十、限制容器只能使用1个CPU

十一、限制容器在CPU上第一 第二核心上使用资源

十二、限制容器使用磁盘I/O

十三、查看所有的容器包括已经退出的

十四、停止和启动容器

十五、删除以退出的容器

十六、删除已退出的容器及正在运行的容器

十七、为容器命名为snowmpy

十八、输入容器信息并导出容器

十九、导入容器

二十、指定docker的其他各种参数

二十一、更改镜像名和标签

二十二、删除镜像

二十三、确定容器根目录及文件系统在本地系统上挂载

二十四、进入容器并添加内容

二十五、开启一个新容器,并在容器中安装ssh服务

二十六、更改源并安装ssh

二十七、在容器中为sshd生成ssh所需的主机密码

 二十八、容器的root密码

二十九、获取dockerID和docker名

三十、生成docker镜像


一、什么是docker

Docker是一个开源的容器化平台,可以让开发人员和系统管理员通过容器的方式来构建、打包、分发和运行应用程序。

Docker最初由公司叫做dotCloud(现在已更名为Docker)的一群工程师于2013年创建。他们旨在解决传统虚拟化技术的一些痛点,如资源占用、启动时间长等问题。他们基于Linux内核的cgroups和命名空间技术开发出了Docker。

Docker的设计理念是使用容器来封装应用程序及其依赖项,使其能够在任何环境中都能一致地运行。通过容器化,开发人员可以将应用程序及其依赖项打包到一个独立的、可移植的容器中,包括操作系统、库、软件工具等。这样,就能够确保应用程序在不同环境中具有相同的行为。

Docker的出现解决了开发、测试和部署过程中的许多问题,减少了环境配置的复杂性、提高了应用的可移植性和可扩展性。它极大地简化了应用程序的打包和分发过程,并通过容器的方式实现了更高效的资源利用。

随着时间的推移,Docker变得越来越流行,成为了容器化技术的标准和行业领导者。它对于微服务架构、持续集成和部署等现代应用开发和交付模式具有重要的意义。

二、docker的缺陷

尽管Docker在容器化领域取得了巨大的成功和普及,但它也有一些缺点和限制:

  1. 性能损耗:与直接在主机上运行应用程序相比,Docker容器中的应用程序可能会有一些性能损耗。这是因为容器化引入了额外的隔离和资源管理层。

  2. 安全性风险:如果容器配置不当或容器内部存在漏洞,容器化环境可能会面临一些安全风险。攻击者可能会利用容器逃逸、容器间通信等漏洞进行攻击。

  3. 复杂性和学习曲线:使用Docker涉及到一些新的概念和工具,对于初学者来说可能需要一定的学习曲线。此外,复杂的容器集群和编排工具(如Kubernetes)的使用也需要一定的技术掌握。

  4. 资源消耗:每个容器都需要一定的资源(如内存、磁盘空间),在大规模部署或资源有限的环境中,这可能会导致资源紧张。

  5. 持久化存储:Docker容器默认情况下是设计为无状态的,容器停止后数据将会丢失。为了实现持久化存储,需要额外的配置和管理。

尽管存在这些缺点,Docker仍然是非常强大和受欢迎的容器化平台,可以在许多不同的应用场景中提供便利和效益。对于大多数用户来说,Docker的好处往往超过了其缺点。

三、简单的操作

一、首先配置一台虚拟机

二、安装Docker-CE

一、安装utils

yum install yum-utils -y

二、 将 Docker 的软件源添加到 CentOS 的 yum 仓库中。这样可以通过 yum 命令来安装、更新和管理 Docker 相关的软件包。

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

三、将 download.docker.com 替换为 mirrors.aliyun.com/docker-ce。这个命令的目的是将 Docker 软件源的地址替换为阿里云镜像站点,以提高下载速度和稳定性。 

sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

 四、安装docker-ce

yum install docker-ce -y

 

 五、启用并立即启动 Docker 服务。这个命令会将 Docker 服务添加到系统启动项,并立即启动 Docker 服务,以便可以立即开始使用 Docker。

systemctl enable --now docker

 六、显示当前安装的 Docker 版本信息,包括 Docker 客户端和服务端的版本号、构建日期等详细信息。 

docker version

 

七、创建一个文件

vim /etc/docker/daemon.json

八、在文件中添加下方的内容

配置 Docker 使用阿里云的镜像站点作为镜像加速器。镜像加速器可以加快 Docker 镜像的下载速度,提高容器的创建和部署效率。配置完成后,Docker 将自动使用阿里云的镜像站点来加速下载。

{"registry-mirrors": ["https://3laho3y3.mirror.aliyuncs.com"]
}

九、启动docker

systemctl restart docker

三、docker的基本使用

一、在仓库中查找镜像

docker search centos

二、下载镜像

docker pull centos

三、查看本地docker镜像

docker image list

四、调用容器内的命令

在一个基于 CentOS 镜像的容器中运行命令 cat /etc/hosts

具体解释

  • docker run 是 Docker 的命令,用于创建并启动一个新的容器。
  • -i 参数表示在容器启动后,将标准输入(stdin)连接到容器的标准输入,这样可以与容器进行交互。
  • -t 参数表示在容器启动后,为容器分配一个伪终端(pseudo-TTY),以便可以进行交互输入输出。
  • centos 是要使用的容器镜像的名称,这里使用的是 CentOS 镜像。
  • cat /etc/hosts 是要在容器内部执行的命令。这个命令会显示容器内 /etc/hosts 文件的内容。

因此,这个命令的目的是启动一个基于 CentOS 镜像的容器,并在容器内部执行 cat /etc/hosts 命令,以查看容器内 /etc/hosts 文件的内容。

docker run -i -t centos cat /etc/hosts

五、进入容器

在一个基于 CentOS 镜像的容器中启动一个交互式的 Bash shell。

具体解释如下:

  • docker run 是 Docker 的命令,用于创建并启动一个新的容器。
  • -it 参数表示以交互模式运行容器,并分配一个伪终端(pseudo-TTY)。
  • centos 是要使用的容器镜像的名称,这里使用的是 CentOS 镜像。
  • /bin/bash 是要在容器内部执行的命令,它启动了一个 Bash shell。

通过执行这个命令,Docker会创建一个基于CentOS镜像的容器,并切换到容器的交互式的Bash shell终端,使用户可以与容器进行交互。这样可以在容器内部执行命令、查看文件、安装软件包等操作。当退出Shell终端时,容器也将停止运行。

如果在上图显示的界面输入exit的话,则直接退出容器

六、容器正常运行

如果想让容器正常运行的话,在输入 docker run -it centos /bin/bash 后

按住ctrl键不要松手,在摁p键和q键 则会出现

一个伪终端

摁下回车,则成功的锁定容器并在容器内执行一些命令及操作,退出但是可以使容器正常运行

七、定义内存大小

在一个基于 CentOS 镜像的容器中以交互模式启动一个 Bash shell,并且限制容器的内存使用量为300MB。

docker run -it -m 300M --memory-swap 300M  centos /bin/bash

八、查看正在运行的容器

docker ps

显示up的都是正在启动 

九、确定被锁定的容器信息

docker stats 输入显示ID的前四个字符

十、限制容器只能使用1个CPU

docker run -it -m="500m" --cpus="1" centos /bin/bash

十一、限制容器在CPU上第一 第二核心上使用资源

docker run -it --cpuset-cpus="0,1" centos /bin/bash

十二、限制容器使用磁盘I/O

docker run -it --device-write-bps /dev/sda:30MB centos /bin/bash

十三、查看所有的容器包括已经退出的

docker ps -a

状态为UP的则正启动的,其他则为未启动

十四、停止和启动容器

用第一个容器举例,现在是正在启动的状态,关闭容器

docker kill 7e92

查看状态

docker ps -a

成功关闭容器

如要开启则输入

docker start 7e92

 成功启动

十五、删除以退出的容器

以23f9 为例 现在是正在关闭和退出的状态,输入命令

 docker rm 23f9

查看状态

docker ps -a

成功删除 

十六、删除已退出的容器及正在运行的容器

docker rm $(docker ps -a  | awk '{print $1}' | sed 1d) -f

十七、为容器命名为snowmpy

docker run -itd --name snowmpy centos /bin/bash

 成功创建一个名为snowmpy的容器

十八、输入容器信息并导出容器

docker logs snowmpy
docker export snowmpy > mpy.tar
ls -l mpy.tar

十九、导入容器

cat mpy.tar | docker import - mpy:test 的意思是通过管道(|)将文件 mpy.tar 的内容导入到 Docker 中,并创建一个名为 mpy:test 的镜像。

cat mpy.tar | docker import - mpy:test

列出本地的镜像列表

docker image list

二十、指定docker的其他各种参数

docker run -ti --name gzliu -h server --dns-search=1000cc.net --dns=8.8.8.8 --dns=8.8.4.4 centos:latest /bin/bash

二十一、更改镜像名和标签

列出本地的镜像列表

docker images
  1. 给一个已有的镜像打上新的标签。
  • mpy:test 是已有的镜像名称和标签。
  • mpy:ok 是新的镜像名称和标签。

通过执行这个命令,Docker 会在已有镜像的基础上创建一个新的镜像标签 mpy:ok,两个标签实际上指向同一个镜像。这样可以方便地给镜像创建不同的标签,用于版本管理或其他需求。新的标签可以用于识别和使用相同镜像的不同版本或变体。

docker tag mpy:test mpy:ok
docker images

二十二、删除镜像

docker rmi mpy:test

二十三、确定容器根目录及文件系统在本地系统上挂载

docker run -d -h websrv --name websrv -p 80:80  nginx

二十四、进入容器并添加内容

  1. docker exec -it websrv /bin/bash:以交互式的方式进入名为websrv的Docker容器,并以bash作为默认的shell。

  2. echo "hello world" > /usr/share/nginx/html/index.html:将字符串"hello world"写入到文件/usr/share/nginx/html/index.html中。

换句话说,这个命令的目的是在容器中的/nginx/html目录下创建一个名为index.html的文件,并在其中写入字符串"hello world"。

docker exec -it websrv /bin/bash
root@websrv:/# echo "hello world" > /usr/share/nginx/html/index.html

输入 exit 退出,并docker ps查看,显示成功挂载

该命令用于获取有关名为websrv的Docker容器的详细信息。它返回一个JSON格式的输出,其中包含有关容器的各种属性,如IP地址、挂载点、网络配置等。

docker inspect websrv

输入后再显示内容中找到

并复制第一行内容路径并输入

cd //var/lib/docker/overlay2/42ad29142a56ec09fc588eac31069f5652fc4926c5f2c7052cafc94fef0fc0a9/merged/usr/share/nginx/html

是容器的文件系统路径,其中包含了容器内部的文件和目录。这条命令的目的是将当前的工作目录切换到容器内的/nginx/html目录,以便进行操作。

二十五、开启一个新容器,并在容器中安装ssh服务

docker run --name snowchuai -h snow -it centos /bin/bash

这段命令是用来在 Docker 中运行一个名为 "snowchuai" 的容器,容器的主机名设置为 "snow",并且以交互模式运行 CentOS 镜像,并启动一个 bash shell。

具体说明如下:

  • docker run:在 Docker 中运行一个容器
  • --name snowchuai:给容器指定一个名称 "snowchuai"
  • -h snow:设置容器的主机名为 "snow"
  • -it:以交互模式运行容器
  • centos:使用 CentOS 镜像作为容器的基础镜像
  • /bin/bash:在容器内启动一个 bash shell。这意味着你可以在容器内执行命令和操作。

这个命令的作用是创建一个 CentOS 容器并进入到容器内部的 bash shell 中进行后续操作。

二十六、更改源并安装ssh

这个源是有问题的,需要更改两个源  所以需要进入

cd /etc/yum.repos.d/

首先进入

vi CentOS-Linux-AppStream.repo

将里面内容更改为

# CentOS-Linux-AppStream.repo
#
# The mirrorlist system uses the connecting IP address of the client and the
# update status of each mirror to pick current mirrors that are geographically
# close to the client.  You should use this for CentOS updates unless you are
# manually picking other mirrors.
#
# If the mirrorlist does not work for you, you can try the commented out
# baseurl line instead.[appstream]
name=CentOS Linux $releasever - AppStream
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/AppStream/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

进入第二个

vi CentOS-Linux-BaseOS.repo 

内容更改为

# CentOS-Linux-BaseOS.repo
#
# The mirrorlist system uses the connecting IP address of the client and the
# update status of each mirror to pick current mirrors that are geographically
# close to the client.  You should use this for CentOS updates unless you are
# manually picking other mirrors.
#
# If the mirrorlist does not work for you, you can try the commented out
# baseurl line instead.[baseos]
name=CentOS Linux $releasever - BaseOS
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial

更改后 输入安装命令

yum install openssh openssh-server passwd -y

 成功安装

二十七、在容器中为sshd生成ssh所需的主机密码

ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -q -N ''

  • -t rsa:指定生成 RSA 类型的密钥对
  • -f /etc/ssh/ssh_host_rsa_key:指定保存 RSA 密钥的文件路径为 "/etc/ssh/ssh_host_rsa_key"
  • -q:指定以静默模式生成密钥对,不输出额外信息
  • -N '':设置私钥的密码为空
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -q -N ''

ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -q -N ''

  • -t ecdsa:指定生成 ECDSA 类型的密钥对
  • -f /etc/ssh/ssh_host_ecdsa_key:指定保存 ECDSA 密钥的文件路径为 "/etc/ssh/ssh_host_ecdsa_key"
  • -q:指定以静默模式生成密钥对,不输出额外信息
  • -N '':设置私钥的密码为空
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -q -N ''

 

ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -q -N ''

  • -t ed25519:指定生成 Ed25519 类型的密钥对
  • -f /etc/ssh/ssh_host_ed25519_key:指定保存 Ed25519 密钥的文件路径为 "/etc/ssh/ssh_host_ed25519_key"
  • -q:指定以静默模式生成密钥对,不输出额外信息
  • -N '':设置私钥的密码为空

这些命令将生成三对不同类型的 SSH 密钥对,用于在 SSH 通信中进行身份验证和加密。这些密钥对分别是 RSA、ECDSA 和 Ed25519 类型的密钥对。生成的公钥和私钥将保存在指定的文件中,私钥的密码被设置为空。

ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -q -N ''

 二十八、容器的root密码

passwd

设置密码后,退出容器  exit

二十九、获取dockerID和docker名

dockerid=$(docker ps -a | awk '{print $1}' | sed 1d) && echo $dockerid

三十、生成docker镜像

输入命令登录回容器

docker run -it -m 300M --memory-swap 300M  centos /bin/bash

查看所有容器

docker ps -a

找到设置好的snowmpy

输入生成docker镜像的命令 将中间改为ID

docker commit -m 'centos-ssh' 5b0eca08b488  mpy/centos-sshd

docker image list

查看结果

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

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

相关文章

水族店通过小程序商城经营的作用是什么

对水族店商家而言,市场高需求下,自然可售卖的产品非常广,除了鱼苗外,还有配套的鱼缸、鱼料、驱虫剂、氧气套具等。这些产品中部分是常需的,同时也有较强的同城属性。 在实际经营中,水族店商家经营难题也不…

SAP-MM-错误代码M7018 输入物料转移过账

业务场景: 在做库存转移,移动类型309时,报错:错误代码M7018 输入物料转移过账 这个报错是因为这种平移的物料,没有输入目的物料而产生。 也就是说你的旧物料是A,那么转移到新物料代码是哪个呢?…

邮件网关CAC2.0防御并行:提升高校师生邮箱账号的全面安全

客户背景 解民生之多艰,育天下之英才。中国农业大学(以下简称“中国农大”)作为教育部直属高校,先后进入国家“211工程”和“985工程”重点建设的高水平研究型大学,首批入选一流大学建设高校(A类&#xff…

12-网络篇-通信过程中的网络表

1.ARP表 主机1和主机2在同一个局域网内,通过之前的章节,我们知道在通信过程中,除了要知道对方的IP地址以外,我们还要知道对方的硬件地址,也就是Mac地址。而ARP协议就是为了解决此种问题。 ARP协议的用途是为了从网络层…

实验室超声波清洗机的作用

实验室超声波清洗机的作用是什么?顾名思义,其主要作用是清洗。超声波清洗机是实验室中必不可少的清洗装置,利用超声波在液体中的空化效应,产生空化气泡,由于正负压的作用下,空化气泡会在短时间内生成并爆破…

盘点2023年Q3的开源模型,这些值得推荐!

文章目录 盘点2023年Q3「值得推荐」的开源模型!基座模型LLaMA 2Baichuan 2ChatGLM2-6BQwen-14BInternLM-20BTigerbot-13BTigerbot-70B 多模态模型LLaVA 1.5VisualGLM-6BVisCPMNexT-GPTMiniGPT-5Qwen-VL Agent开发AgentsAgentVerseAutoAgentsMetaGPTAutoGenAutoGPTAg…

ACU-01B 3HNA024871-001/03 机器人将如何改变世界

ACU-01B 3HNA024871-001/03 机器人将如何改变世界 由于改进的传感器技术以及机器学习和人工智能方面更显著的进步,机器人将继续从单纯的机械机器转变为具有认知功能的合作者。这些进步,以及其他相关领域,正在享受一个上升的轨迹,…

vue使用carousel(走马灯)开发轮播图

在main.js 引入 import VueCarousel from vue-carousel;Vue.use(VueCarousel);在这里插入代码片 <template><div><div class"my-swipe"><carousel :per-page"1" :loop"true" :autoplay"true" :paginationEnable…

osg实现三次样条Cardinal曲线

目录 1. 前言 2. 预备知识 3. Qt实现的二维Cardinal曲线 4. 用osg实现三维Cardinal曲线 4.1. 工具/ 原料 4.2. 代码实现 1. 前言 在设计矢量图案的时候&#xff0c;我们常常需要用到曲线来表达物体造型&#xff0c;单纯用鼠标轨迹绘制显然是不足的。于是我们希望能够实现这…

金融信息化研究所与YashanDB等单位启动金融多主数据库应用行动计划

10月13日&#xff0c;2023金融业 数据库技术大会在京成功召开。会上&#xff0c;金融信息化研究所与崖山数据库YashanDB、阿里巴巴、奥星贝斯、达梦、南大通用、华为、天翼云、万里数据库、优炫数据库共同启动金融多主数据库应用行动计划&#xff0c;并成立金融多主数据库应用…

SOAR安全事件编排自动化响应-安全运营实战

SOAR是最近几年安全市场上最火热的词汇之一。各个安全产商都先后推出了相应的产品&#xff0c;但大部分都用得不是很理想。SOAR不同与传统的安全设备&#xff0c;买来后实施部署就完事&#xff0c;SOAR是一个安全运营系统&#xff0c;是实现安全运营过程中人、工具、流程的有效…

Apache Doris (四十二): RECOVER数据删除恢复

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

Uniapp 电子签名 包含 返回 撤回 颜色 线条等功能

请观看 使用教程 第一步 引入图标 在项目中的App.vue内添加下面代码 <style>/*引入图标路径 */import uni_modules/TC-qianming/libs/css/iconfont.css; </style> 第二步 引入组件即可 <template><view><TC-qianming></TC-qianming>&l…

开发者基于 chroot 打造的工具macOS Containers

导读macOS Containers 是一群开发者基于 chroot 打造的工具&#xff0c;能让你在 macOS 用 Docker 运行 macOS 镜像。 macOS Containers 官网写道&#xff1a; 容器从根本上改变了现代软件的开发和部署方式。包括 FreeBSD、Solaris、Linux 甚至 Windows 在内的多种操作系统都支…

SpringCloud-Seata

一、介绍 &#xff08;1&#xff09;实现分布式事务 &#xff08;2&#xff09;解决Spring只支持单机事务 &#xff08;3&#xff09;事务ID TC&#xff08;事务协调者&#xff09; TM&#xff08;事务管理者&#xff09; RM&#xff08;资源管理者&#xff09;

什么是SSL证书

SSL 证书&#xff08;也称为公钥证书&#xff09;是安装在 Web 服务器上的加密文件&#xff0c;可帮助建立安全、加密的在线通信&#xff0c;SSL 证书有两个主要用途&#xff1a; 提供加密&#xff1a;当访问者的浏览器通过SSL连接到您的网站时&#xff0c;信息交换是加密的&a…

【计算机网络】https协议

文章目录 1 :peach:基本概念:peach:1.1 :apple:什么是HTTPS&#xff1f;:apple:1.2 :apple:什么是加密&#xff1f;:apple:1.3 :apple:常见的加密方式:apple:1.3.1 :lemon:对称加密:lemon:1.3.2 :lemon:⾮对称加密:lemon: 1.4 :lemon:数据指纹:lemon: 2 :peach:HTTPS的⼯作过程…

服务器数据恢复-RAID5中磁盘被踢导致阵列崩溃的服务器数据恢复案例

服务器数据恢复环境&#xff1a; 一台3U的某品牌机架式服务器&#xff0c;Windows server操作系统&#xff0c;100块SAS硬盘组建RAID5阵列。 服务器故障&#xff1a; 服务器有一块硬盘盘的指示灯亮黄灯&#xff0c;这块盘被raid卡踢出后&#xff0c;raid阵列崩溃。 服务器数据…

如何处理前端响应式图片?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Leetcode——二维数组及滚动数组练习

118. 杨辉三角 class Solution { public:vector<vector<int>> generate(int numRows) {// 定义二维数组vector<vector<int>> num(numRows);for(int i0;i<numRows;i){//这里是给内层vector定义大小。默认是0,这里n是个数&#xff0c;不是值num[i].re…