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

【Docker】命令使用大全

【Docker】命令使用大全

目录

【Docker】命令使用大全

简述

Docker 的主要用途

基本概念

容器周期管理

run

start/stop/restart

kill

rm

pause/unpause

create

exec

容器操作

ps

inspect

top

attach

events

logs

wait

export

port

容器 rootfs 命令

commit

cp

diff

镜像仓库

login/logout

pull

push

search

本地镜像管理

images

rmi/prune

tag

build

history

save

load

import

docker 命令的几对关系

save 和 export

load 和 import


 

 

 

本文章向大家介绍【Docker】命令使用大全,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

 

 

 

简述

容器的出现是为了解决环境配置的问题,虚拟机是一种解决方案,但是也有一些缺点,再后来出现了 Linux 容器,Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。

Docker 的主要用途

  • 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
  • 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
  • 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

基本概念

引用自:https://www.zhihu.com/topic/19950993/top-answers

  • 镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向 Docker 引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个 Ubuntu 镜像就是一个包含 Ubuntu 操作系统环境的模板,同理在该镜像上装上 Apache 软件,就可以称为 Apache 镜像。
  • 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的 Linux 系统环境(包括 root 权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker 引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker 在镜像的上层创建一个可写层,镜像本身不变。
  • 仓库(Repository):类似于代码仓库,这里是镜像仓库,是 Docker 用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用 tag 进行区分,比如 Ubuntu 仓库存放有多个版本(12.04、14.04 等)的 Ubuntu 镜像。

以下介绍 Docker 基本的命令及其使用

容器周期管理

run

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

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS 说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器 ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机 (宿主) 端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • --name="nginx-lb": 为容器指定一个名称;
  • --dns 8.8.8.8: 指定容器使用的 DNS 服务器,默认和宿主一致;
  • --dns-search example.com: 指定容器 DNS 搜索域名,默认和宿主一致;
  • -h "mars": 指定容器的 hostname;
  • -e username="ritchie": 设置环境变量;
  • --env-file=[]: 从指定文件读入环境变量;
  • --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定 CPU 运行;
  • -m : 设置容器使用内存最大值;
  • --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • --link=[]: 添加链接到另一个容器;
  • --expose=[]: 开放一个端口或一组端口;
  • --volume , -v 绑定一个卷

使用 docker 镜像 nginx:latest 以后台模式启动一个容器,并将容器命名为 mynginx。

docker run --name mynginx -d nginx:latest

使用镜像 nginx:latest 以后台模式启动一个容器,并将容器的 80 端口映射到主机随机端口。

docker run -P -d nginx:latest

使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。

docker run -p 80:80 -v /data:/data -d nginx:latest

绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。

docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

使用镜像 nginx:latest 以交互模式启动一个容器,在容器内执行 /bin/bash 命令。

docker run -it nginx:latest /bin/bash

start/stop/restart

docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]

启动已被停止的容器 myrunoob

docker start myrunoob

停止运行中的容器 myrunoob

docker stop myrunoob

重启容器 myrunoob

docker restart myrunoob

kill

docker kill : 杀掉一个运行中的容器。

