docker 重要且常用命令大全

本文将总结一些常见的重要的docker命令,以作备忘。后续如果有新的比较常用重要的也会更新进来。欢迎补充。

docker服务管理

首先我们要解释一下:systemctldocker命令的不同

systemctl:是许多 Linux 发行版中默认的初始化系统和服务管理器。使用 systemctl 可以管理系统服务,包括启动、停止、重启和查看服务状态,通常需要超级用户权限。可使用他来管理 Docker 服务。

docker:用于管理容器的生命周期,包括创建、启动、停止和删除容器。通常在 Docker 服务已启动的情况下使用

启动 Docker 服务

sudo systemctl start docker

停止 Docker 服务

sudo systemctl stop docker

重启 Docker 服务

sudo systemctl restart docker

查看 Docker 服务状态

sudo systemctl status docker

启用 Docker 服务开机自启

sudo systemctl enable docker

禁用 Docker 服务开机自启

sudo systemctl disable docker

容器管理

运行容器

bash docker run -it --name [container-name] [image-name]:[tag] docker run -d --name [container-name] [image-name]:[tag]

运行时有 许多参数,熟记这些参数很重要!

运行时的一些参数

  • -it

    docker run -it [image-name]

    结合 -i-t 参数,-i表示让容器保持标准输入(stdin)打开,-t将分配一个伪终端。说白了就是 :运行并进入容器

  • -d

    docker run -d [image-name]

    -d代表 以后台模式运行容器。

  • --name

    docker run --name [container-name] [image-name]

    为容器指定一个名称。

  • -p

    docker run -p [host-port]:[container-port] [image-name]

    将主机端口映射到容器端口。可以多次使用 -p 映射多个端口。

  • --expose

    docker run --expose [container-port] [image-name] 暴露容器的指定端口,但不会映射到主机端口。主要用于容器间通信。(当使用Dockerfile时 在Dockerfile写就行了)

  • -v

    docker run -v [host-dir]:[container-dir] [image-name]

    将主机目录挂载到容器目录。可以多次使用 -v 挂载多个目录。注意:挂载很重要,如果不挂载当容器删除后再次运行的话, 数据将会跟随容器被抹掉。这是大忌,尤其是一些需要留存的数据,比如redis mysql nacos rocketMQ等等。如果你使用docker来运行,那么切记一定要挂载。

  • --mount

    docker run --mount type=bind,source=[host-dir],target=[container-dir] [image-name]

    绑定挂载,功能类似 -v,但还是有区别,如下介绍:

    • v 和 --mount的区别
      • -v: 出现比较早的挂载选项,功能强大且灵活,语法简洁,可支持匿名卷,即:可以不指定主机路径,只指定容器内路径,Docker 会在主机上创建一个匿名卷。 也可以支持命名卷就是使用者指定。-v 这种方式兼容性好,适用于 Docker 的各个版本。 > 支持匿名卷:可以不指定主机路径,只指定容器内路径,Docker 会在主机上创建一个匿名卷 docker run -v /container-dir [image-name] > 支持命名卷:可以使用已有的命名卷或创建新的命名卷 docker run -v my-volume:/container-dir [image-name]
      • --mount: 是较新的挂载选项,语法更具可读性且更明确,他使用键值对形式,明确指出挂载类型、源路径和目标路径。支持多种挂载类型如: > 绑定挂载(bind mount) :将主机的特定路径挂载到容器内。 docker run --mount type=bind,source=/host-dir,target=/container-dir [image-name] > 卷挂载(volume) :使用 Docker 卷,支持创建、管理和使用命名卷。 docker run --mount type=volume,source=my-volume,target=/container-dir [image-name] > 临时文件系统挂载(tmpfs) :在内存中创建一个临时文件系统。 docker run --mount type=tmpfs,target=/container-dir [image-name]
  • -e

    docker run -e [env-var]=[value] [image-name] 为容器设置环境变量。可以多次使用 -e 设置多个环境变量。

  • --env-file

    docker run --env-file [file-path] [image-name]

    从文件中读取环境变量并设置到容器中。

  • --network

    ```

    docker run --network [network-name] [image-name] ```

    将容器连接到指定的网络。

  • --ip

    docker run --network [network-name] --ip [container-ip] [image-name] 为容器分配指定的 IP 地址。

  • -m

    docker run -m [memory-limit] [image-name] 限制容器使用的内存量,例如 -m 512m-m 1g

  • --cpus

    ```

    docker run --cpus=[number] [image-name] ```

    限制容器可以使用的 CPU 数量。

  • --cpu-shares

    ```

    docker run --cpu-shares [weight] [image-name] ``` 设置容器的 CPU 共享权重,默认值为 1024。

  • -u

    docker run -u [user] [image-name]

    指定以哪个用户运行容器。

  • --privileged

    ```

    docker run --privileged [image-name] ```

    以特权模式运行容器,给予容器更高的权限。但是权限越大,风险也就越大, 使用时需要慎重!

  • --rm

    ```

    docker run --rm [image-name] ```

    容器停止后自动删除容器。

  • --restart

    ```

    docker run --restart [policy] [image-name] ```

    容器的重启策略,可选值包括

    • no:(不重启容器,默认设置)
    • on-failure:(仅当容器以非零退出状态(即出现错误)退出时重启容器可以在后边跟:号并指定最多重启几次)
    • always:(无论退出状态如何,总是重启容器。如果手动停止容器,则不会重启)
    • unless-stopped:(与 always 类似,但如果容器在 Docker 停止后没有手动重启,则不会在 Docker 启动后重新启动)。
  • --hostname

    ```

    docker run --hostname [hostname] [image-name] ```

    设置容器的主机名其实就是设置到了容器的 /etc/hosts 文件中去了。

  • --log-driver

    ```

    docker run --log-driver [driver] [image-name] ```

    指定容器的日志驱动,例如 json-filesyslog

  • --entrypoint

    ```

    docker run --entrypoint [entrypoint] [image-name] ```

    覆盖 Dockerfile 中指定的默认入口点。假设Dockerfile中设置这个容器的入口点是 /bin/bash。你可以使用 --entrypoint 参数将入口点覆盖为 /bin/sh

  • --link

    docker run --link [container-name-or-id]:[alias] [image-name]

    链接到另一个容器,可以通过别名访问。

