主頁 >  其他 > Docker實作SpringBoot專案的快速構建(一)

Docker實作SpringBoot專案的快速構建(一)

2021-06-11 07:48:18 其他

目錄

前言:

公開悄悄話:

技術堆疊:

1.Docker圖解

2.Docker的安裝以及使用

2.1.Docker的安裝

2.1.1.卸載舊版本

2.1.2安裝Docker

2.2.Docker的使用

2.2.1.Docker常用命令

2.2.2搞個容器玩玩

3.Spring Boot專案制作鏡像

3.1.創建Springboot專案

3.1.1.liquibase解釋

3.2.制作Dockerfile檔案

3.3.制作鏡像并運行


前言:

最近在搞一個單機版專案,我要在linux環境中搞一套開發(DEV)環境,還要再搞一套測驗(PRE)環境,上線后當然還要部署一套生成(PRD)環境,專案中要用到工程Jar、Redis、Mysql等等

較蠢的辦法當然是安裝下載源檔案、環境配置、工程打包、上傳服務器、一個個啟動有的行程啟動還要有先后順序,一套環境安裝下來就得消耗半個運維,如果不止一個jar包而是微服務多個jar包,如果產品火了市場大賣,那公司得多準備些運維用來消耗

當然牛一點的運維為了保命學會了寫sheel腳本,通過shell腳本去執行,效率直接翻倍,

不會shell腳本的運維默默的遞交了辭職書

開發偷偷的跑到領導辦公室

老板走到連shell都會寫的運維面前

公開悄悄話:

別問我怎么知道的,問我我就說

文末有工程git地址,也有微信二維碼,歡迎點贊收藏

技術堆疊:

本文涉及到的技術堆疊包括:Docker的常規操作、SpringBoot專案制作鏡像(DockerFile)、Liquibase的使用

1.Docker圖解

我剛接觸也一臉悶逼,什么叫鏡像,什么叫容器,什么叫資料卷

用一張圖來給大家形象的比劃一下,當然我們只需要理解一個每個名詞的意思是什么,就沒必要去搞懂什么一個鏡像有多少層,每一層代表什么意思,如果有不準確的地方還望大家指出來,

2.Docker的安裝以及使用

2.1.Docker的安裝

大家可以參考官網的安裝,官網的安裝步驟還算詳細,也可以直接看下面的步驟,只是對官網做了簡單點翻譯和刪減,

直接復制、粘貼、回車,就搞定了,

2.1.1.卸載舊版本

較舊的Docker版本稱為dockerdocker-engine,如果已安裝這些程式,請卸載它們以及相關的依賴項,

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.1.2安裝Docker

在新主機上首次安裝Docker Engine之前,需要設定Docker存盤庫,之后,您可以從存盤庫安裝和更新Docker,

設定存盤庫

安裝yum-utils軟體包(提供yum-config-manager 實用程式)并設定穩定的存盤庫

 sudo yum install -y yum-utils
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安裝最新版本的Docker Engine和容器

 sudo yum install docker-ce docker-ce-cli containerd.io

設定一下開機啟動

systemctl enable docker

安裝完成,啟動Docker

 sudo systemctl start docker

添加鏡像加速,因為docker的鏡像倉庫在國外,很多鏡像下起來賊慢,這里推薦使用阿里的鏡像加速

  • 訪問 https://cr.console.aliyun.com/cn-hangzhou/mirrors,然后點擊鏡像加速器,會看到如下資訊
  • 修改/etc/docker/daemon.json 檔案,沒有的話新增一個如下:
  • [root@adobe2 docker]# touch daemon.json
    [root@adobe2 docker]# ls
    daemon.json  key.json
    [root@adobe2 docker]# nano daemon.json 
    [root@adobe2 docker]# cat daemon.json 
    {
      "registry-mirrors": ["https://******.mirror.aliyuncs.com"]
    }
    

通過運行hello-world 映像來驗證是否正確安裝了Docker Engine

sudo docker run hello-world

出現如下則說明安裝成功,可以看出首先沒有找到image(鏡像),沒找到的情況下會去鏡像倉庫pull(下載),

