【docker基础用法】

linux docker容器技术基础入门 基础用法 阅读详情

docker基础用法

什么是docker

docker中的容器:
lxc –> libcontainer –> runC

OCI&OCF

OCI

开发容器倡议
由Linux基金会主导于2015年6月创立
旨在围绕容器格式和运行时制定一个开放的工业化标准
包含两种规格
运行时规范
镜像规范

OCF

断续器

开放容器格式
runC 是一个 CLI 工具,用于根据 OCI 规范生成和运行容器
容器作为 runC 的子进程启动,可以嵌入到各种其他系统中,而无需运行守护程序
runC 建立在 libcontainer 之上,同样的容器技术为数百万个 Docker 引擎安装提供支持
docker提供了一个专门容纳容器镜像的点:https://hub.docker.com

docker架构

请添加图片描述

docker镜像与镜像仓库

镜像是静态的,而容器是动态的,容器有其生命周期,镜像与容器的关系类似于程序与进程的关系。镜像类似于文件系统中的程序
文件,而容器则类似于将一个程序运行起来的状态,也即进程。所以容器是可以删除的,容器被删除后其镜像是不会被删除的

docker对象

使用 Docker 时,您正在创建和使用映像、容器、网络、卷、插件和其他对象。
图像
映像是一个只读模板,其中包含有关创建 docker 容器的说明。
通常,一个映像基于另一个映像,并具有一些额外的自定义。
您可以创建自己的映像,也可以仅使用其他人创建并在注册表中发布的映像。
器皿
控制器是映像的可运行实例。
您可以使用 Docker API 或 CLI 创建、运行、停止、移动或删除容器。
可以将容器连接到一个或多个网络,将存储附加到该容器,甚至可以基于其当前状态创建新映像

安装及使用docker

docker安装

docker加速

使用 Docker 时,您正在创建和使用映像、容器、网络、卷、插件和其他对象。
图像
映像是一个只读模板,其中包含有关创建 docker 容器的说明。
通常,一个映像基于另一个映像,并具有一些额外的自定义。
您可以创建自己的映像,也可以仅使用其他人创建并在注册表中发布的映像。
器皿
控制器是映像的可运行实例。
您可以使用 Docker API 或 CLI 创建、运行、停止、移动或删除容器。
可以将容器连接到一个或多个网络,将存储附加到该容器,甚至可以基于其当前状态创建新映像

[root@localhost ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":[https://1swrs873.mirror.aliyuncs.com]
}

docker常用操作

docker search在 Docker 中心搜索映像
docker pull从注册表中拉取镜像或存储库
docker images列出镜像
docker create创建新的连接器
docker start启动一个或多个已停止的容器
docker run在新容器中运行命令
docker attach连接到运行容器
docker ps列出容器
docker logs获取容器日志
docker restart重新启动容器
docker stop停止一个或多个正在运行的容器
docker kill杀死一个或多个正在运行的命令
docker rm删除容器
docker exec在运行的容器中运行命令
dcoker info显示系统范围的信息
docker inspect返回有关docker对象的低级信息

docker search 从docker查找镜像


[root@localhost ~]# docker search httpd
NAME                     DESCRIPTION                    STARS         OF
FICIAL AUTOMATED
httpd                    The Apache HTTP Server Project 4106          [OK]
centos/httpd-24-centos7  Platform for running Apache httpd 2.4 or bui… 44
centos/httpd                                                           35
[OK]
solsson/httpd-openidc    mod_auth_openidc on official httpd image, ve…  2
[OK]
clearlinux/httpd         httpd HyperText Transfer Protocol (HTTP) ser…  2
hypoport/httpd-cgi httpd-cgi 2
[OK]
nnasaki/httpd-ssi        SSI enabled Apache 2.4 on Alpine Linux         1
dockerpinata/httpd                                                      1
jonathanheilmann/httpd-alpine-rewrite httpd:alpine with enabled mod_rewrite 1
[OK]
inanimate/httpd-ssl      A play container with httpd, ssl enabled, an…  1
[OK]
centos/httpd-24-centos8                                                 1
dariko/httpd-rproxy-ldap Apache httpd reverse proxy with LDAP authent…  1
[OK]
manageiq/httpd           Container with httpd, built on CentOS for Ma…  1
[OK]
publici/httpd            httpd:latest                                   1
[OK]
httpdocker/kubia                                                        0
patrickha/httpd-err                                                     0
e2eteam/httpd                                                           0
amd64/httpd              The Apache HTTP Server Project                 0
manageiq/httpd_configmap_generator Httpd Configmap Generator            0
[OK]
manasip/httpd                                                           0
ppc64le/httpd The Apache HTTP Server Project                            0
httpdss/archerysec ArcherySec repository                                0
[OK]
paketobuildpacks/httpd                                               19022021/httpd-connection_test Thishttpdimagewill test the connectivity…0
sandeep1988/httpd-new httpd-new 