列出容器

bash docker ps -a # 列出所有 docker ps # 列出运行中的容器 image.png

停止容器

```

docker stop [container-id/container-name] ```

启动容器

```

docker start [container-id/container-name] ```

重启容器

```

docker restart [container-id/container-name] ```

重命名一个容器

docker rename [old-name] [new-name]

更新一个或多个容器的配置

docker update [container-id]

删除容器

一般删除前要先stop容器 ```

docker rm [container-id/container-name] ```

杀死容器

docker kill [container-id/container-name]

暂停容器

docker pause [container-id/container-name]

恢复容器

docker unpause [container-id/container-name]

停止并删除所有容器

docker rm -f $(sudo docker ps -a -q)

查看容器日志

docker logs [container-id/container-name] docker logs -f [container-id/container-name] # 实时显示最新日志 当然你也可以加其他参数在需要的时候 image.png 当然如果你的容器的日志挂载到了宿主机, 那么直接去挂载目录查看对应日志文件就行了。

查看容器详细信息

docker inspect [container-id/container-name] 此命令比较重要,可以一览容器的详情(实际输出我就不粘了要不太占地),下边解释下输出都有哪些东西:

  • Id
    • 说明:容器或镜像的唯一标识符。
    • 示例"Id": "e90e34656806"
  • Name
    • 说明:容器的名称。
    • 示例"Name": "/my-container"
  • State
    • 说明:容器的当前状态。
    • 子字段
      • Status:容器状态(如 runningexited)。
      • Running:容器是否在运行。
      • Paused:容器是否暂停。
      • Restarting:容器是否正在重启。
      • OOMKilled:容器是否因内存不足而被杀死。
      • Dead:容器是否已死。
      • Pid:容器的进程 ID。
      • ExitCode:容器的退出代码。
      • Error:容器的错误信息。
  • Image
    • 说明:容器所使用的镜像的 ID。
    • 示例:`"Image": "sha256:3b534f..."
  • Config
    • 说明:容器的配置。
    • 子字段
      • Hostname:容器的主机名。
      • Domainname:容器的域名。
      • User:容器内运行的用户。
      • Env:环境变量列表。
      • Cmd:容器启动时运行的命令。
      • Volumes:容器使用的卷。
      • WorkingDir:容器的工作目录。
      • Entrypoint:容器的入口点。
      • ExposedPorts:容器暴露的端口。
  • NetworkSettings
    • 说明:容器的网络设置。(在排查网络问题时你很有用!)
    • 子字段
      • IPAddress:容器的 IP 地址。
      • MacAddress:容器的 MAC 地址。
      • Ports:容器的端口映射信息。
  • Mounts
    • 说明:容器的挂载信息。
    • 子字段
      • Source:主机上的源路径。
      • Destination:容器内的目标路径。
      • Mode:挂载模式。
      • RW:挂载是否为读写模式。
      • Propagation:挂载传播设置。
  • HostConfig
    • 说明:容器的主机配置。
    • 子字段
      • Binds:绑定挂载列表。
      • NetworkMode:网络模式。
      • PortBindings:端口绑定信息。
      • RestartPolicy:重启策略。
      • LogConfig:日志配置。
      • Cgroup:cgroup 设置。

查看容器资源使用情况

这个比较常用 docker stats [container-id/container-name]

比如我执行:docker stats nacos 看下nacos容器的情况: image.png

进入容器

``` docker exec -it [container-id/container-name] /bin/bash

