docker容器---docker-compose容器集群的快速编排

一、Docker-compose简介

Docker-Compose项目是基于Python开发的Docker官方开源项目,负责实现对Docker容器集群的快速编排

Docker-Compose将所管理的容器分为三层,分别是 工程(project),服务(service)以及容器(container)。

  1. Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。
  2. 一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。
  3. 一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡,比如Consul。

Docker-Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。

使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。

Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

Docker-Compose项目由Python编写,调用Docker服务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API, 就可以在其上利用Compose来进行编排管理。

二、YAML文件格式及编写注意事项

1、YAML文件格式

  1. YAML 是一种标记语言,它可以很直观的展示数据序列化格式,可读性高。
  2. 类似于 json数据描述语言,语法比 json简单的很多。
  3. YAML 数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号分隔,数组用中括号 [ ] 括起来, hash 用花括号 { }括起来。

2、YAML格式的注意事项

  1. 不支持制表符 tab 键缩进,只能使用空格缩进
  2. 通常开头缩进2个空格
  3. 字符后缩进1个空格,如冒号 : 、逗号 , 、横杠 -
  4. 用 # 号注释
  5. 如果包含特殊字符用单引号 ‘’ 引起来作为普通字符;如果用双引号“”表示特殊字符本身的意思
  6. 布尔值必须用引号 “” 括起来
  7. 区分大小写

3、YAML数据结构

对象: 键值对的字典
animal: pets

数组: 一组按次序排列的列表
- cat
- dog
- goldfish

布尔值
debug: "true"
debug: "false"


#Yaml示例
languages:  #序列的映射
  - Java
  - Golang
  - Python
websites:   #映射的映射
  Baidu: www.baidu.com
  Wangyi: www.163.com
  Souhu: www.souhu.com
  
 
#或者 
languages: ["Java","Golong","Python"]
websites: 
  Baidu: 
    www.baidu.com
  Wangyi: 
    www.163.com
  Souhu: 
    www.souhu.com
 
 
 
#Json格式
{
  languages: [
    'Java',
    'Golong',
    'Python',
  ],
  websites: [
    Baidu: 'www.baidu.com',
    Wangyi: 'www.163.com',
    Souhu: 'www.souhu.com',
  ]
}

4、Docker-Compose配置常用字段

字段描述
build

指定 Dockerfile 文件名

(要指定Dockerfile文件需要在build标签的子级标签中使用dockerfile标签指定)

dockerfile构建镜像上下文路径
context可以是 dockerfile 的路径,或者是指向 git 仓库的 url 地址
image指定镜像(已存在)
command执行命令。覆盖容器启动后默认执行的命令(会覆盖Dockerfile的CMD指令)
container_name指定容器名称,由于容器名称是唯一的,如果指定自定义名称呢,则无法scale指定容器数量
deploy 指定部署和运行服务相关配置,只能在 Swarm 模式使用
environment添加环境变量
networks加入网络,引用顶级networks下条目
network_mode设置容器的网络模式,如 host, bridge,......
ports暴露容器端口,与 -p 相同,但端口不能低于 60
volumes挂载一个宿主机目录或命令卷到容器,命名卷要在顶级 volumes 定义卷名称
volumes_from从另一个服务或容器挂载卷,可选参数 :ro 和 :rw,仅版本 '2' 支持
hostname容器主机名
sysctls在容器内设置内核参数
links连接到另外一个容器,- 服务名称[:服务别名]
privileged用来给容器root权限,注意是不安全的,true | false
restart设置重启策略,no,always,nounless-st-failure,oped
no,默认策略,在容器退出时不重启容器。
on-failure,在容器非正常退出时(退出状态非0),才会重启容器。
on-failure:3,在容器非正常退出时重启容器,最多重启3次。
always,在容器退出时总是重启容器。
unless-stopped,在容器退出的容器时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了。

5、Docker-compose 常用命令

字段描述
build重新构建服务
ps列出容器

up

创建和启动容器
exec在容器里面执行命令
scale指定一个服务容器启动数量
top显示容器进程
logs查看容器输出
down删除容器、网络、数据卷和镜像
stop/start/restart停止/启动/重启服务

三、部署docker-compose

1、安装所需包

