当前位置: 首页 > news >正文

Docker之容器常见操作

docker 命令介绍

docker --help

管理命令:

  container   管理容器image       管理镜像network     管理网络

命令:

  attach      介入到一个正在运行的容器build       根据 Dockerfile 构建一个镜像commit      根据容器的更改创建一个新的镜像cp          在本地文件系统与容器中复制 文件/文件夹create      创建一个新容器	diff        检查容器文件系统上的文件或目录的更改exec        在容器中执行一条命令images      列出镜像kill        杀死一个或多个正在运行的容器    logs        取得容器的日志pause       暂停一个或多个容器的所有进程ps          列出所有容器pull        拉取一个镜像或仓库到 registrypush        推送一个镜像或仓库到 registrysave        将一个或多个 Docker 镜像保存到一个 tar 归档文件中rename      重命名一个容器restart     重新启动一个或多个容器rm          删除一个或多个容器rmi         删除一个或多个镜像run         在一个新的容器中执行一条命令search      在 Docker Hub 中搜索镜像start       启动一个或多个已经停止运行的容器stats       显示一个容器的实时资源占用stop        停止一个或多个正在运行的容器tag         为镜像创建一个新的标签top         显示一个容器内的所有进程	inspect    查看容器的详细信息unpause     恢复一个或多个容器内所有被暂停的进程

更详细的功能参数配置

--api-enable-cors=false
开放远程API调用的 CORS 头信息。这个接口开关对想进行二次开
发的上层应用提供了支持.-b, --bridge=""
挂载已经存在的网桥设备到 Docker 容器里。注意,使用 none
可以停用容器里的网络.--bip=""
使用 CIDR 地址来设定网络桥的 IP。注意,此参数和 -b 不能一起使用.-D, --debug=false
开启Debug模式。例如:docker -d -D-d, --daemon=false
开启Daemon模式.--dns=[]
强制容器使用DNS服务器.例如: docker -d --dns 8.8.8.8--dns-search=[]
强制容器使用指定的DNS搜索域名.例如: docker -d --dns-search
example.com-e, --exec-driver="native"
强制容器使用指定的运行时驱动.例如:docker -d -e lxc-G, --group="docker"
在后台运行模式下,赋予指定的Group到相应的unix socket上。
注意,当此参数 --group 赋予空字符串时,将去除组信息。-g, --graph="/var/lib/docker"
配置Docker运行时根目录-H, --host=[]
在后台模式下指定socket绑定,可以绑定一个或多个tcp://host:port, unix:///path/to/socket, fd://* 或fd://socketfd。例如:$ docker -H tcp://0.0.0.0:2375 ps
或者 $ export DOCKER_HOST="tcp://0.0.0.0:2375" $ docker ps--icc=true
启用内联容器的通信.--ip="0.0.0.0"
容器绑定IP时使用的默认IP地址.--ip-forward=true
启动容器的 net.ipv4.ip_forward.--iptables=true
启动Docker容器自定义的iptable规则.--mtu=0
设置容器网络的MTU值,如果没有这个参数,选用默认 route MTU,
如果没有默认route,就设置成常量值 1500.-p, --pidfile="/var/run/docker.pid"
后台进程PID文件路径.-r, --restart=true
重启之前运行中的容器.-s, --storage-driver=""
强制容器运行时使用指定的存储驱动,例如,指定使用devicemapper,
可以这样:docker -d -s devicemapper--selinux-enabled=false
启用selinux支持--storage-opt=[]
配置存储驱动的参数--tls=false
启动TLS认证开关--tlscacert="/Users/dxiao/.docker/ca.pem"
通过CA认证过的的certificate文件路径--tlscert="/Users/dxiao/.docker/cert.pem"
TLS的certificate文件路径--tlskey="/Users/dxiao/.docker/key.pem"
TLS的key文件路径--tlsverify=false
使用TLS并做后台进程与客户端通讯的验证-v, --version=false
显示版本信息

*注意:其中带有[] 的启动参数可以指定多次,例如

docker run -a stdin -a stdout -a stderr -i -t ubuntu /bin/bash

docker 命令详解

docker run启动容器

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped ) 的容器重新启动。
因为 Docker 的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。

新建并启动

例如,下面的命令输出一个 “Hello World”,之后终止容器。

$ docker run ubuntu:14.04 /bin/echo 'Hello world'
Hello world

这跟在本地直接执行 /bin/echo ‘hello world’ 几乎感觉不出任何区别。

下面的命令则启动一个 bash 终端,允许用户进行交互。