[root@adobe2 ~]#  sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b8dfde127a29: Already exists 
Digest: sha256:f2266cbfc127c960fd30e76b7c792dc23b588c0db76233517e1891a4e357d519
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

這時候輸入命令>docker images就可以看到我們本地的鏡像了

[root@adobe2 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
hello-world   latest    d1165f221234   7 weeks ago   13.3kB
[root@adobe2 ~]# 

2.2.Docker的使用

2.2.1.Docker常用命令

下面列一些docker常用的命令,本文的重點不在這,想學的明白一點的可以自行去官網或者菜鳥教程學習

  • docker images 查看本地鏡像
  • docker ps 查看已經啟動的容器
  • docker ps -a 查看所有容器
  • docker ps -l 查看最近一次啟動的容器
  • docker run -d -p 80:80 --name "redis_name" --restart=always redis 啟動redis,-d表示后臺啟動,-p標識埠映射(前是對外埠,后是容器內的埠),--name自定義容器名,--restart=always掛了自動重啟,還有一個常用的-v命令資料庫的掛載,
  • docker exec -it redis_name bash 進入容器
  • docker stop redis_name 停止容器
  • docker rm -f redis_name 洗掉容器

2.2.2搞個容器玩玩

下載鏡像可以到Docker Hub上去查找,拉取鏡像,

地址:https://hub.docker.com/

我們來安裝個Nginx試試,

[root@adobe2 ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
f7ec5a41d630: Pull complete 
aa1efa14b3bf: Pull complete 
b78b95af9b17: Pull complete 
c7d6bca2b8dc: Pull complete 
cf16cd8e71e0: Pull complete 
0241c68333ef: Pull complete 
Digest: sha256:75a55d33ecc73c2a242450a9f1cc858499d468f077ea942867e662c247b5e412
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@adobe2 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
nginx         latest    62d49f9bab67   13 days ago   133MB
hello-world   latest    d1165f221234   7 weeks ago   13.3kB

可以看到鏡像已經拉下來,我們啟動一下,Nginx默認埠80,-d 后臺運行,-p 80:80 后一個80就是nginx容器中默認訪問Nginx的埠,前一個80埠就是通過宿主機暴露出來的埠,

[root@adobe2 ~]# docker run -d -p 80:80 --name nginx01 nginx
7ded1c1ba12ffce86a90153e7ecd3c024aa526c79fa86ec46337f0d8121a359e
[root@adobe2 ~]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                               NAMES
7ded1c1ba12f   nginx     "/docker-entrypoint.…"   8 seconds ago   Up 5 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   nginx01

這時我們打開瀏覽器輸入: <宿主機Ip>:80

可以看到已經啟動成功,正好這里我們來將一下 -v 引數的使用

我們現在訪問Nginx的這個頁面是在Nginx容器中的index.html頁面,我們可以通過docker inspect nginx01 查看這個容器的所有資訊,里面有一個MergedDir引數就是對應的宿主機中的地址,當然我們正常通過進入到容器中查看

[root@adobe2 html]# docker exec -it nginx01 bash
root@7ded1c1ba12f:/# cd /usr/share/nginx/html/
root@7ded1c1ba12f:/usr/share/nginx/html# ls
50x.html  index.html
root@7ded1c1ba12f:/usr/share/nginx/html# cat index.html 
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

這時候我們在本地本地根路徑下,創建一個/nginx/index.html檔案,內容為<h1>adobe 666</h1>,然后通過 -v 命令掛在到容器中/usr/share/nginx/html/這個檔案夾下,然后看效果

[root@adobe2 html]# cd ~
[root@adobe2 ~]# ls
anaconda-ks.cfg  original-ks.cfg
[root@adobe2 ~]# mkdir nginx
[root@adobe2 ~]# ls
anaconda-ks.cfg  nginx  original-ks.cfg
[root@adobe2 ~]# cd nginx/
[root@adobe2 nginx]# echo "<h1>di li re ba ai shang wo</h1>" > index.html
[root@adobe2 nginx]# ls
index.html
[root@adobe2 nginx]# cat index.html 
<h1>adobe 666</h1>

啟動容器

[root@adobe2 nginx]# docker run -d --name nginx02 -p 81:80 -v /root/nginx/:/usr/share/nginx/html/ nginx
377685c7747b242d3eeba796421992fc14b9c633b7a60d31d2419304fbda06b2
[root@adobe2 nginx]# 

打開瀏覽器輸入: <宿主機Ip>:81

理解-v的意思了么?再生產中常用到的例如組態檔的掛載,日志的掛載等,

3.Spring Boot專案制作鏡像

3.1.創建Springboot專案

該專案中用到的技術包括:mybatis-plus(加上代碼生成器)、liquibase

Git代碼奉上,請笑納:

mybatis-plus這個講就有點麻煩了,大家想用的話可以去學一學,賊好用

大家可能對liquibase有點陌生,這里就針對這個liquibase做個簡單的解釋

3.1.1.liquibase解釋

引入pom

   <dependency>
      <groupId>org.liquibase</groupId>
      <artifactId>liquibase-core</artifactId>
      <version>4.3.1</version>
   </dependency>

application.yml配置,可以看到

liquibase:
change-log: classpath:db/changelog/master.xml

server:
  port: 8080
  servlet:
    context-path: /dockertest

spring:
  application:
    name: dockertest
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/dockertest?serverTimezone=GMT%2B8&characterEncoding=utf8&useUnicode=true&useSSL=false
    username: root
    password: root
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
    serialization:
      write-dates-as-timestamps: false
  liquibase:
    change-log: classpath:db/changelog/master.xml


mybatis-plus:
  configuration:
    map-underscore-to-camel-case: true
    auto-mapping-behavior: full
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath*:mapper/**/*Mapper.xml
  global-config:
    # 邏輯洗掉配置
    db-config:
      # 洗掉前
      logic-not-delete-value: 1
      # 洗掉后
      logic-delete-value: 0

主目錄是master.xml

然后你要有腳本的話就自己創建回應的XML檔案,然后添加到master.xml中

例如我要初始化一個表tb_docker,我建一個檔案 2021-04-24-PZF.xml

<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
    
   <changeSet id="add table tb_docker" author="pengzf">
       <sql>
           CREATE TABLE `tb_docker` (
           `id` int(8) NOT NULL AUTO_INCREMENT,
           `name` varchar(16) DEFAULT NULL,
           `age` int(4) DEFAULT NULL,
           PRIMARY KEY (`id`)
           ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
       </sql>
   </changeSet>
   <changeSet id="add data to tb_docker" author="pengzf">
        <sql>
            INSERT INTO tb_docker VALUES (1,"張三",32)
        </sql>
    </changeSet>
</databaseChangeLog>

然后將檔案2021-04-24-PZF.xml添加到master.xml中

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

    <include file="2021-04-24-PZF.xml" relativeToChangelogFile="true"></include>

</databaseChangeLog>

搞定,就是這么easy

先看一下資料庫原來的樣子,沒有任何表

啟動專案之后,可以看到出現三個表,當然tb_docker里面有沒有那條張三的記錄呢?你猜

大家應該對liquibase有那么點了解了吧?例如我有多個環境,我就不需要每個環境手動執行初始化腳本了,還能保證手動執行帶來的不確定性,

我敢打賭不會有問題,如果有問題的話,掃描下方二維碼

3.2.制作Dockerfile檔案

直接創建一個檔案名為Dockerfile

# 指定父鏡像,基于java:8運行,
FROM java:8
# 作者
MAINTAINER 15705116160@163.com

VOLUME /tmp
# 本地jar包拷貝到容器中,命名為mydockertest.jar
ADD dockertest.jar mydockertest.jar
# 容器創建時執行一段命令,構建鏡像時執行的命令
RUN bash -c 'touch /mydockertest.jar'

ENTRYPOINT ["java","-Djava.-Djava.security.egd=file:/dev/./urandom","-jar","/mydockertest.jar"]
# 暴露出去的埠
EXPOSE 8080

3.3.制作鏡像并運行

注意我們linux上面現在沒有安裝mysql,我們可以先將我們工程里面與資料源鏈接的地方都注釋掉,修改啟動檔案

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})排除spring自動加載的資料源配置

我在Controller里面寫了一個方法

@RestController
@RequestMapping("/tb-docker")
public class TbDockerController {
    @GetMapping("/testTwo")
    public String testTwo(){
        return "Hello World";
    }
}

打包,在linux的根路徑下創建檔案夾springboot,并將jar包和Dockerfile上傳進去

[root@adobe2 nginx]# cd ~
[root@adobe2 ~]# ls
anaconda-ks.cfg  nginx  original-ks.cfg
[root@adobe2 ~]# mkdir springboot
[root@adobe2 ~]# cd springboot/
[root@adobe2 springboot]# rz -y

[root@adobe2 springboot]# rz -y
[root@adobe2 springboot]# ls
Dockerfile  dockertest.jar
[root@adobe2 springboot]# 

在該檔案夾中執行命令docker build -t dockertest:01 .

因為Dockerfile檔案就在該檔案夾下,所以可以直接運行,否則的話需要-f命令指定Doclerfile檔案,容器命名為dockertest,tag為01

[root@adobe2 springboot]# docker build -t dockertest:01 .
Sending build context to Docker daemon  32.67MB
Step 1/7 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete 
fce5728aad85: Pull complete 
76610ec20bf5: Pull complete 
60170fec2151: Pull complete 
e98f73de8f0d: Pull complete 
11f7af24ed9c: Pull complete 
49e2d6393f32: Pull complete 
bb9cdec9c7f3: Pull complete 
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
 ---> d23bdf5b1b1b
Step 2/7 : MAINTAINER 15705116160@163.com
 ---> Running in ef6e7fd12ded
Removing intermediate container ef6e7fd12ded
 ---> 432a60519029
Step 3/7 : VOLUME /tmp
 ---> Running in 5dceb082dd7f
Removing intermediate container 5dceb082dd7f
 ---> 73ea411a2dba
Step 4/7 : ADD dockertest.jar mydockertest.jar
 ---> c9fb086ece70
Step 5/7 : RUN bash -c 'touch /mydockertest.jar'
 ---> Running in 25048e46dbe0
Removing intermediate container 25048e46dbe0
 ---> 68cb87e03377
Step 6/7 : ENTRYPOINT ["java","-Djava.-Djava.security.egd=file:/dev/./urandom","-jar","/mydockertest.jar"]
 ---> Running in da5ccbf7075b
Removing intermediate container da5ccbf7075b
 ---> dcc12fefa0a5
Step 7/7 : EXPOSE 8080
 ---> Running in 8d1abf6bc4e3
Removing intermediate container 8d1abf6bc4e3
 ---> 2c8c676d582e
Successfully built 2c8c676d582e
Successfully tagged dockertest:01
[root@adobe2 springboot]# 

我們可以看到先去下載java8的鏡像,后面制作鏡像dockertest:01,通過命令docker images查看是否制作成功

[root@adobe2 springboot]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
dockertest    01        2c8c676d582e   2 minutes ago   709MB
nginx         latest    62d49f9bab67   13 days ago     133MB
hello-world   latest    d1165f221234   7 weeks ago     13.3kB
java          8         d23bdf5b1b1b   4 years ago     643MB
[root@adobe2 springboot]# 

看到了吧,鏡像dockertest:01已經制作成功,那么我現在看看能不能正常啟動

[root@adobe2 springboot]# docker run -d -p 8080:8080 dockertest:01 
a0ca43ea5f3732cf4477156dec02465571c6a001b05ff2adbc416af4836af6d5
[root@adobe2 springboot]# docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED         STATUS         PORTS                                       NAMES
a0ca43ea5f37   dockertest:01   "java -Djava.-Djava.…"   5 seconds ago   Up 4 seconds   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   friendly_haibt
[root@adobe2 springboot]# 

正常啟動,訪問頁面方法:<宿主機Ip>:8080/dockertest/tb-docker/testTwo,回傳正常

最后附上工程git地址,大家可以下載下來參考參考,

git地址:https://gitee.com/adobepzf/docker-test.git

微信:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/286557.html

標籤:其他

上一篇:一文讀懂國產分布式資料庫TiDB&Ocean Base原理

下一篇:資料流---Apache Flink架構

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more