[root@localhost ~]#cd /opt/
[root@localhost opt]#ls
containerd  lnmp  rh
[root@localhost opt]#rz -E
rz waiting to receive.
[root@localhost opt]#ls
containerd  docker-compose-1.25.0  lnmp  rh
[root@localhost opt]#mv docker-compose-1.25.0 docker-compose
[root@localhost opt]#ls
containerd  docker-compose  lnmp  rh
[root@localhost opt]#chmod +x docker-compose 
[root@localhost opt]#ls
containerd  docker-compose  lnmp  rh
[root@localhost opt]#mv docker-compose /usr/local/bin/
[root@localhost opt]#docker-compose --version
docker-compose version 1.25.0-rc4, build 8f3c9c58

[root@localhost opt]#docker ps -a
CONTAINER ID   IMAGE        COMMAND                   CREATED        STATUS                    PORTS     NAMES
56b579133ec3   php:lnmp     "/bin/sh -c '/usr/lo…"   18 hours ago   Exited (0) 18 hours ago             php
28af5fe9d022   mysql:lnmp   "/usr/local/mysql/bi…"   19 hours ago   Exited (0) 18 hours ago             mysql
94f22e52423f   nginx:lnmp   "/usr/local/nginx/sb…"   22 hours ago   Exited (0) 18 hours ago             nginx
[root@localhost opt]#docker ps -a  | awk 'NR>=2{print "docker rm "$1}' | bash
56b579133ec3
28af5fe9d022
94f22e52423f
[root@localhost opt]#docker images 
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
php          lnmp      3f352863e19b   18 hours ago   1.4GB
mysql        lnmp      d446e4998a17   20 hours ago   10.1GB
nginx        lnmp      97a40e10689a   22 hours ago   569MB
nginx        latest    7383c266ef25   5 days ago     188MB
centos       7         eeb6ee3f44bd   2 years ago    204MB

2、部署docker-compose (nginx)

1.创建管理文件夹

[root@localhost opt]#ls
containerd  lnmp  rh
[root@localhost opt]#mkdir -p /opt/docker-compose_nginx
[root@localhost opt]#cd /opt/docker-compose_nginx/
[root@localhost docker-compose_nginx]#mkdir wwwroot
[root@localhost docker-compose_nginx]#ls
wwwroot
[root@localhost docker-compose_nginx]#mkdir /opt/docker-compose_nginx/nginx
[root@localhost docker-compose_nginx]#cd nginx/
[root@localhost nginx]#ls
[root@localhost nginx]#cd /opt/lnmp/nginx/
[root@localhost nginx]#ls
Dockerfile  html  nginx-1.12.0.tar.gz  nginx.conf  wordpress-4.9.4-zh_CN.tar.gz
[root@localhost nginx]#cp -r Dockerfile nginx-1.12.0.tar.gz /opt/docker-compose_nginx/nginx/
[root@localhost nginx]#cd -
/opt/docker-compose_nginx/nginx
[root@localhost nginx]#ls
Dockerfile  nginx-1.12.0.tar.gz

[root@localhost nginx]#yum -y install tree

2.编写Dockerfile文件

[root@localhost nginx]#vim run.sh

#!/bin/bash
/usr/local/nginx/sbin/nginx

[root@localhost nginx]#vim Dockerfile

FROM centos:7
MAINTAINER this is nginx image <ah>
RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make
RUN useradd -M -s /sbin/nologin nginx
ADD nginx-1.12.0.tar.gz /usr/local/src/
WORKDIR /usr/local/src/nginx-1.12.0
RUN ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
RUN make -j 4 && make install
ENV PATH /usr/local/nginx/sbin:$PATH
EXPOSE 80
EXPOSE 443
ENTRYPOINT [ "/usr/local/nginx/sbin/nginx","-g","daemon off;" ]

[root@localhost wwwroot]#pwd
/opt/docker-compose_nginx/wwwroot
[root@localhost wwwroot]#echo "<h1>this is nginx</h1>" > /opt/docker-compose_nginx/wwwroot/index.html

3.编写docker-compose.yml

[root@localhost docker-compose_nginx]#pwd
/opt/docker-compose_nginx
[root@localhost docker-compose_nginx]#vim docker-compose.yml

service:
  nginx:
    container_name: web
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 1234:80
      - 4321:443
    networks:
      lnmp:
        ipv4_address: 172.19.0.10
    volumes:
      - ./wwwroot:/usr/local/nginx/html
networks:
  mykysw:
    driver: bridge
    ipam:
      config:
        - subnet: 172.19.0.0/16