docker kill [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS 说明:

  • -s : 向容器发送一个信号

杀掉运行中的容器 mynginx

docker kill -s KILL mynginx

rm

docker rm:删除一个或多个容器。

docker rm [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS 说明:

  • -f : 通过 SIGKILL 信号强制删除一个运行中的容器。
  • -l : 移除容器间的网络连接,而非容器本身。
  • -v : 删除与容器关联的卷。

强制删除容器 db01、db02:

docker rm -f db01 db02

移除容器 nginx01 对容器 db01 的连接,连接名 db:

docker rm -l db

删除容器 nginx01, 并删除容器挂载的数据卷:

docker rm -v nginx01

删除所有已经停止的容器:

docker rm $(docker ps -a -q)

pause/unpause

docker pause : 暂停容器中所有的进程。docker unpause : 恢复容器中所有的进程。

docker pause [OPTIONS] CONTAINER [CONTAINER...]
docker unpause [OPTIONS] CONTAINER [CONTAINER...]

暂停数据库容器 db01 提供服务。

docker pause db01

恢复数据库容器 db01 提供服务。

docker unpause db01

create

docker create:创建一个新的容器但不启动它 用法同 docker run

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

语法同 docker run

使用 docker 镜像 nginx:latest 创建一个容器,并将容器命名为 myrunoob

docker create  --name myrunoob  nginx:latest     
# 输出
09b93464c2f75b7b69f83d56a9cfc23ceb50a48a9db7652ee4c27e3e2cb1961f

exec

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

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS 说明:

  • -d : 分离模式:在后台运行
  • -i : 即使没有附加也保持 STDIN 打开
  • -t : 分配一个伪终端

在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本:

docker exec -it mynginx /bin/sh /root/runoob.sh

在容器 mynginx 中开启一个交互模式的终端:

docker exec -i -t  mynginx /bin/bash
root@b1a0703e41e7:/#

也可以通过 docker ps -a 命令查看已经在运行的容器,然后使用容器 ID 进入容器。 查看已经在运行的容器 ID:

docker ps -a 
# 输出
...
9df70f9a0714        openjdk             "/usercode/script.sh…" 
...

第一列的 9df70f9a0714 就是容器 ID。 通过 exec 命令对指定的容器执行 bash:

docker exec -it 9df70f9a0714 /bin/bash

容器操作

ps

docker ps : 列出容器

docker ps [OPTIONS]

OPTIONS 说明:

  • -a : 显示所有的容器,包括未运行的。
  • -f : 根据条件过滤显示的内容。
  • --format : 指定返回值的模板文件。
  • -l : 显示最近创建的容器。
  • -n : 列出最近创建的 n 个容器。
  • --no-trunc : 不截断输出。
  • -q : 静默模式,只显示容器编号。
  • -s : 显示总的文件大小。

列出所有在运行的容器信息。

docker ps
# 输出
CONTAINER ID   IMAGE          COMMAND                ...  PORTS                    NAMES
09b93464c2f7   nginx:latest   "nginx -g 'daemon off" ...  80/tcp, 443/tcp          myrunoob
96f7f14e99ab   mysql:5.6      "docker-entrypoint.sh" ...  0.0.0.0:3306->3306/tcp   mymysql

inspect

docker inspect : 获取容器 / 镜像的元数据。

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

OPTIONS 说明:

  • -f : 指定返回值的模板文件。
  • -s : 显示总的文件大小。
  • --type : 为指定类型返回 JSON。

top

docker top : 查看容器中运行的进程信息,支持 ps 命令参数。

只有在运行中的容器才能使用这个命令

docker top [OPTIONS] CONTAINER [ps OPTIONS]

容器运行时不一定有 /bin/bash 终端来交互执行 top 命令,而且容器还不一定有 top 命令,可以使用 docker top 来实现查看 container 中正在运行的进程。

attach

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

events

docker events : 从服务器获取实时事件

docker events [OPTIONS]

OPTIONS 说明:

  • -f :根据条件过滤事件;
  • --since :从指定的时间戳后显示所有事件;
  • --until :流水时间显示到指定的时间为止;

显示 docker 镜像为 python 2016 年 7 月 1 日后的相关事件。

docker events -f "image"="python" --since="1467302400" 

1467302400 代表时间戳的意思 在线时间戳转换工具:https://tool.lu/timestamp/

logs

docker logs : 获取容器的日志

docker logs [OPTIONS] CONTAINER

OPTIONS 说明:

  • **-f : ** 跟踪日志输出
  • --since : 显示某个开始时间的所有日志
  • **-t : ** 显示时间戳
  • --tail : 仅列出最新 N 条容器日志

wait

docker wait : 阻塞运行直到容器停止,然后打印出它的退出代码。

docker wait [OPTIONS] CONTAINER [CONTAINER...]

export

docker export : 将文件系统作为一个 tar 归档文件导出到 STDOUT。

docker export [OPTIONS] CONTAINER

OPTIONS 说明:

  • -o : 将输入内容写到文件。

将 id 为 a404c6c174a2 的容器按日期保存为 tar 文件。

docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2

port

docker port : 列出指定的容器的端口映射,或者查找将 PRIVATE_PORT NAT 到面向公众的端口。

docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]

容器 rootfs 命令

commit

docker commit : 从容器创建一个新的镜像。

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

OPTIONS 说明:

  • -a : 提交的镜像作者;
  • -c : 使用 Dockerfile 指令来创建镜像;
  • -m : 提交时的说明文字;
  • -p : 在 commit 时,将容器暂停。

将容器 d1891e47245f 保存为新的镜像,并添加提交人信息和说明信息。

docker commit -a "Leong" -m "python opencv" d1891e47245f  leong/python_opencv:v1 

cp

docker cp : 用于容器与主机之间的数据拷贝。

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

OPTIONS 说明:

  • -L : 保持源目标中的链接
docker cp /www/runoob 96f7f14e99ab:/www/  # 将主机 /www/runoob 目录拷贝到容器 96f7f14e99ab 的 /www 目录下。docker cp /www/runoob 96f7f14e99ab:/www   # 将主机 /www/runoob 目录拷贝到容器 96f7f14e99ab 中,目录重命名为 www。docker cp  96f7f14e99ab:/www /tmp/        # 将容器 96f7f14e99ab 的 /www 目录拷贝到主机的 /tmp 目录中。

diff

**docker diff : ** 检查容器里文件结构的更改。

docker diff [OPTIONS] CONTAINER

查看容器 id 前缀为 d189 的容器的文件结构更改。

docker diff d189

最前面的一个字符含义如下:

  1. A - Add
  2. D - Delete
  3. C - Change

镜像仓库

login/logout

docker login : 登陆到一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hubdocker logout : 登出一个 Docker 镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

docker login [OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]

OPTIONS 说明:

  • -u : 登陆的用户名
  • -p : 登陆的密码

pull

**docker pull : ** 从镜像仓库中拉取或者更新指定镜像

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS 说明:

  • -a : 拉取所有 tagged 镜像
  • --disable-content-trust : 忽略镜像的校验,默认开启

从 Docker Hub 下载 REPOSITORY 为 java 的所有镜像。

docker pull -a java

push

docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

docker push [OPTIONS] NAME[:TAG]

OPTIONS 说明:

  • --disable-content-trust : 忽略镜像的校验,默认开启

上传本地镜像 myapache:v1 到镜像仓库中。

docker push myapache:v1

search

docker search : 从 Docker Hub 查找镜像

docker search [OPTIONS] TERM

OPTIONS 说明:

  • --automated 只列出 automated build 类型的镜像;
  • --no-trunc 显示完整的镜像描述;
  • -s 列出收藏数不小于指定值的镜像。

从 Docker Hub 查找所有镜像名包含 anaconda,并且收藏数大于 10 的镜像

 docker search -s 10 anaconda 
  • NAME 镜像仓库源的名称
  • DESCRIPTION 镜像的描述
  • OFFICIAL 是否 docker 官方发布
  • stars 类似 Github 里面的 star,表示点赞、喜欢的意思。
  • AUTOMATED 自动构建。

本地镜像管理

images

docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS 说明:

  • -a : 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  • --digests : 显示镜像的摘要信息;
  • -f : 显示满足条件的镜像;
  • --format : 指定返回值的模板文件;
  • --no-trunc : 显示完整的镜像信息;
  • -q : 只显示镜像 ID。

rmi/prune

docker rmi : 删除本地一个或多少镜像。

docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS 说明:

  • -f : 强制删除;
  • --no-prune : 不移除该镜像的过程镜像,默认移除;

prune 命令用来删除不再使用的 docker 对象。 删除所有未被 tag 标记和未被容器使用的镜像:

docker image prune
# 输出
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] y