当然你也可以指定其他shell类型 如:

docker exec -it [container-id/container-name] /bin/sh ```

导出容器

docker export [container-id/container-name] > [file-name].tar

导入容器

docker import [file-name].tar

  • 导出和导入容器主要作用:
    • 备份容器:保存容器当前状态,以便在需要时恢复。
    • 迁移容器:将容器从一个主机转移到另一个主机上。
    • 共享容器:将容器发送给其他用户或开发团队,以便他们可以在自己的环境中使用

显示容器中运行的进程

docker top [container-id] image.png

镜像管理

搜索镜像从镜像仓库

docker search [image-name] image.png

拉取镜像

bash docker pull [image-name]:[tag]

列出镜像

docker images image.png

删除镜像

docker rmi [image-name]:[tag]

删除未使用到的image镜像

这个一般要慎重哦,否则还得重新拉或者重新build镜像 docker image prune -a

删除所有镜像

更是要慎重 ,凡是提到 删除所有 一定要慎重。 docker rmi $(docker images -q)

构建镜像

docker build -t [image-name]:[tag] [path-to-dockerfile]

保存镜像

docker save -o [file-name].tar [image-name]:[tag] - 主要作用: - 备份镜像:将镜像保存为文件,以便在需要时恢复。 - 迁移镜像:将镜像从一个 Docker 主机转移到另一个主机。 - 共享镜像:将镜像保存为文件,并与其他用户或团队共享

加载镜像

docker load -i [file-name].tar - 主要作用: - 从备份中恢复镜像:当你有一个通过 docker save 命令导出的镜像备份时,可以使用 docker load 命令将其恢复到 Docker 中。 - 迁移镜像:当你需要在不同的主机之间传输镜像时,可以先使用 docker save 命令导出镜像,然后在目标主机上使用 docker load 命令加载镜像。 - 共享镜像:你可以将镜像存档文件共享给其他用户,其他用户可以使用 docker load 命令加载这些镜像

标记镜像

即:将本地镜像标记为远程仓库中的镜像格式

docker tag my-image myusername/my-image:latest

推送镜像

docker push myusername/my-image:latest 推送到远程仓库,供其他需要使用的人 pull。

显示镜像构建历史

docker history [image-name] image.png

网络管理

列出网络

docker network ls image.png

创建自定义网络

docker network create [network-name]

删除网络

docker network rm [network-name]

删除未使用的网络

docker network prune

指定容器使用哪个网络

docker network connect [network-name] [container-name]

断开容器与网络的连接

docker network disconnect [network-name] [container-name]

数据卷管理

列出数据卷

docker volume ls image.png

创建数据卷

```