4.查看

[root@localhost docker-compose_nginx]#pwd
/opt/docker-compose_nginx
[root@localhost docker-compose_nginx]#tree
.
├── docker-compose.yml
├── nginx
│?? ├── Dockerfile
│?? ├── nginx-1.12.0.tar.gz
│?? └── run.sh
└── wwwroot
    └── index.html

2 directories, 5 files

 5.创建

6.验证

7.查看网络及IP地址 

 

3、部署docker-compose (nginx+tomcat)

1.docker-compose.yml

[root@localhost docker-compose_nginx]#vim docker-compose.yml 

version: '3'
services:
  nginx:
    container_name: web1
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 1234:80
      - 4321:443
    networks:
      lnmp:
        ipv4_address: 172.19.0.10
    volumes:
      - ./wwwroot:/usr/local/nginx/html
  tomcat:
    container_name: web2
    hostname: tomcat
    build:
      context: ./tomcat
      dockerfile: Dockerfile
    ports:
      - 8080:8080
    networks:
      - lnmp:
networks:
  lnmp:
    driver: bridge
    ipam:
      config:
        - subnet: 172.19.0.0/16

2.将前面得web停止并删除

[root@localhost docker-compose_nginx]#docker ps 
CONTAINER ID   IMAGE                        COMMAND                   CREATED       STATUS       PORTS                                                                            NAMES
822da62329dd   docker-compose_nginx_nginx   "/usr/local/nginx/sb…"   2 hours ago   Up 2 hours   0.0.0.0:1234->80/tcp, :::1234->80/tcp, 0.0.0.0:4321->443/tcp, :::4321->443/tcp   web
[root@localhost docker-compose_nginx]#docker stop web
web
[root@localhost docker-compose_nginx]#docker rm web
web

删除镜像

[root@localhost docker-compose_nginx]#docker images 
REPOSITORY                   TAG       IMAGE ID       CREATED        SIZE
docker-compose_nginx_nginx   latest    b53232cf8956   2 hours ago    569MB
php                          lnmp      3f352863e19b   23 hours ago   1.4GB
mysql                        lnmp      d446e4998a17   24 hours ago   10.1GB
nginx                        lnmp      97a40e10689a   27 hours ago   569MB
nginx                        latest    7383c266ef25   6 days ago     188MB
centos                       7         eeb6ee3f44bd   2 years ago    204MB
[root@localhost docker-compose_nginx]#docker rmi b53232cf8956
Untagged: docker-compose_nginx_nginx:latest
Deleted: sha256:b53232cf89565d4809d6580c40e6d410045a12baa2093c7c3dca8500fef25dd1
Deleted: sha256:c96b94b951f6995c3a08a511b4f9bcaf946d59e854abca693724a019acbea6c9
Deleted: sha256:b927f4590f300cd65ec3221b9207fca786121a9945f013647b95e35605d478e1
Deleted: sha256:fc083d1e4e5e001f971127691903c791b2d1e410845a7a80b3191e6daf9f3eed
Deleted: sha256:309a2811bf2be28b373a2f7ab9031288c3de2324c4baca43af9ee083f50762d2
Deleted: sha256:cb5cd75405984df005e991407e6f297ab6b8a4df9d9a0f5492aa2c286d1d3a8a
Deleted: sha256:6e4f5758bb520b355176a09f9ec1adb120ba16ba5b4cac476b53e552e9deab8c
Deleted: sha256:d847363fe07f07191510bb344f16fea90b08ad184bb197ad91a78f76e837af10
Deleted: sha256:cd279ee686dd81a052abb2186d350166829069738a969283b4605d28b7a029a2
Deleted: sha256:02b297343f9e6154cb5ae7cfd463329bbc5c6e571fc135d3489cabde6eba6b25
Deleted: sha256:f64bc769af5ded3de3938b2baf7259c6c3430921eb02a315199b17438c5370d4
Deleted: sha256:9fe95a817933ccaf72c14c51e28b6a83877fdacfee785b2f3b3850fcf54a0294
Deleted: sha256:f2ef02d8183a673b7645525021b8b43ba8291f06313ec4fd92352190f044bf20
Deleted: sha256:d9c98a6944c7f9b59c7f25ba49842af4152c4c467eae723f6a4b8f1fde210520
Deleted: sha256:ad949c056e1c32df2f31e55b4d58b448cecd0208e49cf04e8737dea9a9f0e28f
Deleted: sha256:fda4ed2dcf4c6b0413285f260eccdfa07bace68af94952220bca2f36d89feeb4