$ docker run -t -i --net host --privileged=true --name="mytest" ubuntu:14.04 /bin/bash
root@af8bae53bdd3:/#
  • -t 选项让Docker分配一个伪终端(pseudo-tty) 并绑定到容器的标准输入上, -i则让容器的标准输入保持打开
  • privileged=true,使用该参数,container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  • 利用镜像创建并启动一个容器
  • 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
  • 从地址池配置一个 ip 地址给容器
  • 执行用户指定的应用程序
  • 执行完毕后容器被终止

启动已终止容器
可以利用 docker container start 命令,直接将一个已经终止的容器启动运行。

守护状态运行
更多的时候,需要让 Docker 在后台运行而不是直接把执行命令的结果输出在当前宿主机下。此时,可以通过添加 -d 参数来实现。

$ docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
cb30b87566d0550ec5f1232d148c5ffed6546c347889e58a6405579f2af73f2a

使用 -d 参数启动后会返回一个唯一的 id。此时输出结果可以用docker logs [container ID or NAMES] 查看。如果不使用 -d 参数。输出的结果 (STDOUT) 会打印到宿主机上面

实现容器互联
link可以用来链接2个容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以互相通信,并且接收容器可以获取源容器的一些数据,如源容器的环境变量。

## 新建容器tomcat01
docker run -d -P --name tomcat01 tomcat##创建容器tomcat03,让tomcat03作为接收容器(主动去链接的容器),上面的tomcat01(别名t1)作为源容器(被链接的容器),两个容器进行链接:
docker run -d -P --name tomcat03 --link tomcat01:t1 tomcat

实例

$ sudo docker images ubuntu
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu              14.04               e54ca5efa2e9 4 weeks ago         276.5 MB
... ... # 创建一个 cpu 优先级为 100,内存限制 512MB,主机名为 test1,名为 docker_test1 后台运行 bash 的容器 
$ sudo docker run -t -i -c 100 -m 512MB -h test1 -d --net host --privileged --name="docker_test1" ubuntu /bin/bash 
a424ca613c9f2247cd3ede95adfbaf8d28400cbcb1d5f9b69a7b56f97b2b52e5 

docker container ls 命令查看容器信息

$ docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
cb30b87566d0        ubuntu              "/bin/sh -c 'while t…"   2 minutes ago       Up 2 minutes                            goofy_mcclintock

通过 docker container logs获取容器的输出日志

$ docker container logs goofy_mcclintock
hello world
hello world
hello world
......

注: 容器是否会长久运行,是和 docker run 指定的命令有关,和 -d 参数无关。

docker build 打包镜像

语法格式:

docker build [OPTIONS] PATH | URL | -

OPTIONS说明:

--build-arg=[] :设置镜像创建时的变量;--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。--network: 默认 default。在构建期间设置RUN指令的网络模式-f :指定要使用的Dockerfile路径;--no-cache :创建镜像的过程不使用缓存;--pull :尝试去更新镜像的新版本;--quiet, -q :安静模式,成功后只输出镜像 ID;--rm :设置镜像成功后删除中间容器;--cpu-shares :设置 cpu 使用权重;--cpu-period :限制 CPU CFS周期;--cpu-quota :限制 CPU CFS配额;--cpuset-cpus :指定使用的CPU id;--cpuset-mems :指定使用的内存 id;--disable-content-trust :忽略校验,默认开启;--force-rm :设置镜像过程中删除中间容器;--isolation :使用容器隔离技术;--label=[] :设置镜像使用的元数据;-m :设置内存最大值;--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;--shm-size :设置/dev/shm的大小,默认值是64M;--ulimit :Ulimit配置。

实例

#使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。
`docker build -t runoob/ubuntu:v1 . `#使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
`docker build github.com/creack/docker-firefox`#也可以通过 -f Dockerfile 文件的位置:
`$ docker build --network host -t mytest:v1.0 -f Dockerfile .`#在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回:
$ docker build -t test/myapp .
Sending build context to Docker daemon 2.048 kB
Error response from daemon: Unknown instruction: RUNCMD

更多命令请参阅:http://www.docker.org.cn/dockerppt/106.html

docker stop终止容器

语法格式:
docker container stop [选项] CONTAINER [CONTAINER...]

此外,当 Docker 容器中指定的应用终结时,容器也自动终止。
例如只启动了一个终端的容器,用户通过 exit 命令或 Ctrl+d 来退出终端时,所创建的容器立刻终止。终止状态的容器可以用 docker container ls -a 命令看到。