docker pull 从镜像仓库中拉取镜像

[root@localhost ~]# docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
1efc276f4ff9: Pull complete
aed046121ed8: Pull complete
4340e7be3d7f: Pull complete
80e368ef21fc: Pull complete
80cb79a80bbe: Pull complete
Digest: sha256:343452ec820a5d59eb3ab9aaa6201d193f91c3354f8c4f29705796d9353d4cc6
Status: Downloaded newer image for httpd:latest
docker.io/library/httpd:latest

docker images 列出本地镜像

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
httpd        latest    dabbfbe0c57b   7 months ago   144MB
[root@localhost ~]# 

docker create 创建一个新的容器但不启动它

[root@localhost ~]# docker create --name web -p 80:80 httpd
99c8609a1b95ea324540fc703c230b6cd3944b0253c6e227683308c6503c7997
[root@localhost ~]# 

docker ps 列出容器

[root@localhost ~]# docker ps -a 
CONTAINER ID   IMAGE     COMMAND              CREATED              STATUS    PORTS     NAMES
99c8609a1b95   httpd     "httpd-foreground"   About a minute ago   Created             web
[root@localhost ~]# 

docker start 启动容器 可使用名字 id

[root@localhost ~]# docker start web
web
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS          PORTS                               NAMES
99c8609a1b95   httpd     "httpd-foreground"   3 minutes ago   Up 34 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   web
[root@localhost ~]# 

docker stop 关闭容器 可以使用名字 id

[root@localhost ~]# docker stop 99c8609a1b95 
99c8609a1b95
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost ~]# 

docker restart 重启容器

[root@localhost ~]# docker restart web
web
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS         PORTS                               NAMES
99c8609a1b95   httpd     "httpd-foreground"   7 minutes ago   Up 7 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   web

docker kill 杀死运行中的容器 stop正常退出 kill强制关闭

[root@localhost ~]# docker kill web
web
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND              CREATED         STATUS                        PORTS     NAMES
99c8609a1b95   httpd     "httpd-foreground"   9 minutes ago   Exited (137) 12 seconds ago             web
[root@localhost ~]# 

docker logs 查看日志

[root@localhost ~]# docker logs web
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Wed Aug 03 15:58:11.866001 2022] [mpm_event:notice] [pid 1:tid 140232533048640] AH00489: Apache/2.4.52 (Unix) configured -- resuming normal operations
[Wed Aug 03 15:58:11.866106 2022] [core:notice] [pid 1:tid 140232533048640] AH00094: Command line: 'httpd -D FOREGROUND'
[Wed Aug 03 16:00:56.414037 2022] [mpm_event:notice] [pid 1:tid 140232533048640] AH00492: caught SIGWINCH, shutting down gracefully
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
[Wed Aug 03 16:02:29.256279 2022] [mpm_event:notice] [pid 1:tid 140615301913920] AH00489: Apache/2.4.52 (Unix) configured -- resuming normal operations
[Wed Aug 03 16:02:29.256405 2022] [core:notice] [pid 1:tid 140615301913920] AH00094: Command line: 'httpd -D FOREGROUND'

docker rm 删除一个或多个容器 运行时不可以删除

docker run 创建一个新的容器并运行一个命令

[root@localhost ~]#  docker run -it --name test busybox /bin/sh
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
5cc84ad355aa: Pull complete 
Digest: sha256:5acba83a746c7608ed544dc1533b87c737a0b0fb730301639a0179f9344b1678
Status: Downloaded newer image for busybox:latest
/ # exit

docker attach 连接到正在运行中的容器

[root@localhost ~]# docker start test
test
[root@localhost ~]#  docker attach test
/ # exit

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