删除网路

[root@localhost docker-compose_nginx]#docker network list
NETWORK ID     NAME                        DRIVER    SCOPE
213c0b6bc77b   bridge                      bridge    local
0d33d51242cc   docker-compose_nginx_lnmp   bridge    local
74a43c49b8c6   host                        host      local
adf31dc63e2f   mynetwork                   bridge    local
71f04f9ad5e1   none                        null      local
[root@localhost docker-compose_nginx]#docker network rm docker-compose_nginx_lnmp
docker-compose_nginx_lnmp
[root@localhost docker-compose_nginx]#docker network list
NETWORK ID     NAME        DRIVER    SCOPE
213c0b6bc77b   bridge      bridge    local
74a43c49b8c6   host        host      local
adf31dc63e2f   mynetwork   bridge    local
71f04f9ad5e1   none        null      local

3.建立tomcat文件夹

[root@localhost docker-compose_nginx]#mkdir tomcat
[root@localhost docker-compose_nginx]#cd tomcat/
[root@localhost tomcat]#cp -r ../../apache-tomcat-8.5.16.tar.gz ./
[root@localhost tomcat]#cp -r ../../jdk-8u291-linux-x64.tar.gz ./
[root@localhost tomcat]#ls
apache-tomcat-8.5.16.tar.gz  jdk-8u291-linux-x64.tar.gz
[root@localhost tomcat]#vim Dockerfile
[root@localhost tomcat]#ls
apache-tomcat-8.5.16.tar.gz  Dockerfile  jdk-8u291-linux-x64.tar.gz

[root@localhost tomcat]#vim Dockerfile 

FROM centos:7
MAINTAINER this is tomcat images <hg>
ADD jdk-8u91-linux-x64.tar.gz /usr/local/
WORKDIR /usr/local/
RUN mv jdk1.8.0_91 /usr/local/java
ENV JAVA_HOME /usr/local/java
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH $JAVA_HOME/bin:$PATH
ADD apache-tomcat-8.5.16.tar.gz /usr/local/
WORKDIR /usr/local/
RUN mv apache-tomcat-8.5.16 /usr/local/tomcat
EXPOSE 8080
#CMD ["/usr/local/tomcat/bin/catalina.sh","run"]
ENTRYPOINT ["/usr/local/tomcat/bin/catalina.sh","run"]
CMD ["/usr/local/tomcat/bin/startup.sh","start"]

4.创建

[root@localhost docker-compose_nginx]#docker-compose -f docker-compose.yml up -d

5.查看容器及镜像

[root@localhost docker-compose_nginx]#docker ps 
CONTAINER ID   IMAGE                         COMMAND                   CREATED              STATUS              PORTS                                                                            NAMES
c89e55c7c012   docker-compose_nginx_tomcat   "/usr/local/tomcat/b…"   About a minute ago   Up About a minute   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                        web2
2efe6549806d   docker-compose_nginx_nginx    "/usr/local/nginx/sb…"   About a minute ago   Up About a minute   0.0.0.0:1234->80/tcp, :::1234->80/tcp, 0.0.0.0:4321->443/tcp, :::4321->443/tcp   web1
[root@localhost docker-compose_nginx]#docker-compose ps
Name              Command               State                                     Ports                                  
-------------------------------------------------------------------------------------------------------------------------
web1   /usr/local/nginx/sbin/ngin ...   Up      0.0.0.0:4321->443/tcp,:::4321->443/tcp,                                  
                                                0.0.0.0:1234->80/tcp,:::1234->80/tcp                                     
web2   /usr/local/tomcat/bin/cata ...   Up      0.0.0.0:8080->8080/tcp,:::8080->8080/tcp   

[root@localhost docker-compose_nginx]#docker images 
REPOSITORY                    TAG       IMAGE ID       CREATED         SIZE
docker-compose_nginx_tomcat   latest    30212342cf39   2 minutes ago   950MB
docker-compose_nginx_nginx    latest    9ac7efd323ca   2 minutes ago   569MB
php                           lnmp      3f352863e19b   23 hours ago    1.4GB
mysql                         lnmp      d446e4998a17   25 hours ago    10.1GB
nginx                         lnmp      97a40e10689a   27 hours ago    569MB
nginx                         latest    7383c266ef25   6 days ago      188MB
centos                        7         eeb6ee3f44bd   2 years ago     204MB