docker volume create [volume-name] ```

删除数据卷

```

docker volume rm [volume-name] ```

查看数据卷详细信息

docker volume inspect [volume-name]

随便找一个数据卷,看看都有哪些信息: image.png - CreatedAt:卷的创建时间。 - Driver:此卷使用本地驱动创建。 - Labels:代表是匿名卷,没有设置特定标签。 - Mountpoint:卷的数据存储在主机上的 /var/lib/docker/volumes/1cfbeeb7e8decf5b9758cddea04e882c71a63e2684056096153d26b5638693b5/_data 目录中。 - Name:卷的唯一标识符是 1cfbeeb7e8decf5b9758cddea04e882c71a63e2684056096153d26b5638693b5。 - Options:卷没有设置特殊选项。 - Scope:卷的作用域是本地的,仅在创建它的 Docker 主机上可见。

查看容器的数据卷信息

你也可以查看某个容器中的卷信息,使用这个: docker inspect container-id | grep -A 30 '"Mounts"' 如下是nacos容器的挂载信息: image.png

Docker Compose 常用命令

启动服务

docker-compose up docker-compose up -d # 后台形式 启动 image.png

停止服务

docker-compose down

删除容器和网络(但是不会删除卷和镜像)

docker-compose rm

重新启动服务

docker-compose restart image.png

构建或从头(不使用缓存方式)构建镜像

```

根据 docker-compose.yml 文件中定义的构建配置构建服务镜像。它会读取 docker-compose.yml 文件

中的 build 指令,执行 Dockerfile 中定义的构建步骤,生成新的镜像 docker-compose build

也是构建镜像 但是不使用缓存