删除所有未被容器使用的镜像:

docker image prune -a

删除所有停止运行的容器:

docker container prune

删除所有未被挂载的卷:

docker volume prune

删除所有网络:

docker network prune

删除 docker 所有资源:

docker system prune

tag

**docker tag : ** 标记本地镜像,将其归入某一仓库。

docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]

将镜像 ubuntu:15.10 标记为 runoob/ubuntu:v3 镜像。

docker tag ubuntu:15.10 runoob/ubuntu:v3
docker images   runoob/ubuntu:v3
# 输出
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
runoob/ubuntu       v3                  4e3b13c8a266        3 months ago        136.3 MB

build

**docker build ** 命令用于使用 Dockerfile 创建镜像。

docker build [OPTIONS] PATH | URL | -

OPTIONS 说明:

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

使用当前目录的 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 -f /path/to/a/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

history

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

docker history [OPTIONS] IMAGE

OPTIONS 说明:

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

查看本地镜像 runoob/ubuntu:v3 的创建历史。

docker history runoob/ubuntu:v3
# 输出
IMAGE             CREATED           CREATED BY                                      SIZE      COMMENT
4e3b13c8a266      3 months ago      /bin/sh -c #(nop) CMD ["/bin/bash"]             0 B                 
<missing>         3 months ago      /bin/sh -c sed -i 's/^#s*(deb.*universe)$/   1.863 kB            
<missing>         3 months ago      /bin/sh -c set -xe   && echo '#!/bin/sh' > /u   701 B               
<missing>         3 months ago      /bin/sh -c #(nop) ADD file:43cb048516c6b80f22   136.3 MB