#停止单个容器
docker container stop <container_name>#停用全部运行中的容器:
docker stop $(docker ps -q)#批量停止容器:
docker container stop $(docker container ls -a -q)

通过 docker container start 命令来启动处于终止状态的容器;
通过 docker container restart 命令会将一个运行态的容器先终止再重新启动。

docker exec进入容器

在使用 -d 参数时,容器启动后会进入后台。
使用 docker exec 命令 或 docker attach 命令进入容器进行操作,推荐使用 docker exec 命令,原因会在下面说明。

exec 命令
-i -t 参数
docker exec 后边可以跟多个参数,这里主要说明 -i -t 参数。
只用 -i 参数时,由于没有分配伪终端,界面没有我们熟悉的 Linux 命令提示符,但命令执
行结果仍然可以返回。
当 -i -t 参数一起使用时,则可以看到我们熟悉的 Linux 命令提示符。

$ docker run --name webserver -d -p 80:80 nginx
1eec473ab0a32ad938e06644d4b15046a708bbf5a8e22f0f9e4ebf4918b8df15$ docker container ls
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
1eec473ab0a3        nginx               "nginx -g 'daemon of…"   22 seconds ago      Up 22 seconds       0.0.0.0:80->80/tcp   webserver$ docker exec -it webserver bash
root@1eec473ab0a3:/# echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
root@1eec473ab0a3:/# exit

#修改了容器的文件,我们可以通过 docker diff 命令看到具体的改动。

如果从这个 stdin 中 exit,不会导致容器的停止。
更多参数说明请使用 docker exec --help 查看。

attach 命令
docker attach 是 Docker 自带的命令。下面示例如何使用该命令。

$ docker attach webserver

注意: 如果从这个 stdin 中 exit,会导致容器的停止。

docker logs查看容器日志

通过docker logs命令可以查看容器的日志。

语法格式:

$ docker logs [OPTIONS] CONTAINEROptions:--details        显示更多的信息-f, --follow         跟踪实时日志--since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)--tail string    从日志末尾显示多少行日志, 默认是all-t, --timestamps     显示时间戳--until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

例子:

#查看指定时间后的日志,只显示最后100行:
$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID#查看最近30分钟的日志:
$ docker logs --since 30m CONTAINER_ID#查看某时间之后的日志:
$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID#查看某时间段日志:
$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

docker commit将容器保存为镜像

当我们运行一个容器的时候(如果不使用卷的话) ,我们做的任何文件修改都会被记录于容器存储层里。而 Docker 提供了一个 docker commit 命令,可以将容器的存储层保存下来成为镜像。换句话说,就是在原有镜像的基础上,再叠加上容器的存储层,并构成新的镜像。以后我们运行这个新镜像的时候,就会拥有原有容器最后的文件变化。

慎用 docker commit

  1. 会有大量的无关内容被添加进来,如果不小心清理,将会导致镜像极为臃肿。
  2. 除了制作镜像的人知道执行过什么命令、怎么生成的镜像,别人根本无从得知
  3. 任何修改的结果仅仅是在当前层进行标记、添加、修改,而不会改动上一层,每一次修改都会让镜像更加臃肿一次,所删除的上一层的东西并不会丢失

语法格式:

docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]

我们可以用下面的命令将容器保存为镜像:

$ docker commit --author "QiangSH" --message "修改了默认网页" webserver nginx:v2
sha256:749af9532d166d2cd5f88025a79e0e39658375761eef0200925cb82093b4514f$ docker image ls -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               v2                  749af9532d16        48 seconds ago      109MB
nginx               latest              c82521676580        4 weeks ago         109MB

其中 --author 是指定修改的作者,而 --message 则是记录本次修改的内容。这点和 git
版本控制相似,不过这里这些信息可以省略留空。

docker rm删除

语法格式:
docker container rm [选项] CONTAINER [CONTAINER...]

#删除一个处于终止状态的容器:
$ docker container rm awesome_payne
awesome_payne#删除全部容器:
docker rm $(docker ps -aq)#批量删除容器:
docker container rm $(docker container ls -a -q)#一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)#删除虚悬镜像
docker image prune -f    # 有tag的也会被删
docker rmi $(docker images -q -f "dangling=true")

如果要删除一个运行中的容器,可以添加 -f 参数。Docker 会发送SIGKILL 信号给容器。

清理所有处于终止状态的容器用 docker container ls -a 命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可能会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器。