docker-compose build --no-cache ```

注意这个docker-compose build --no-cache命令其实在一些场合也比较有用这里解释下:

  • 此命令用于构建 Docker Compose 定义的服务镜像,并在构建过程中不使用任何缓存。这意味着每个步骤都会从头开始构建,而不会使用之前构建的中间层缓存。
  • 主要作用:
    • 强制全新构建:忽略之前构建过程中产生的所有缓存层,从头开始重新构建镜像的每个步骤。
    • 确保最新代码:确保使用最新的代码和依赖项,而不会受到之前缓存的影响。
    • 调试和测试:在调试和测试环境中,使用此命令可以确保每次构建都从头开始,不会受缓存的影响

拉取服务所需的镜像

docker-compose pull 注意:对于包含 build 指令的服务,通常不需要手动执行 docker-compose pull因为build命令会自动根据docker-compose 的build模块构建 或者如果你没指定根据Dockerfile build那么将会自动pull

如下示例: image.png

列出服务

docker ps 一样的效果 docker-compose ps image.png

查看服务日志

docker logs [container-id/container-name] 一样的效果 docker-compose logs docker-compose logs -f

查看服务的详细信息

docker-compose config

注意:此命令比较实用,解释下: docker-compose config 命令用于验证并查看 Docker Compose 文件的有效配置。它会输出合并后的配置,其中包含一些从环境变量、默认值等获取的附加信息。运行此命令后,输出通常会比原始的 docker-compose.yml 文件多一些自动生成或默认的字段。

其他常见的自动生成信息如下:

  1. build
    • context:构建上下文目录,通常是包含 Dockerfile 的目录。
    • dockerfile:使用的 Dockerfile 文件名,如果未指定,则默认为 Dockerfile
    • 实际情况如下: image.png
  2. ports
    • mode:端口映射模式,ingress 表示流量进入容器的方式。
    • target:容器内部的目标端口。
    • published:发布到主机的端口。
    • protocol:使用的协议,通常是 tcp
    • 实际情况如下:image.png
  3. networks
    • default:默认网络配置。自动添加的网络配置信息,表示容器将连接到默认网络。
    • name:默认网络的名称。docker-compose 会自动为项目创建一个默认网络。
    • 实际情况如下:image.png
  4. depends_on
    • 如果服务之间存在依赖关系,depends_on 字段会列出依赖的服务。该字段会显示服务启动的顺序。
    • 实际情况:image.png
  5. volumes

    • 如果服务使用了卷挂载,volumes 字段会显示卷的具体挂载点。
    • 实际情况:image.png
  6. restart

    • 如果未在 docker-compose.yml 文件中指定 restart 策略,docker-compose 可能会显示默认的 restart 策略
    • 这个我一般都指定了 就是 always,不指定的话默认是no也即不重启。

停止并删除服务容器、网络和卷

慎用! docker-compose down --volumes --remove-orphans

停止服务但保留网络和卷

docker-compose stop

docker系统的一些信息

查看docker系统能有效让我们了解docker整体的情况胸有成竹。下边列几个常用的:

列出系统中的docker 资源

docker system ls image.png

解释下: - df - 命令docker system df - 说明:显示 Docker 磁盘使用情况,包含镜像、容器、卷和构建缓存的大小和可回收空间。 - events - 命令docker system events - 说明:获取 Docker 守护进程的实时事件流,如容器启动、停止等。 - info - 命令docker system info - 说明:显示系统范围的 Docker 信息,包括版本、存储驱动、网络插件等详细信息。 - prune - 命令docker system prune - 说明:删除未使用的数据,包括停止的容器、未使用的网络、悬空镜像和未使用的构建缓存,以释放磁盘空间。

下边我们就来用用这些

查看docker所占磁盘信息

image.png - Images - TOTAL:共有 25 个镜像。 - ACTIVE:其中 17 个镜像正在使用中。 - SIZE:所有镜像总共占用 4.159GB 的磁盘空间。 - RECLAIMABLE:1.412GB(33%)的空间可以通过清理未使用的镜像回收。 - Containers - TOTAL:共有 18 个容器。 - ACTIVE:其中 18 个容器正在运行中。 - SIZE:所有容器总共占用 10.32MB 的磁盘空间。 - RECLAIMABLE:没有可回收的空间(0B),因为所有容器都在运行。 - Local Volumes - TOTAL:共有 521 个本地卷。 - ACTIVE:其中 7 个卷正在使用中。 - SIZE:所有卷总共占用 9.129MB 的磁盘空间。 - RECLAIMABLE:8.919MB(97%)的空间可以通过清理未使用的卷回收。 - Build Cache - TOTAL:共有 134 个构建缓存项。 - ACTIVE:没有活动的构建缓存项(0)。 - SIZE:构建缓存总共占用 8.082GB 的磁盘空间。 - RECLAIMABLE:8.082GB 的空间可以通过清理构建缓存回收

查看 Docker 守护进程的实时事件流,如容器启动、停止

docker system events 在我运行此命令之前,我执行了docker-compose restart 命令(注意如果restart执行完毕 docker system events是没有输出的就得蹭他正在启动或者正在停止等正在进行时),运行此命令才会有输出,如下: image.png

查看docker系统详情

docker info # 等价与 docker system info 此命令不错,可以一览docker的信息,输出如下: ``` Client: Docker Engine - Community Version: 26.1.4 Context: default Debug Mode: false Plugins: buildx: Docker Buildx (Docker Inc.) Version: v0.14.1 Path: /usr/libexec/docker/cli-plugins/docker-buildx compose: Docker Compose (Docker Inc.) Version: v2.27.1 Path: /usr/libexec/docker/cli-plugins/docker-compose