save

docker save : 将指定镜像保存成 tar 归档文件。

docker save [OPTIONS] IMAGE [IMAGE...]

OPTIONS 说明:

  • -o : 输出到的文件。

将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3.tar 文档

docker save -o my_ubuntu_v3.tar runoob/ubuntu:v3
ll my_ubuntu_v3.tar
# 输出
-rw------- 1 runoob runoob 142102016 Jul 11 01:37 my_ubuntu_v3.tar

load

docker load : 导入使用 docker save 命令导出的镜像。

docker load [OPTIONS]

OPTIONS 说明:

  • --input , -i : 指定导入的文件,代替 STDIN。
  • --quiet , -q : 精简输出信息。

导入镜像:

docker image ls
# 输出
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZEdocker load < busybox.tar.gz
# 输出
Loaded image: busybox:latestdocker images
# 输出
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              769b9341d937        7 weeks ago         2.489 MBdocker load --input fedora.tar
# 输出
Loaded image: fedora:rawhide
Loaded image: fedora:20docker images
# 输出
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
busybox             latest              769b9341d937        7 weeks ago         2.489 MB
fedora              rawhide             0d20aec6529d        7 weeks ago         387 MB
fedora              20                  58394af37342        7 weeks ago         385.5 MB
fedora              heisenbug           58394af37342        7 weeks ago         385.5 MB
fedora              latest              58394af37342        7 weeks ago         385.5 MB

import

docker import : 从归档文件中创建镜像。

docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

OPTIONS 说明:

  • -c : 应用 docker 指令创建镜像;
  • -m : 提交时的说明文字;

从镜像归档文件 my_ubuntu_v3.tar 创建镜像,命名为 runoob/ubuntu:v4

docker import  my_ubuntu_v3.tar runoob/ubuntu:v4  
# 输出
sha256:63ce4a6d6bc3fabb95dbd6c561404a309b7bdfc4e21c1d59fe9fe4299cbfea39docker images runoob/ubuntu:v4
# 输出
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
runoob/ubuntu       v4                  63ce4a6d6bc3        20 seconds ago      142.1 MB
docker images ls # 列出本地镜像
  • 启动容器,下面两句的效果是一样的