$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
545f8f6d19286efae28307d06ed1acc034d07f109e907c01892471a6f89e772d
cb30b87566d0550ec5f1232d148c5ffed6546c347889e58a6405579f2af73f2a
......

docker history 查看指定镜像的创建历史

语法格式:

docker history [OPTIONS] IMAGE

OPTIONS说明:

  • -H :以可读的格式打印镜像大小和日期,默认为true;
  • –no-trunc :显示完整的提交记录;
  • -q :仅列出提交记录ID。

例子:

#查看镜像内容
docker history --format {{.CreatedBy}} --no-trunc=true <容器ID或容器名> |sed "s/\/bin\/sh\ -c\ \#(nop)\ //g"|sed "s/\/bin\/sh\ -c/RUN/g" | tac

保存镜像到文件

docker save 命令用于将一个或多个 Docker 镜像保存到一个 tar 归档文件中,以便在其他环境中分发或备份。
语法格式:

docker save [OPTIONS] IMAGE [IMAGE...]
  • IMAGE: 要保存的一个或多个镜像名称或 ID。

OPTIONS 说明:

  • -o, --output: 指定输出文件的路径。
保存单个镜像到文件
docker save -o myimage.tar myimage:latest

这将 myimage:latest 镜像保存为 myimage.tar 文件。

保存多个镜像到同一个文件
docker save -o multiple_images.tar myimage:latest anotherimage:latest

这将 myimage:latest 和 anotherimage:latest 镜像保存到 multiple_images.tar 文件中。

加载保存的镜像

要将保存的镜像加载到另一个 Docker 环境中,可以使用 docker load 命令:

docker load -i myimage.tar

注意事项

  • 保存镜像时,会包含镜像的所有层,因此生成的 tar 文件可能会很大。
  • 如果保存多个镜像到同一个文件中,使用 docker load 命令时会加载所有包含的镜像。
  • 为了减少文件大小,可以在保存前使用 docker image prune 命令清理未使用的镜像和层。
    docker save 命令是一个方便的工具,用于将 Docker 镜像保存为 tar 文件,以便于备份、分发和迁移。通过结合 docker load 命令,可以轻松地在不同环境中恢复和使用保存的镜像。

导出和导入容器

docker export导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

$ docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
16168d4b66b1        ubuntu              "/bin/bash"         18 minutes ago      Up 18 minutes                           happy_bardeen$ docker export 16168d4b66b1 > ubuntu.tar

这样将导出容器快照到本地文件。

docker impor导入容器

可以使用 docker import 从容器快照文件中再导入为镜像,例如

$  cat ubuntu.tar | docker import - test/ubuntu:v1.0
sha256:91b174fec9ed55d7ebc3d2556499713705f40713458e8594efa114f261d7369a$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
test/ubuntu         v1.0                91b174fec9ed        10 seconds ago      69.8MB
ubuntu              latest              735f80812f90        3 weeks ago         83.5MB

此外,也可以通过指定 URL 或者某个目录来导入,例如
$ docker import http://example.com/exampleimage.tgz example/imagerepo

注:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态) ,而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

数据共享与持久化

请参考:https://docs.docker.com/storage/bind-mounts/
译文:https://blog.csdn.net/kikajack/article/details/79474286

私有仓库镜像管理

创建好私有仓库之后,就可以使用docker tag来标记一个镜像,然后推送它到仓库。例如私有仓库地址为 127.0.0.1:5000。
先在本机查看已有的镜像。

$ docker image ls
REPOSITORY                        TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                            latest              ba5877dc9bec        6 weeks ago         192.7 MB

docker tag 标记镜像

使用docker tag将 ubuntu:latest 这个镜像标记为 127.0.0.1:5000/ubuntu:latest。

语法格式:

docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

实例

$ docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest
$ docker image ls
REPOSITORY                        TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                            latest              ba5877dc9bec        6 weeks ago         192.7 MB
127.0.0.1:5000/ubuntu:latest      latest              ba5877dc9bec        6 weeks ago         192.7 MB

docker push上传标记镜像

$ docker push 127.0.0.1:5000/ubuntu:latest
The push refers to repository [127.0.0.1:5000/ubuntu]
373a30c24545: Pushed
a9148f5200b0: Pushed
cdd3de0940ab: Pushedfc56279bbb33: Pushed
b38367233d37: Pushed
2aebd096e0e2: Pushed
latest: digest: sha256:fe4277621f10b5026266932ddf760f5a756d2facd505a94d2da12f4f52f71f5a size: 1568

用curl查看仓库中的镜像。