Server: Containers: 18 Running: 18 Paused: 0 Stopped: 0 Images: 25 Server Version: 26.1.4 Storage Driver: overlay2 Backing Filesystem: xfs Supports dtype: true Using metacopy: false Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Cgroup Version: 1 Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 runc Default Runtime: runc Init Binary: docker-init containerd version: d2d58213f83a351ca8f528a95fbd145f5654e957 runc version: v1.1.12-0-g51d5e94 init version: de40ad0 Security Options: seccomp Profile: builtin Kernel Version: 3.10.0-1160.102.1.el7.x8664 Operating System: CentOS Linux 7 (Core) OSType: linux Architecture: x8664 CPUs: 4 Total Memory: 7.637GiB Name: localhost.localdomain ID: 6b8a6c0d-813a-4d11-90a2-f402d7829ada Docker Root Dir: /var/lib/docker Debug Mode: false Experimental: false Insecure Registries: 127.0.0.0/8 Registry Mirrors: https://iub4ix1a.mirror.aliyuncs.com/ Live Restore Enabled: false `` 解释: 1. **Containers**:容器数量统计: - **Running**:正在运行的容器数量,如上输出:18。 - **Paused**:暂停的容器数量,如上输出:0。 - **Stopped**:停止的容器数量,如上输出:0。 1. **Images**:镜像数量,如上输出:25。 1. **Server Version**:服务端版本号,如上输出:26.1.4。 1. **Storage Driver**:存储驱动类型,如上输出:overlay2。 - **Backing Filesystem**:底层文件系统,如上输出:xfs。 - **Supports d_type**:是否支持dtype,如上输出:true。 - **Using metacopy**:是否使用 metacopy, 如上输出:false。 - **Native Overlay Diff**:是否启用原生 overlay 差异, 如上输出:true。 - **userxattr**:是否启用用户扩展属性, 如上输出:false。 1. **Logging Driver**:日志驱动类型,如上输出:json-file。 1. **Cgroup Driver**:Cgroup 驱动类型,如上输出:cgroupfs。 1. **Cgroup Version**:Cgroup 版本,如上输出:1。 1. **Plugins**:服务器插件信息: - **Volume**:卷插件,如上输出:local。 - **Network**:网络插件,如上输出:bridgehost等。 - **Log**:日志插件,如上输出:json-filesyslog等。 1. **Swarm**:Swarm 模式状态,如上输出:inactive。 1. **Runtimes**:支持的运行时,如上输出:io.containerd.runc.v2runc。 1. **Default Runtime**:默认运行时,如上输出:runc。 1. **Init Binary**:初始化二进制文件,如上输出:docker-init。 1. **containerd version**:containerd 版本。 1. **runc version**:runc 版本。 1. **init version**:init 版本。 1. **Security Options**:安全选项,如上输出:seccomp和其配置文件。 1. **Kernel Version**:内核版本,如上输出:3.10.0-1160.102.1.el7.x8664。 1. **Operating System**:操作系统,如上输出:CentOS Linux 7 (Core)。 1. **OSType**:操作系统类型,如上输出:linux。 1. **Architecture**:CPU 架构,如上输出:x8664。 1. **CPUs**:CPU 核心数,如上输出:4。 1. **Total Memory**:总内存,如上输出:7.637GiB。 1. **Name**:主机名,如上输出:localhost.localdomain。 1. **ID**:主机唯一标识符。 1. **Docker Root Dir**:Docker 根目录,如上输出:/var/lib/docker。 1. **Debug Mode**:调试模式状态,如上输出:false。 1. **Experimental**:实验性功能状态,如上输出:false。 1. **Insecure Registries**:不安全的注册表地址,如上输出:127.0.0.0/8。 1. **Registry Mirrors**:镜像地址,如上输出:https://iub4ix1a.mirror.aliyuncs.com/。 1. **Live Restore Enabled**:是否启用 Live Restore,如上输出:false`。

清理docker系统中未使用到的数据