6.查看地址

[root@localhost docker-compose_nginx]#docker ps 
CONTAINER ID   IMAGE                         COMMAND                   CREATED         STATUS         PORTS                                                                            NAMES
c89e55c7c012   docker-compose_nginx_tomcat   "/usr/local/tomcat/b…"   4 minutes ago   Up 4 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp                                        web2
2efe6549806d   docker-compose_nginx_nginx    "/usr/local/nginx/sb…"   4 minutes ago   Up 4 minutes   0.0.0.0:1234->80/tcp, :::1234->80/tcp, 0.0.0.0:4321->443/tcp, :::4321->443/tcp   web1
[root@localhost docker-compose_nginx]#docker inspect c89e55c7c012 | grep IPAddress
            "SecondaryIPAddresses": null,
            "IPAddress": "",
                    "IPAddress": "172.19.0.2",

7.删除容器、网络、数据卷和镜像

[root@localhost docker-compose_nginx]#docker-compose -f docker-compose.yml down
Stopping web2 ... done
Stopping web1 ... done
Removing web2 ... done
Removing web1 ... done
Removing network docker-compose_nginx_lnmp
[root@localhost docker-compose_nginx]#docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost docker-compose_nginx]#docker network  list
NETWORK ID     NAME        DRIVER    SCOPE
213c0b6bc77b   bridge      bridge    local
74a43c49b8c6   host        host      local
adf31dc63e2f   mynetwork   bridge    local
71f04f9ad5e1   none        null      local
[root@localhost docker-compose_nginx]#docker images 
REPOSITORY                    TAG       IMAGE ID       CREATED         SIZE
docker-compose_nginx_tomcat   latest    30212342cf39   8 minutes ago   950MB
docker-compose_nginx_nginx    latest    9ac7efd323ca   8 minutes ago   569MB
php                           lnmp      3f352863e19b   24 hours ago    1.4GB
mysql                         lnmp      d446e4998a17   25 hours ago    10.1GB
nginx                         lnmp      97a40e10689a   27 hours ago    569MB
nginx                         latest    7383c266ef25   6 days ago      188MB
centos                        7         eeb6ee3f44bd   2 years ago     204MB
[root@localhost docker-compose_nginx]#

总结:

一、什么是Docker-compose

docker-cpmpose是实现在单机上完成容器集群编排的管理  单机容器编排

docker-compose。yml  compose模板文件

工程(项目)   project   LNMP

服务   nginx  mysql  php

容器   container  容器名  --name  主机名 -h  镜像  image:tag 端口  -p  网络  --network  数据卷  -v .......

使用 docker-compose 可以完成 多个 docker run 的所有操作

二、使用Docker-compose注意事项:

大小写敏感
通过缩进表示层级关系
不支持制表符 tab 键缩进,只能使用空格缩进
缩进的空格数目不重要,只要相同层级左对齐,通常开头缩进2个空格
用 # 号注释
符号字符后缩进1个空格,如冒号 :  、逗号 ,  、横杠 -    
如果包含特殊字符用单引号('')引起来会作为普通字符串处理,双引号(""): 特殊字符作为本身想表示的意思

三、Docker-compose 配置的字段

字段                               		描述
build                              		指定 Dockerfile 文件名,
										要指定Dockerfile文件需要在build标签的子级标签中使用dockerfile标签指定
dockerfile                         		构建镜像上下文路径
context                            		可以是 dockerfile 的路径,或者是指向 git 仓库的 url 地址
image                              		指定镜像
command:                          		执行命令,覆盖容器启动后默认执行的命令
container_name                     		指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale指定容器数量
deploy                             		指定部署和运行服务相关配置,只能在 Swarm 模式使用
environment                        		添加环境变量
networks                           		加入网络,引用顶级networks下条目
network_mode							设置容器的网络模式,如 host,bridge,...
ports                              		暴露容器端口,与 -p 相同,但端口不能低于 60
volumes                            		挂载一个宿主机目录或命令卷到容器,命名卷要在顶级 volumes 定义卷名称
volumes_from							从另一个服务或容器挂载卷,可选参数 :ro 和 :rw,仅版本 '2' 支持
hostname                           		容器主机名
sysctls									在容器内设置内核参数
links									连接到另外一个容器,- 服务名称[:服务别名]
privileged								用来给容器root权限,注意是不安全的,true | false
restart                            		设置重启策略,no,always,nounless-st-failure,oped
										no,默认策略,在容器退出时不重启容器。
										on-failure,在容器非正常退出时(退出状态非0),才会重启容器。
										on-failure:3,在容器非正常退出时重启容器,最多重启3次。
										always,在容器退出时总是重启容器。
										unless-stopped,在容器退出的容器时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了。