$ curl 127.0.0.1:5000/v2/_catalog
{"repositories":["ubuntu"]}

这里可以看到 {“repositories”:[“ubuntu”]},表明镜像已经被成功上传了。

先删除已有镜像,再尝试从私有仓库中下载这个镜像

$ docker image rm 127.0.0.1:5000/ubuntu:latest$ docker pull 127.0.0.1:5000/ubuntu:latest
Pulling repository 127.0.0.1:5000/ubuntu:latest
ba5877dc9bec: Download complete
511136ea3c5a: Download complete
9bad880da3d2: Download complete
25f11f5fb0cb: Download complete
ebc34468f71d: Download complete
2318d26665ef: Download complete$ docker image ls
REPOSITORY                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
127.0.0.1:5000/ubuntu:latest       latest              ba5877dc9bec        6 weeks ago         192.7 MB

docker 删除tag

REPOSITORY                                   TAG                 IMAGE ID            CREATED              SIZE
hub.doge.com/ubuntu                      latest              9c2500c524c6        About a minute ago   199.9 MB
hub.doge.net/ubuntu                      latest              9c2500c524c6        About a minute ago   199.9 MB

比如这类的镜像id是一样的,我只想留其中的某一个,删除hub.doge.com/ubuntu

docker rmi -f hub.doge.com/ubuntu:latest

注意事项
如果你不想使用 127.0.0.1:5000 作为仓库地址,比如想让本网段的其他主机也能把镜像推送到私有仓库。你就得把例如 192.168.199.100:5000 这样的内网地址作为私有仓库地址,这时你会发现无法成功推送镜像。

这是因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制

相关文章:

Docker之容器常见操作

docker 命令介绍 docker --help 管理命令: container 管理容器image 管理镜像network 管理网络命令&#xff1a; attach 介入到一个正在运行的容器build 根据 Dockerfile 构建一个镜像commit 根据容器的更改创建一个新的镜像cp 在本地文…...

猜数游戏(Fortran)

背景 学了两个月Fortran还没来一次正式练习 于是—— 代码 program gessnum! implicit none 不取消IN规则。integer::num,areal::Ncall random_seed()call random_number(N)aint(N*10)print*,"请输入您猜的数字&#xff1a;"read(*,*)numdo i1,3if (numa)thenpri…...

代码随想录 -- 贪心 -- 单调递增的数字

738. 单调递增的数字 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 首先将正数n转化为字符串类型&#xff1b;定义一个flag&#xff1a;标记flag以及之后的位数都是9&#xff1b;从后向前遍历字符串n&#xff0c;如果当前的位数小于他上一位&#xff0c;将上一位…...

【小洛的VLOG】Web 服务器高并发压力测试(Reactor模型测试)

目录 引言 工具介绍 环境介绍 测试结果 个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 引言 大部分的网络通信都是支持TCP/IP协议栈&#xff0c;为了保证通信的可靠性&#xff0c;客户端和服务端之间需要建立链接。服务端能并发处理多少个链接&#xff0c;平均每秒钟能处理…...

Window:下载与安装triton==2.0.0

triton2.0.0谷仓下载 创建python3.10的工作环境&#xff1a; conda create -n anti-dreambooth python3.10然后在下载目录下执行代码&#xff1a; pip install triton-2.0.0-cp310-cp310-win_amd64.whl...

零,报错日志 2002-Can‘t connect to server on‘106.54.209.77‘(1006x)

零&#xff0c;报错日志 2002-Can’t connect to server on’106.54.209.77’(1006x) 今天差点被这个报错给折磨疯掉 尝试一&#xff1a;对腾讯云服务器进行更改 尝试二&#xff1a;针对配置文件处理 step1 //确保注释 /etc/mysql/mysql.conf.d/mysqld.cnf 下# bind-addres…...

R语言笔记(一)

文章目录 一、R objects二、Types of data三、Operators1、Operators2、Comparison operators3、Logical operators 四、Check types of data objects五、Convertion between data objects六、R workspace 一、R objects Two basic types of things/objects: data and functio…...

MusePose模型部署指南

一、模型介绍 MusePose是一个基于扩散和姿势引导的虚拟人视频生成框架。 主要贡献可以概括如下&#xff1a; 发布的模型能够根据给定的姿势序列&#xff0c;生成参考图中人物的舞蹈视频&#xff0c;生成的结果质量超越了同一主题中几乎所有当前开源的模型。发布该 pose alig…...

又一次升级:字节在用大模型在做推荐啦!