这命令其实也挺常用的,有些不用的数据该清理就清理 docker system prune 这个命令会清理的内容包括: - all stopped containers:删除所有停止的容器。 - all networks not used by at least one container:删除所有未被任何容器使用的网络。 - all dangling images:删除所有悬空镜像(没有标签的镜像)。 - unused build cache:删除所有未使用的构建缓存 image.png 好家伙我执行了下发现我去,竟然这些无用数据占了 8.621 GB ! 清理完,感觉一身轻哈哈。 image.png

显示容器的资源使用情况(cpu 内存等等 和linxu 的 top命令类似)

docker stats image.png


ok,暂时到这里,后续遇到了比较常见的、有用的docker命令,随时补充进来!

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

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

相关文章

提高LabVIEW软件通用性的方法

提高LabVIEW软件通用性的方法 在使用LabVIEW开发软件时,提高软件的通用性非常重要。通用性意味着软件可以在不同的应用场景中使用,具备高度的适应性和灵活性,从而提高软件的价值和用户满意度。以下从多个角度详细探讨如何提高LabVIEW软件的通…

媒体查询:根据设备特征动态调整样式和布局

不知道你会不会有一个疑问,同一个网站,用手机看和用电脑看在首选项和排版会发生一些变化,但我们使用起来仍然非常顺手,这就是响应式设计。响应式设计原理是指网页可以根据不同使用设备的屏幕尺寸,做出相应的调整和变化…

Linux走进网络

走进网络之网络解析 目录 走进网络之网络解析 一、认识计算机 1.计算机的发展 2.传输介质 3.客户端与服务器端的概念 交换机 路由器 二、计算机通信与协议 1. 协议的标准化 2. 数据包的传输过程 OSI 协议 ARP协议 3. TCP/IP:四层模型 4. TCP三次握手和四次挥手…

OceanBase 配置项系统变量实现及应用详解(1):配置项的定义及使用方法

《OceanBase 配置项&系统变量实现及应用详解》专题导读 在使用OceanBase的过程中,看到大家经常会遇到“参数”、“配置项”、“系统变量”等概念,却不太清楚它们是不是同一个东西,以及应该如何使用。一些对数据库开发感兴趣的朋友&#…

LabVIEW开发商业软件的多角度分析与注意事项

在使用LabVIEW开发商业软件时,有许多方面需要考虑和注意,包括项目管理、架构设计、性能优化、用户体验、安全性、维护与支持等。以下是从多个角度详细分析在LabVIEW中开发商业软件需要注意的事项。 项目管理 需求分析:确保深入了解客户需求&a…

虚值期权和实值期权的区别?便宜的虚值期权是最好的选择吗?

今天带你了解虚值期权和实值期权的区别?便宜的虚值期权是最好的选择吗?买实值期权和买虚值期权都有各自的优势和风险。实值期权是指行权价格低于标的资产的市场价格,而虚值期权则是指行权价格高于标的资产的市场价格。 实值期权和虚值期权的…

SAPUI5基础知识11 - 组件配置(Component)