[root@localhost ~]# docker start test
test
[root@localhost ~]# docker exec -it test /bin/sh
/ # exit
[root@localhost ~]# 
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND              CREATED          STATUS                       PORTS     NAMES
3736976f08ce   busybox   "/bin/sh"            4 minutes ago    Up About a minute                      test
99c8609a1b95   httpd     "httpd-foreground"   16 minutes ago   Exited (137) 7 minutes ago             web
[root@localhost ~]# 

docker info 显示系统范围的信息

[root@localhost ~]# docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 2
  Running: 1
  Paused: 0
  Stopped: 1
 Images: 2
 Server Version: 20.10.17
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  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 logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.contain

docker inspect 返回有关Docker对象的低级信息

[root@localhost ~]# docker inspect 99c8609a1b95
[
    {
        "Id": "99c8609a1b95ea324540fc703c230b6cd3944b0253c6e227683308c6503c7997",
        "Created": "2022-08-03T15:54:55.280855953Z",
        "Path": "httpd-foreground",
        "Args": [],
        "State": {
            "Status": "exited",
            "Running": false,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 0,
            "ExitCode": 137,
            "Error": "",
            "StartedAt": "2022-08-03T16:02:29.247527711Z",
            "FinishedAt": "2022-08-03T16:03:42.985827911Z"
        },
        "Image": "sha256:dabbfbe0c57b6e5cd4bc089818d3f664acfad496dc741c9a501e72d15e803b34",
        "ResolvConfPath": "/var/lib/docker/containers/99c8609a1b95ea324540fc703c230b6cd3944b0253c6e227683308c6503c7997/resolv.conf",
        "HostnamePath": "/var/lib/docker/containers/99c8609a1b95ea324540fc703c230b6cd3944b0253c6e227683308c6503c7997/hostname",
        "HostsPath": "/var/lib/docker/containers/99c8609a1b95ea324540fc703c230b6cd3944b0253c6e227683308c6503c7997/hosts",
        "LogPath": "/var/lib/docker/containers/99c8609a1b95ea324540fc703c230b6cd3944b0253c6e227683308c6503c7997/99c8609a1b95ea324540fc703c230b6cd3944b0253c6e227683308c6503c7997-json.log",
        "Name": "/web",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": null,
        "HostConfig": {
            "Binds": null,
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "default",
            "PortBindings": {
                "80/tcp": [
                    {
                        "HostIp": "",
                        "HostPort": "80"
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "no",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": null,
            "CapAdd": null,
            "CapDrop": null,
            "CgroupnsMode": "host",
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "private",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": false,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",

docker rm 删除一个或多个容器 运行时不可以删除

[root@localhost ~]# docker stop test
test
[root@localhost ~]#  docker rm test
test

docker event st

请添加图片描述

docker镜像管理基础

镜像的概念

镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。

docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。

docker镜像采用分层构建机制,最底层为bootfs,其上为rootfs

bootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源
rootfs:位于bootfs之上,表现为docker容器的根文件系统
传统模式中,系统启动之时,内核挂载rootfs会首先将其挂载为“只读”模式,完整性自检完成后将其重新挂载为读写模式
docker中,rootfs由内核挂载为“只读”模式,而后通过“联合挂载”技术额外挂载一个“可写”层
注意:当删除容器时,这个容器自有的“可写”层会一起被删除
请添加图片描述

docker镜像层

请添加图片描述

位于下层的镜像称为父镜像(parrent image),最底层的称为基础镜像(base image);
最上层为“可读写”层,其下的均为“只读”层。

docker存储驱动

docker提供了多种存储驱动来实现不同的方式存储镜像,下面是常用的几种存储驱动:

AUFS
OverlayFS
Devicemapper
Btrfs
VFS

AUFS

AUFS(AnotherUnionFS)是一种Union FS,是文件级的存储驱动。AUFS是一个能透明覆盖一个或多个现有文件系统的层状文件系统,把多层合并成文件系统的单层表示。简单来说就是支持将不同目录挂载到同一个虚拟文件系统下的文件系统。这种文件系统可以一层一层地叠加修改文件。无论底下有多少层都是只读的,只有最上层的文件系统是可写的。当需要修改一个文件时,AUFS创建该文件的一个副本,使用CoW将文件从只读层复制到可写层进行修改,结果也保存在可写层。在Docker中,底下的只读层就是image,可写层就是Container。

AUFS文件系统据说有3W行代码,而ext4文件系统却只有4000-5000行左右代码,这些代码是要被整合进内核的,后来AUFS申请要被合并进内核代码的时候,linuz觉得它这代码太过臃肿,于是拒绝了。因此AUFS这个文件系统一直以来就不是linux内核中自有的文件系统,想用AUFS这个文件系统的话,必须自己向内核打补丁并去编译使用它,但redhat系列的操作系统一向以稳定著称,不会干这种出格的事,所以在redhat系列操作系统中使用AUFS并无可能。而ubuntu上的docker默认使用的就是AUFS。

OverlayFS

Overlay是Linux内核3.18后支持的,也是一种Union FS,和AUFS的多层不同的是Overlay只有两层:一个upper文件系统和一个lower文件系统,分别代表Docker的镜像层和容器层。当需要修改一个文件时,使用CoW将文件从只读的lower复制到可写的upper进行修改,结果也保存在upper层。在Docker中,底下的只读层就是image,可写层就是Container。目前最新的OverlayFS为Overlay2。

AUFS和Overlay都是联合文件系统,但AUFS有多层,而Overlay只有两层,所以在做写时复制操作时,如果文件比较大且存在比较低的层,则AUSF会慢一些。而且Overlay并入了linux kernel mainline,AUFS没有。目前AUFS已基本被淘汰。

DeviceMapper

Device mapper是Linux内核2.6.9后支持的,提供的一种从逻辑设备到物理设备的映射框架机制,在该机制下,用户可以很方便的根据自己的需要制定实现存储资源的管理策略。AUFS和OverlayFS都是文件级存储,而Device mapper是块级存储,所有的操作都是直接对块进行操作,而不是文件。Device mapper驱动会先在块设备上创建一个资源池,然后在资源池上创建一个带有文件系统的基本设备,所有镜像都是这个基本设备的快照,而容器则是镜像的快照。所以在容器里看到文件系统是资源池上基本设备的文件系统的快照,并没有为容器分配空间。当要写入一个新文件时,在容器的镜像内为其分配新的块并写入数据,这个叫用时分配。当要修改已有文件时,再使用CoW为容器快照分配块空间,将要修改的数据复制到在容器快照中新的块里再进行修改。

OverlayFS是文件级存储,Device mapper是块级存储,当文件特别大而修改的内容很小,Overlay不管修改的内容大小都会复制整个文件,对大文件进行修改显然要比小文件要消耗更多的时间,而块级无论是大文件还是小文件都只复制需要修改的块,并不是整个文件,在这种场景下,显然device mapper要快一些。因为块级的是直接访问逻辑盘,适合IO密集的场景。而对于程序内部复杂,大并发但少IO的场景,Overlay的性能相对要强一些。

docker registry

启动容器时,docker daemon会试图从本地获取相关的镜像,本地镜像不存在时,其将从Registry中下载该镜像并保存到本地。

Registry用于保存docker镜像,包括镜像的层次结构和元数据。用户可以自建Registry,亦可使用官方的Docker Hub。

docker registry的分类:

Sponsor Registry:第三方的Registry,供客户和Docker社区使用
Mirror Registry:第三方的Registry,只让客户使用
Vendor Registry:由发布docker镜像的供应商提供的registry
Private Registry:通过设有防火墙和额外的安全层的私有实体提供的registry
docker registry的组成:

Repository
由某特定的docker镜像的所有迭代版本组成的镜像仓库
一个Registry中可以存在多个Repository
Repository可分为“顶层仓库”和“用户仓库”
用户仓库名称格式为“用户名/仓库名”
每个仓库可包含多个Tag(标签),每个标签对应一个镜像
Index
维护用户帐户、镜像的检验以及公共命名空间的信息
相当于为Registry提供了一个完成用户认证等功能的检索接口
Docker Registry中的镜像通常由开发人员制作,而后推送至“公共”或“私有”Registry上保存,供其他人员使用,例如“部署”到生产环境。

请添加图片描述

实战避坑:在Ubuntu 22.04上配置NVIDIA GPU Direct RDMA时,必须搞清的P2P DMA与IOMMU那些事 本文深入探讨在Ubuntu 22.04上配置NVIDIA GPU Direct RDMA时P2P DMA与IOMMU的关键问题,解析PCIe架构中的地址转换、P2P DMA与标准DMA的区别,以及IOMMU对性能的影响。通过实战案例和调优建议,帮助用户避免常见配置陷阱,提升AI训练集群的数据传输效率。 阅读详情

相关推荐

【win11+vs 2017+OpenCV4.5.5+Qt5.12配置】详细安装过程+小问题解决

由于Qt5无法与最新的vs2022兼容,扩展工具中一直显示不可用,所以将vs降级成vs2017。在安装Qt的过程中,会选择安装Qt套件,其中就的MCVS 2017,说明vs2017是与qt兼容的。当然也可以用qt creator这一原生IDE。OpenCV版本目前是最新的4.8.0,使用过程中没有什么问题,但是还是安装低版本大概率避免一些玄学问题。

qq_45306739的博客 3342

Windows安装Apache(解决问题Set the 'ServerName' directive globally to suppress this message)

下载Apache 修改tttp.conf文件 命令安装http服务 (解决问题Could not reliably determine the server’s fully qualified domain name, using fe80::d558:4c0:68e3:fdd1. Set the ‘ServerName’ directive globally to suppress this ...

luohaifang的博客 1万+

SBM与超效率SBM模型实战:从原始面板数据到MATLAB高效实现

本文详细介绍了SBM模型与超效率SBM模型的核心原理,并提供了从原始面板数据预处理到MATLAB高效实现的完整实战指南。通过具体代码解析,帮助研究者掌握如何利用MATLAB进行数据标准化、模型构建、效率求解及结果可视化,从而精准评估决策单元的相对效率,尤其适用于在高效单元中进一步精细排名的场景。

weixin_29100399的博客 472

apache服务配置好,开启报错‘ServerName‘

报错:AH00558:httpd: Could not reliably determine the server’s fully qualified domain name. using localhost.location domain. Set the ‘ServerName’ directive globally to suppress this message 服务开启失败,查看下端口,发现已经有服务占用端口, 解决方法:把占用此端口的服务kill 杀死 就可以了。 如果还开启不了,就找到此服

weixin_47152389的博客 1058

VC Spyglass:Lint实战指南之TCL脚本自动化解析

本文详细介绍了如何利用TCL脚本实现VC Spyglass Lint检查的自动化流程。通过实战指南,从基础脚本编写到高级参数化技巧,帮助数字IC设计工程师摆脱手动操作,提升验证效率,并实现与CI/CD流程的集成。

h3i4j的博客 790

2025华东杯A/B/C题解题思路+可运行代码参考

这些因素包括但不限于:助滑坡的坡度、运动员的质量、滑雪板的接触面与雪地的摩擦力、空气阻力系数、运动员的体型和衣物形态等。助滑坡是运动员滑行至起跳台前的最后一段坡道,这一段坡道的坡度、长度和运动员的姿势会直接影响到起跳时的初始速度。运动员的滑行速度不仅受助滑坡的坡度影响,还受到摩擦力、空气阻力和重力等多方面因素的影响。通过合理的姿势调整,运动员能够有效减少空气阻力,增加身体的重力加速度,进而提升滑行速度。助滑坡的角度通常介于10°到12°之间,而运动员的滑行速度将受到重力、摩擦力和空气阻力的共同作用。

qq_52590045的博客 1794

Apache报错:无法使用可靠的服务器域名

Apache 安装和启动时报错:无法使用可靠的服务器域名,打开Apache配置文件httpd.conf,去除 ServerName 前面的注释即可 1. 报错信息:无法使用可靠的服务器域名 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::248a:ab9c:ca07:7a9b. Set the 'ServerName' directive globall.

辰风沐阳 1238

【实战技巧】matplotlib中文标签显示问题的3种高效解决方案

本文详细介绍了解决matplotlib中文标签显示问题的3种高效方法,包括修改字体设置、临时指定字体和修改后端配置。针对不同操作系统和环境提供了实用技巧,帮助开发者快速解决中文显示为方框的常见问题,提升数据可视化效果。

weixin_30855099的博客 164

HTTP

服务: 是运行在操作系统后台的一个或多个程序,为用户或系统提供某项特定的服务。服务配置最多的是网络服务,网络服务通常就是为其他用户,其他计算机提供某项功能服务。 1.web服务器的概念 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apac...

douyans的博客 5397

基于HetConv与Dual策略的YOLOv8轻量化设计-CSPHet结构的优化与实现

在计算机视觉中,YOLOv8作为目标检测领域的最新版本,通过引入多种改进来提升检测精度和速度。然而,提升精度和保持实时性能往往需要更多参数与计算量。本文提出一种结合Dual思想与HetConv的新型轻量化结构,称为CSPHet。CSPHet能够在保持YOLOv8检测精度的基础上有效减少约70万参数量,实现模型的轻量化和速度的提升。HetConv(Heterogeneous Convolution)是一种混合卷积技术,通过同时使用1x1、3x3等不同大小的卷积核,来捕捉不同尺度的特征。

博客 1315

【大模型】SpringBoot整合LangChain4j实现RAG检索实战详解

SpringBoot整合LangChain4j实现RAG检索实战详解

congge 1万+

httpd服务

httpd是Apache超文本传输协议服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。

zuo_yq的博客 5674

Android 15.0 系统开机屏幕设置默认横屏显示

在15.0的系统ROM产品定制化开发中,对于产品需求来说,由于是宽屏设备所以产品需要开机默认横屏显示,开机横屏显示这就需要从 两部分来实现,一部分是系统开机动画横屏显示,另一部分是系统屏幕显示横屏显示,从这两方面就可以做到开机默认横屏显示了

安卓兼职framework和app工程师的博客 711

docker基础用法

查看docker版本号,包括docker版本号,API版本号,对应的git commit,tontainerd和runC的版本信息等。​ 可以看到此时镜像大小为 372MB,但是上述的代码我们只需要构建步骤产生的二进制文件。​ 将本机的文件拷贝到容器,拷贝支持双向拷贝,也支持将容器内部文件拷贝到宿主机。​ 进入到一个后台运行的容器(即之前用-d命令参数来指定后台运行方式的容器)​ Alpine 镜像创建用户的命令为 adduser,-D 表示不设置密码。如果一个镜像需要一直运行,可以使用-d进行后台启动。

do_not_disturb的博客 978

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

docker基础用法与常用操作

docker基础用法 docker是管理容器的一种程序 OCI&OCF OCI Open Container-initiative 开发的容器协议 包含两个规范 运行时规范 镜像规格 OCF Open Container Format 开发的容器格式 runC 是一个 CLI 工具,用于根据 OCI 规范生成和运行容器 容器作为 runC 的子进程启动,可以嵌入到各种其他系统中,而无需运行守护程序 runC 建立在 libcontainer 之上,libcontainer 是支持数百

qq_69041923的博客 2376

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Docker学习笔记:Docker 基础用法和命令帮助

一、Docker的基础用法 Docker镜像首页,包括官方镜像和其它公开镜像 因为国情的原因,国内下载 Docker HUB 官方的相关镜像比较慢,可以使用docker.cn镜像,镜像保持和官方一致,关键是速度块,推荐使用。 3.1 Search images $ sudo docker search ubuntu 3.2 Pull images $ sudo doc...

Mr.ACO的专栏 243

docker的基础用法

目录什么是dockerOCI&OCFOCIOCFdocker架构docker镜像与镜像仓库docker对象安装及使用dockerdocker安装 什么是docker docker中的容器: lxc --> libcontainer --> runC OCI&OCF OCI Open Container-initiative 由Linux基金会主导于2015年6月创立 旨在围绕容器格式和运行时制定一个开放的工业化标准 包含两个规格 运行时规范(runtime-spec) 形象规范

weixiaoya0204的博客 6082

新手简单易学的—docker基础命令用法

详细讲解了容器的创建,镜像的管理,仓库的运行

cxyxt的博客 765

第二课 Docker 基础用法

第二课 Docker 基础用法 Docker 官方镜像仓库:hub.docker.com Docker 架构 Docker 是C/S架构的。 Client:客户端 Docker_host(Docker daemon):Docker 主机,真正运行容器的地方。 Containers:容器 Images:镜像 Registry:Docker 镜像仓库。 三者之间通过 https 或 http ...

AndyZhanggg的博客 178
上一篇: 【GTID主从】
下一篇: 【docker 镜像】
著名抢人头选手
博客等级 码龄4年 4粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值