-d 后台运行 -i 交互 -t 终端

docker run -d -i -t ubuntu:18.04 /bin/bash
docker run -dit ubuntu:18.04 /bin/bash
  • 进入后台容器
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
  • 删除 / 清除容器
docker container rm [OPTIONS] CONTAINER [CONTAINER...] # 删除容器
docker container prune # 清理掉停止的容器 
docker ps -a # 查看所有的容器
docker ps # 查看运行着的容器docker container ls -a # 查看终止状态的容器
docker container start <容器 ID>/<NAMES> # 启动一个容器
docker container stop <容器 ID>/<NAMES> # 停止一个运行着的容器docker search python # 从 Docker Hub 查找 python 镜像 docker pull python # 从镜像仓库中拉取或者更新指定镜像 docker container prune # 清理掉停止的容器docker rmi <容器 ID> # 删除本地容器 docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]  # 标记本地镜像,将其归入某一仓库

docker 命令的几对关系

save 和 export

save 保存的是镜像,export 保存的是容器

load 和 import

load 载入镜像包,import 载入容器包,但两者都会恢复为镜像

load 不能对载入的进行进行命名,import 可以

如果有更新,会在下面的文档进行同步~

喜欢的朋友给个三连哈~

 

相关文章:

【Docker】命令使用大全

【Docker】命令使用大全 目录 【Docker】命令使用大全 简述 Docker 的主要用途 基本概念 容器周期管理 run start/stop/restart kill rm pause/unpause create exec 容器操作 ps inspect top attach events logs wait export port 容器 rootfs 命令 c…...

查找算法:二分查找、插值查找、斐波那契查找

二分查找 查找的前提是数组有序 思路分析 代码实现 # 二分查找&#xff08;递归法实现&#xff09; # 找到一个相等的值就返回该值的下标 def binary_search(arr: list, find_val: int, left: int, right: int):mid (left right) // 2 # 寻找数组中间位置的下标if left &…...

python+django高校教室资源预约管理系统lqg8u

技术栈 后端&#xff1a;pythondjango 前端&#xff1a;vueCSSJavaScriptjQueryelementui 开发语言&#xff1a;Python 框架&#xff1a;django/flask Python版本&#xff1a;python3.7.7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyChar…...

Potato靶机

信息搜集 设备发现 扫描端口 综合扫描 开放了80端口的HTTP服务和7120端口的SSH服务 目录扫描 扫描目录 看看这个info.php&#xff0c;发现只有php的版本信息&#xff0c;没有可以利用的注入点 SSH突破 hydra 爆破 考虑到 7120 端口是 ssh 服务&#xff0c;尝试利用 hydra …...

【环境搭建】linux docker-compose安装gitlab和redis

gitlab需要redis&#xff0c;一起安装了 新建gitlab和redis挂载目录 mkdir -p /data/docker/redis/data mkdir -p /data/docker/redis/logs mkdir -p /data/docker/redis/confmkdir -p /data/docker/gitlab/data mkdir -p /data/docker/gitlab/logs mkdir -p /data/docker/gi…...

JAVAEE初阶相关内容第十三弹--文件操作 IO

写在前 终于完成了&#xff01;&#xff01;&#xff01;&#xff01;内容不多就是本人太拖拉&#xff01; 这里主要介绍文件input&#xff0c;output操作。File类&#xff0c;流对象&#xff08;分为字节流、字符流&#xff09; 需要掌握每个流对象的使用方式&#xff1a;打…...

POI报表的高级应用

POI报表的高级应用 掌握基于模板打印的POI报表导出理解自定义工具类的执行流程 熟练使用SXSSFWorkbook完成百万数据报表打印理解基于事件驱动的POI报表导入 模板打印 概述 自定义生成Excel报表文件还是有很多不尽如意的地方&#xff0c;特别是针对复杂报表头&#xff0c;单…...