1. 背景 组件(Component)是SAPUI5应用程序中独立且可重用的部件。 SAPUI5提供以下两类组件: faceless组件 (class: sap.ui.core.Component): 无界面组件即没有用户界面相关的元素,用于不需要UI元素编码的场景; UI组件 (class: …

Greenplum(二)【SQL】

前言 Greenplum 的剩余部分主要其实主要就是 DDL 和之前学的 MySQL 不大一样,毕竟 Greenplum 是基于 PostgreSQL 数据库的,不过那些 DML 和 MySQL、Hive 基本上大差不差,所以就没有必要浪费时间了。 1、DDL 1.1、库操作 1.1.1、创建数据库…

p11函数和递归

递归与迭代 求n的阶乘。&#xff08;不考虑溢出&#xff09; int Fac1(int n) {int i0;int ret1;for(i1;i<n;i){ret*i;}return ret; } int main(){//求n的阶乘int n0;int ret0;scanf("%d",&n);retFac1(n);printf("%d\n",ret);return 0; } int Fac…

Qt 进程间通信(一)——QSharedMemory共享内存

QSharedMemory共享内存 序言环境理论—逻辑理解实战—代码读取示例写入示例 序言 讲讲Qt的共享内存吧&#xff0c;巩固下 环境 msvc2022 Qt5.15 参考文档&#xff1a;https://doc.qt.io/qt-5/qsharedmemory.html 理论—逻辑理解 看下面前&#xff0c;你需要将共享内存看成…

【设计模式】观察者模式(定义 | 特点 | Demo入门讲解)

文章目录 定义结构Demo | 代码Subject目标类Observer抽象观察者观察者1 | CPU监听器观察者2 | 内存监听器客户端 | Client 优点适合场景 定义 所谓观察者模式就是你是被观察的那个对象&#xff0c;你爸爸妈妈就是观察者&#xff0c;一天24h盯着你&#xff0c;一旦你不听话&…

NFT 技术在艺术领域的应用

NFT (Non-Fungible Token) 技术在艺术领域有着广泛的应用&#xff0c;为艺术家和艺术品收藏家带来了新的机遇和挑战。以下是 NFT 技术在艺术领域的一些主要应用。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 数字艺术品确权和交…

spring mvc学习

第四章 Spring MVC 第一节 Spring MVC 简介 1. Spring MVC SpringMVC是一个Java 开源框架&#xff0c; 是Spring Framework生态中的一个独立模块&#xff0c;它基于 Spring 实现了Web MVC&#xff08;数据、业务与展现&#xff09;设计模式的请求驱动类型的轻量级Web框架&am…

C#-反射

一、概念 反射&#xff08;Reflection&#xff09;在C#中是一种非常重要的特性&#xff0c;它为开发者提供了在运行时获取和操作关于类型、成员、属性、方法等的详细信息的能力。通过反射&#xff0c;开发者可以在程序运行期间动态地创建对象、调用方法、设置属性值以及进行其…

【免费数字孪生平台】零代码制作智慧农业蔬菜大棚可视化

一&#xff0e;智慧农业的价值 智慧农业&#xff0c;作为农业中的智慧经济形态&#xff0c;是现代科学技术与农业种植深度融合的产物。它通过将物联网、云计算、大数据、人工智能等现代信息技术集成应用于农业生产中&#xff0c;实现了农业生产的无人化、自动化和智能化管理。…

考CISP,不要踩坑的几点建议

当你立志要在信息安全领域闯出一片天&#xff0c;可能多少都会听行内人说&#xff0c;搞本CISP。但这个认证究竟该怎么拿&#xff1f;需要培训吗&#xff1f;培训又是怎么一回事&#xff1f;价格如何&#xff1f;还有&#xff0c;什么时候开始准备最好&#xff1f;这些问题可能…

为什么看起来很低智商的广告比高大上的广告转化效果更好?

大家在刷抖音的时候&#xff0c;是不是总能刷到一些看起来很低质、很尴尬的广告&#xff0c;或者说是一些毫无吸引力的小说剧情&#xff1f;这些广告和内容让人忍不住怀疑&#xff0c;为什么这么低级的广告竟然会有人点击&#xff1f;其实&#xff0c;这背后有着深刻的营销策略…

BJT的结构(晶体管电压/电流+β+晶体管特性曲线/截止与饱和+直流负载线(Q点))+单片机数码管基础

2024-7-8&#xff0c;星期一&#xff0c;20:23&#xff0c;天气&#xff1a;晴&#xff0c;心情&#xff1a;晴。今天没有什么特殊的事情发生&#xff0c;周末休息了两天&#xff0c;周一回来继续学习啦&#xff0c;加油加油&#xff01;&#xff01;&#xff01; 今日完成模电…

HAProxy安装配置详解

HAProxy是一个使用C语言编写的自由及开放源代码软件&#xff0c;其提供高可用性、负载均衡&#xff0c;以及基于TCP和HTTP的应用程序代理。   HAProxy特别适用于那些负载特大的web站点&#xff0c;这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上&#xf…

珍藏多年的计算机内核结构大全笔记,掌握计算机工作原理真不难

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…