四、docker-compose 基本命令

字段                    					    描述
build                   					重新构建服务
ps                      					列出容器
up                      					创建和启动容器	
exec                    					在容器里面执行命令
scale                   					指定一个服务容器启动数量
top                     					显示容器进程
logs                    					查看容器输出
down                    					删除容器、网络、数据卷和镜像
stop/start/restart      					停止/启动/重启服务

五、案例执行操作

1、nginx

2、nginx+tomcat

等等

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

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

相关文章

使用vue3+elementplus的级联选择器实现省市区联动(三级到五级)

中华人民共和国行政区划代码 github地址&#xff1a;https://github.com/uiwjs/province-city-china 中华人民共和国行政区划&#xff08;五级&#xff09;&#xff1a;省级、地级、县级、乡级和村级。来自中华人民共和国民政部&#xff0c;用于查询中国省&#xff0c;市和区数…

linux远程访问及控制

一、SSH远程管理 1.SSH的简介 SSH远程管理是一种通过 SSH 协议安全地管理远程计算机的方法。允许管理员通过加密的连接从本地计算机或其他远程位置连接到远程计算机&#xff0c;并执行管理任务、配置设置、故障排除等操作。 远程链接的两种方法&#xff1a;SSH 、Telnet S…

函数定义域和值域

定义域和值域 1. 函数的定义 函数的定义&#xff1a;一般的&#xff0c;在一个变化过程中&#xff0c;假设有两个变量 x x x&#xff0c; y y y&#xff0c;如果对于任意一个 x x x 都有唯一确定的一个 y y y 和它对应&#xff0c;那么就称 x x x 是自变量&#xff0c; y…

C++初阶学习第四弹——类与对象(中)——刨析类与对象的核心点

类与对象&#xff08;上&#xff09;&#xff1a;C初阶学习第三弹——类与对象&#xff08;上&#xff09;——初始类与对象-CSDN博客 前言&#xff1a; 在前面文章中&#xff0c;我们已经讲了类与对象的思想和类与对象的一些基本操作&#xff0c;接下来这篇文章我们将讲解以下…

会计稳健性Cscore模型(2000-2022年)

01、数据介绍 会计稳健性是指在财务报告中&#xff0c;对损失和收益的确认存在不对称的延迟。具体来说&#xff0c;对于损失或坏消息&#xff0c;企业应尽早确认&#xff1b;而对于收益或好消息&#xff0c;企业应延迟确认。这种稳健的会计处理方式有助于提高财务报告的质量&a…

人工原生动物优化器(APO)-2024年SCI一区新算法-公式原理详解与性能测评 Matlab代码免费获取

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 原理简介 一、觅食行为 (1)自养模式 (2)异…

[CUDA 学习笔记] GEMM 优化: 双缓冲 (Prefetch) 和 Bank Conflict 解决

GEMM 优化: 双缓冲 (Prefetch) 和 Bank Conflict 解决 前言 本文主要是对 深入浅出GPU优化系列&#xff1a;GEMM优化&#xff08;一&#xff09; - 知乎, 深入浅出GPU优化系列&#xff1a;GEMM优化&#xff08;二&#xff09; - 知乎 以及 深入浅出GPU优化系列&#xff1a;GE…

Git工具的使用

文章目录 Git概述本地仓库命令远程仓库命令分支操作标签操作 IDEA上执行Git Git概述 一般工作流程如下&#xff1a; 从远程仓库中克隆 Git 资源作为本地仓库&#xff1b; 从本地仓库中checkout代码然后进行代码修改&#xff1b; 在提交本地仓库前先将代码提交到暂存区&#xff…

上市公司-双重差分模型手动匹配绿色企业数据及参考资料

01、数据简介 双重差分模型&#xff08;DID&#xff0c;Differences-in-Differences&#xff09;是一种用于估计某个政策或处理效果的经济计量学模型。通过双重差分模型&#xff0c;可以控制一些不易观察的个体特征和时间趋势&#xff0c;以更准确地估计政策的效应。将绿色企业…