【计算机毕设选题推荐】超市管理系统SpringBoot+SSM+Vue

前言&#xff1a;我是IT源码社&#xff0c;从事计算机开发行业数年&#xff0c;专注Java领域&#xff0c;专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务 项目名 基于SpringBoot的超市管理系统 技术栈 SpringBootVueMySQLMaven 文章目录 一、超市管理系统…...

【算法1-4】递推与递归-P1002 [NOIP2002 普及组] 过河卒

## 题目描述 棋盘上 A 点有一个过河卒&#xff0c;需要走到目标 B 点。卒行走的规则&#xff1a;可以向下、或者向右。同时在棋盘上 C 点有一个对方的马&#xff0c;该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。 棋盘用坐标表示&#…...

浅谈压力测试的作用是什么

随着现代应用程序变得越来越复杂&#xff0c;用户的期望也在不断提高&#xff0c;对性能和可靠性的要求变得更加苛刻。在应用程序开发和维护的过程中&#xff0c;压力测试是一项至关重要的活动&#xff0c;它可以帮助发现潜在的问题、评估系统的性能极限&#xff0c;以及确保在…...

互联网Java工程师面试题·Java 总结篇·第一弹

目录 1、面向对象的特征有哪些方面&#xff1f; 2、访问修饰符 public,private,protected,以及不写&#xff08;默认&#xff09;时的区别&#xff1f; 3、String 是最基本的数据类型吗&#xff1f; 4、float f3.4;是否正确&#xff1f; 5、short s1 1; s1 s1 1;有错吗…...

Anylogic 读取和写入Excel文件

1、选择面板-连接-Excel文件&#xff0c;拖入到视图中 然后在excel文件的属性中进行绑定外部excel文件。 绑定完之后&#xff0c;在你需要读取的地方进行写代码&#xff0c; //定义开始读取的行数 //这里设为2&#xff0c;是因为第一行是数据名称 int row12; //读取excel文件信…...

茶百道全链路可观测实战

作者&#xff1a;山猎 茶百道是四川成都的本土茶饮连锁品牌&#xff0c;创立于 2008 年 。经过 15 年的发展&#xff0c;茶百道已成为餐饮标杆品牌&#xff0c;全国门店超 7000 家&#xff0c;遍布全国 31 个省市&#xff0c;实现中国大陆所有省份及各线级城市的全覆盖。2021 …...

Java-JDBC

JDBC JDBC英文名为&#xff1a;Java Data Base Connectivity(Java数据库连接)&#xff0c;官方解释它是Java编程语言和广泛的数据库之间独立于数据库的连接标准的Java API 根本上说JDBC是一种规范&#xff0c;它提供的接口&#xff0c;一套完整的&#xff0c;允许便捷式访问底…...

【ROS】Nav2源码之nav2_planner详解

【ROS】郭老二博文之:ROS目录 1、简述 nav2_planner是路径规划器,把起始位置、姿势的信息输入nav2_planner模块,将会生成可行路径。 nav2_planner路径规划器和nav2_controller控制器相似,也使用插件的形式加载不同的路径规划器。 常用的路径规划器插件有: 1)NavFn Plan…...

mysql报SQLSTATE[22007]的错误的一个原因

最近在修改一个程序&#xff0c;打算将$video这个参数保存到数据库。修改的过程中出现错误。导致该程序不能发布新文章。在程序的一个db.php程序文件里使用var_dump($input, $stmt) ; 语句看到了错误信息&#xff0c;并找到了错误原因。信息里包含的错误代码是&#xff1a; SQ…...

Python —— UI自动化之 三大等待与三大切换

1、三大等待 1、硬性等待 1、概述 硬性等待也可以称之为强制等待&#xff0c;写法如下&#xff1a; time.sleep() 优点&#xff1a;使用简单 缺点&#xff1a;等待时间把握不准&#xff0c;容易造成时间浪费或者等待时间不足 2、实战 from time import sleep from sele…...