原文链接 字节前几天2024年9年19日公开发布的论文《HLLM&#xff1a;通过分层大型语言模型增强基于物品和用户模型的序列推荐效果》。 文字、图片、音频、视频这四大类信息载体&#xff0c;在生产端都已被AI生成赋能助力&#xff0c;再往前一步&#xff0c;一定需要一个更强势…...

无线领夹麦克风怎么挑选,麦克风行业常见踩坑点,避雷不专业产品

​随着短视频和直播行业的迅速发展&#xff0c;近年来无线领夹麦克风热度持续高涨&#xff0c;作为一款小巧实用的音频设备&#xff0c;它受到很多视频创作者以及直播达人的喜爱。但如今无线领夹麦克风品类繁杂&#xff0c;大家选购时容易迷失方向&#xff0c;要知道并不是所有…...

OJ-1017中文分词模拟器

示例0 输入&#xff1a; ilovechina i,ilove,lo,love,ch,china,lovechina 输出&#xff1a; ilove,china 示例1 输入&#xff1a; ilovechina i,love,china,ch,na,ve,lo,this,is,the,word 输出&#xff1a; i,love,china 说明&#xff1a; 示例2 输入: iat i,love,…...

Unity 关于UGUI动静分离面试题详解

前言 近期有同学面试&#xff0c;被问到这样一道面试题: ”说说UGUI的动静分离是怎么一回事&#xff1f;” 关于这个优化有一些误区&#xff0c;容易让开发者陷入一个极端。我们先分析关于UGUI 合批优化的问题&#xff0c;最后给这个面试题一个参考回答。 对惹&#xff0c;…...

HarmonyNext保存Base64文件到Download下

本文介绍如何保存Base64的文件到Download下 参考文档地址&#xff1a; 保存用户文件-Harmony Next 用到的是DOWNLOAD模式保存文件 用户在使用save接口时&#xff0c;可以将pickerMode配置为DOWNLOAD模式&#xff0c;该模式下会拉起授权接口&#xff0c;用户确认后会在公共路径…...

069_基于springboot的OA管理系统

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…...

hive数据库,表操作

1.创建; create database if not exists myhive; use myhive; 2.查看: 查看数据库详细信息:desc database myhive; 默认数据库的存放路径是 HDFS 的&#xff1a; /user/hive/warehouse 内 补充:创建数据库并指定 hdfs 存储位置:create database myhive2 location /myhive2 3.…...

openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素

文章目录 openpnp - 在顶部相机/底部相机高级校正完成后&#xff0c;需要设置裁剪所有无效像素概述笔记设置后的顶部相机效果设置后的底部相机效果 备注END openpnp - 在顶部相机/底部相机高级校正完成后&#xff0c;需要设置裁剪所有无效像素 概述 用自己编译的基于openpnp-…...

Vue+TypeScript+SpringBoot的WebSocket基础教学

成品图&#xff1a; 对WebSocket的理解&#xff08;在使用之前建议先了解Tcp&#xff0c;三次握手&#xff0c;四次挥手 &#xff09;&#xff1a; 首先页面与WebSocket建立连接、向WebSocket发送信息、后端WebSocket向所有连接上WebSoket的客户端发送当前信息。 推荐浏览网站…...

大话网络协议:HTTPS协议和HTTP协议有何不同?为什么HTTPS更安全

大家现在访问网络,浏览网页,注意一下的话,网址前面基本上都是一个 https:// 的前缀,这里就是说明这个网址所采用的协议是 https 协议。那么具体应该怎么理解 https 呢? 本文我们就力争能清楚地解释明白这个我们目前应该最广的协议。 理解HTTP协议 要解释 https 协议,当…...

13图书归还-云图书管理系统(Vue3+Spring Boot+element plus)

目录 1 接口地址2 后台代码RecordControllerBookController 3 view/books/BookRecordsVue中前端框架搭建4 api/record.js文件写查询用户借阅记录的接口代码5 api/book.js中写归还图书、查询当前借阅图书接口代码6 BookRecordsVue中导入接口函数&#xff0c;并调用7 运行效果 1 …...

中航资本:“女人的茅台”重挫!超7700亿元英伟达概念业绩爆发

今天早盘首要指数强势震动&#xff0c;申万一级工作指数跌多涨少&#xff0c;通讯指数涨逾1%居首。概念方面&#xff0c;存储器、动保、重组等概念板块涨幅居前。存储概念大涨首要仍是AI方向又有好消息&#xff0c;市值逾越7700亿元的英伟达概念龙头SK海力士发布效果超预期财报…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...