OmniReader Pro for Mac:强大且全面的阅读工具

OmniReader Pro for Mac是一款专为Mac用户设计的强大且全面的阅读工具&#xff0c;它集阅读、编辑、管理等多种功能于一身&#xff0c;为用户提供了卓越的阅读体验。 OmniReader Pro for Mac v2.9.5激活版下载 该软件支持多种文件格式的阅读&#xff0c;包括PDF、Word、Excel、…

Python中PYTHONPATH与sys.path详解——看完不会用你打我

一、PYTHONPATH是什么 PYTHONPATH是python查找模块和包的路径&#xff0c;当导入模块时&#xff0c;python解释器将按顺序在PYTHONPATH下寻找。 通过sys.path可以查看PYTHONPATH的值&#xff0c;路径列表的第一个元素为空字符串&#xff0c;代表的是相对路径下的当前目录&…

特斯拉携手百度攻克在华推广辅助驾驶难题,马斯克意外访华成果显著

特斯拉近日宣布与科技巨头百度达成合作协议&#xff0c;共同为中国市场提供地图和导航服务&#xff0c;以进一步推动其辅助驾驶系统的广泛应用。这一重要进展得益于特斯拉CEO埃隆马斯克上周的意外访问。 更多消息&#xff1a;AI人工智能行业动态&#xff0c;aigc应用领域资讯 …

盼你快治好肺癌,处死360那个鬼

近日《网易首页>网易号》发表《周鸿祎突然咳嗽不停&#xff0c;三锥子扎不出血&#xff0c;网友怀疑是癌症》一文&#xff0c;引发网络热议不断。有网友发布一张周鸿祎朋友圈的图片显示&#xff0c;周鸿祎因为“咳嗽不停”在治疗。 周鸿祎在朋友圈写到“咳嗽不停&#xff0…

数之寻软件怎么样?

数之寻软件是一款功能强大的数据恢复和备份软件&#xff0c;以下是对其特点和功能的详细评价&#xff1a; 一、数据恢复方面&#xff1a; 高效的数据恢复能力&#xff1a;数之寻软件采用了先进的算法和数据恢复技术&#xff0c;能够快速有效地恢复丢失或损坏的数据。无论是文…

stm32f103外设学习

RTC STM32F103C8T6基于HAL库制作RTC时钟_stm32f103c8t6 rtc-CSDN博客 【STM32】HAL库 STM32CubeMX教程十三---RTC时钟_基于stm32f407hal库的rtc实时时钟-CSDN博客 方案 有三个时钟&#xff0c;我们选择LSE时钟(前两个时钟是受VDD影响的&#xff0c;而且LSI不稳定有温漂) 有…

数字孪生智慧工厂

万界星空科技数字孪生可视化平台打造的智慧工厂运营管理系统&#xff0c;支持融合工业大数据、物联网、人工智能等各类信息技术&#xff0c;整合工厂现有信息系统的数据资源&#xff0c;通过数字孪生技术将真实的工厂还原。 设备运检可视化 提供统一的生产运检可视化管理平台&…

Windows命令行基本命令

目录 什么是相对路径和绝对路径&#xff1f; 一、目录&#xff08;文件夹&#xff09;和文件操作 1.cd命令 用于切换目录 2.dir命令 用于显示目录和文件列表 3.md或mkdir命令 创建文件&#xff0c;也可以创建多级子目录 4.rd命令 用于删除目录 5.move命令 用于移动…

外包干了16天,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01; 而我已经在一个企业干了四年的功能…

HackMyVM-Slackware

目录 信息收集 arp-scan nmap nikto whatweb WEB web信息收集 gobuster wfuzz hydra ssh连接 提权 系统信息收集 get root 信息收集 arp-scan ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 08:00:27:9d:6d:7b, IPv4…

Linux提权--SUID提权内核漏洞本地用户提权

免责声明:本文仅做技术交流与学习,请不要乱搞破坏... 目录 SUID提权 漏洞成因 提权过程: 手工命令探针: 参考利用&#xff1a; 脚本探针: LinEnum.sh traitor linuxprivchecker等等... Linux命令的利用: find命令 利用nc反弹 利用python反弹--棱角 内核漏洞本地用…
最新文章