初识容器Docker

目前使用 Docker 基本上有两个选择&#xff1a;Docker Desktop和Docker Engine。Docker Desktop 是专门针对个人使用而设计的&#xff0c;支持 Mac 和 Windows 快速安装&#xff0c;具有直观的图形界面&#xff0c;还集成了许多周边工具&#xff0c;方便易用。 不是太推荐使用D…...

pikachu靶场搭建及通关

一、靶场搭建 下载工具&#xff1a;phpstudy Pikachu靶机下载地址&#xff1a; https://github.com/zhuifengshaonianhanlu/pikachu 下载后解压缩并放入如下文件夹&#xff08;网站根目录&#xff09; 建议修改文件名称为 pikachu 修改配置文件&#xff08;mysql 用户名&…...

选择排序(学习笔记)

选择排序 选择排序的基本思想是冒泡排序&#xff0c;记录当前位置i和最小值k的位置&#xff0c;使用一个变量j往后寻找。 每一轮找到最小值后与第一个元素进行交换&#xff0c;以此类推。 不使用辅助变量交换两个元素的值方法 package com.company.sort;import java.util.Ra…...

PCL 生成球形点云

目录 一、算法原理二、代码实现三、结果展示四、参考链接一、算法原理 生成球体点云的方法有很多种,Marsaglia于1972年提出了一个简单易行的实现方法,它从(-1,1)上的独立均匀分布中选取 x 1 x_1 x...

Flutter 剪裁(Clip)

&#x1f525; ClipOval &#x1f525; 子组件为正方形时剪裁成内贴圆形&#xff1b;为矩形时&#xff0c;剪裁成内贴椭圆 裁剪纯色背景 ClipOval(child: Container(width: 300.w,height: 300.w,decoration: const BoxDecoration(color: Colors.red),),), 裁剪背景图片 裁剪前…...

嵌入式C语言自我修养《GNU C编译器扩展语法》学习笔记

目录 一、C语言标准和编译器 二、指定初始化 三、宏构造“利器”&#xff1a;语句表达式 四、typeof与container_of宏 五、零长度数组 六、属性声明&#xff1a;section 七、属性声明&#xff1a;aligned 一、C语言标准和编译器 C语言标准的发展过程&#xff1a; ●…...

密码学二: md5 网站服务器与用户通信过程 ca原理 签名原理 Flame 病毒原理

md5被破解? MD5&#xff08;Message Digest Algorithm 5&#xff09;是一个较早的哈希函数&#xff0c;但由于其弱点和漏洞&#xff0c;它已经被认为不再适合用于安全性要求较高的应用。MD5的一些安全性问题包括&#xff1a; 碰撞攻击&#xff1a; MD5已经被证明容易受到碰撞攻…...

Zend Framework 3.1.3 gadget chain

前言 在推特上的PT SWARM账号发布了一条消息。 一个名为Zend Framework的php框架出现了新的gadget chain&#xff0c;可导致RCE。笔者尝试复现&#xff0c;但失败了。所幸&#xff0c;我基于此链&#xff0c;发现在这个框架的最新版本中的另一条链。 复现过程 这里使用vscod…...

互联网Java工程师面试题·Java 并发编程篇·第四弹

目录 39、volatile 有什么用&#xff1f;能否用一句话说明下 volatile 的应用场景&#xff1f; 40、为什么代码会重排序&#xff1f; 41、在 java 中 wait 和 sleep 方法的不同&#xff1f; 42、用 Java 实现阻塞队列 43、一个线程运行时发生异常会怎样&#xff1f; 44、…...

3、Linux下安装

以下操作仅限于rh系列:支持rpm/yum安装方式&#xff0c;不支持deb/apt安装方式。 以下操作仅限于rh系列&#xff1a;支持rpm/yum安装方式&#xff0c;不支持 deb/apt安装方式。 1、在线下载安装包&#xff1a; wget https://downloads.mysql.com/archives/get/p/23/file/ m…...

Zookeeper【Curator客户端Java版】从0到1——万字学习笔记

目录 初识Zookeeper Zookeeper作用 维护配置信息 分布式锁服务 集群管理 生产分布式唯一ID Zookeeper的设计目标 Zookeeper 工作机制 数据模型 ZooKeeper 命令操作 服务端常用命令 客户端常用命令 ZooKeeper JavaAPI操作 Curator 介绍 Curator API 常用操作 导入依赖 建立连接 …...

生物标志物发现中的无偏数据分析策略

目录 0. 导论基本概念 1. 生物标志物发现的注意事项2. 数据预处理2.1 高质量原始数据和缺失值处理2.2 数据过滤2.3 数据归一化 3. 数据质量评估3.1 混杂因素3.2 类别分离3.3 功效分析3.4 批次效应 4. 生物标志物发现4.1 策略4.2 数据分析工具4.3 模型优化策略 0. 导论 组学技术…...

华为校招机试题- 机器人活动区域-2023年

题目描述: 现有一个机器人,可放置于 M N的网格中任意位置,每个网格包含一个非负整数编号。当相邻网格的数字编号差值的绝对值小于等于 1 时,机器人可在网格间移动 问题:求机器人可活动的最大范围对应的网格点数目。 说明: 1)网格左上角坐标为 (0, 0),右下角坐标为 (m-…...

不建网站如何做淘宝客/优就业seo课程学多久

对卷积网络可视化与可解释性相关资料的一些整理&#xff0c;不断更新中~ 最新更新参照知乎 主要作用 进一步理解CNN帮助我们分析训练好的网络学会如何生成热力图&#xff0c;如下图: 博客 Distill 非常推荐的一个网站Fun With ConvNets (dataviz!)Global Average Pooling Lay…...

东莞原创设计院官网/自媒体seo优化

科学工作者应该是什么性格的&#xff1f; 那天跟我一同学聊天&#xff0c;我说担心我这种性格不适合成为科学工作者&#xff0c;因为不是特别会来事&#xff0c;组织能力、交流能力都不突出&#xff0c;这样就很难经常和同行们保持联系&#xff0c;这样很难有大的突破。举一例是…...

做网站 需要了解什么/优化推广排名网站教程

文字参考 http://www.cnblogs.com/Jackson-Bruce/p/4011733.html 需求&#xff1a; 用户输入不同的文字&#xff0c;随机显示3中不同的背景色&#xff08;例如&#xff1a;“高兴”的背景色是绿色&#xff0c;则要求在所有的页面中&#xff0c;"高兴"标签的背景色就…...

网站怎么防止黑客攻击/网站推广和网站优化

如何建立一个元组&#xff1a; 元组用小括号包裹&#xff0c;并且括号里的元素用逗号分隔就代表这是一个元组。 元组与列表不同的是元组里面的元素不能修改。 a(1,2,3) 元组常用操作&#xff1a; tuple函数&#xff1a;以一个序列作为参数&#xff0c;并把它转换为元组 a[1,2,3…...

买完服务器怎么做网站/外贸网站搭建

目前css 流行的三大预编译有stylus、less 、 sass 说白了这些东西就是为了提高编码效率&#xff0c;更好的规整和简化 css代码的&#xff0c;相信大家less 就不用多说了用得都比较多了&#xff0c;在这里简单记录下stylus, sass 文章目录一、stylus使用1、首先在package.json增…...

请公司建网站/网络优化器免费

2019独角兽企业重金招聘Python工程师标准>>> JDBC Resultset获取日期时间型的几种方法 2013-01-07 22:03 6291人阅读 评论(2) 举报 分类&#xff1a; java&#xff08;12&#xff09; 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 1…...