国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

wordpress中文 插件網(wǎng)站文章優(yōu)化技巧

wordpress中文 插件,網(wǎng)站文章優(yōu)化技巧,設(shè)計(jì)作品集模板免費(fèi)下載,企業(yè)網(wǎng)站建站的專業(yè)性原則是指某基金管理公司線下測(cè)試開(kāi)發(fā)面試題總結(jié)。 測(cè)開(kāi)題目如下 可以嘗試自己先寫(xiě),寫(xiě)完之后再去看參考解法哦 ~ 1、編寫(xiě)一段代碼,把 list 的數(shù)平方(語(yǔ)言不限) ListA [1, 3, 5, 7, 9, 11] 2、使用 Python 語(yǔ)言編寫(xiě)一個(gè)日志裝飾器 3、進(jìn)程、線程、協(xié)程有什么…

某基金管理公司線下測(cè)試開(kāi)發(fā)面試題總結(jié)。

測(cè)開(kāi)題目如下

可以嘗試自己先寫(xiě),寫(xiě)完之后再去看參考解法哦 ~

1、編寫(xiě)一段代碼,把 list 的數(shù)平方(語(yǔ)言不限)

ListA = [1, 3, 5, 7, 9, 11]

2、使用 Python 語(yǔ)言編寫(xiě)一個(gè)日志裝飾器

3、進(jìn)程、線程、協(xié)程有什么區(qū)別?

4、請(qǐng)畫(huà)出 Selenium 框架的工作原理 (Appium 也可以)

5、落地自動(dòng)化測(cè)試項(xiàng)目有哪幾個(gè)關(guān)鍵節(jié)點(diǎn)? 請(qǐng)舉例說(shuō)明

6、請(qǐng)畫(huà)出 Django 框架請(qǐng)求流程 (也就是,請(qǐng)求的生命周期),如果可以寫(xiě)出函數(shù)調(diào)用鏈路是怎樣的?(如果未使用過(guò) Django,可以畫(huà)出你用過(guò)的框架)

7、wsgiref 作用是什么?

8、Django 有哪些中間件? 列舉 5 個(gè)方法,以及中間件的應(yīng)用場(chǎng)景?

9、請(qǐng)簡(jiǎn)述 WSGl/uwsgi/uwSGI 三個(gè)概念的區(qū)別是什么? 為什么有了 uWSGI 還需要 nginx?

10、請(qǐng)列舉幾種 MySQL 存儲(chǔ)引擎,分別有什么優(yōu)缺點(diǎn)?

11、請(qǐng)畫(huà)出 Docker C/S 架構(gòu)圖

12、請(qǐng)使用 docker 命令操作

a) 創(chuàng)建一個(gè) volume 名稱為 kuma

b) 啟動(dòng)一個(gè)容器,名稱為 yapi,后臺(tái)執(zhí)行,把 host 的 5000 端口映射到容器內(nèi) 3000端口,并使用上面創(chuàng)建的 volume,掛載到/data/db 目錄

解題參考如下

1、編寫(xiě)一段代碼,把 list 的數(shù)平方(語(yǔ)言不限)

輸入:ListA = [1, 3, 5, 7, 9, 11]

輸出:[1, 9, 25, 49, 81, 121]

「java代碼:」

  1. //?方法一

  2. import?java.util.ArrayList;

  3. import?java.util.List;

  4. public?class?SquareList?{

  5. ????public?static?void?main(String[]?args)?{

  6. ????????List<Integer>?listA?=?new?ArrayList<Integer>();

  7. ????????listA.add(1);

  8. ????????listA.add(3);

  9. ????????listA.add(5);

  10. ????????listA.add(7);

  11. ????????listA.add(9);

  12. ????????listA.add(11);

  13. ????????List<Integer>?squaredList?=?new?ArrayList<Integer>();

  14. ????????for?(int?num?:?listA)?{

  15. ????????????squaredList.add(num?*?num);

  16. ????????}

  17. ????????System.out.println(squaredList);

  18. ????}

  19. }

  1. //?方法二

  2. import?java.util.Arrays;

  3. import?java.util.List;

  4. import?java.util.stream.Collectors;

  5. public?class?SquareList?{

  6. ????public?static?void?main(String[]?args)?{

  7. ????????List<Integer>?listA?=?Arrays.asList(1,?3,?5,?7,?9,?11);

  8. ????????List<Integer>?squaredList?=?listA.stream()

  9. ????????????????.map(num?->?num?*?num)

  10. ????????????????.collect(Collectors.toList());

  11. ????????System.out.println(squaredList);

  12. ????}

  13. }

通過(guò)使用Java 8中引入的Stream API,可以實(shí)現(xiàn)更簡(jiǎn)潔的代碼。在上述代碼中,我們將listA轉(zhuǎn)換為一個(gè)流(stream),然后使用map()操作將每個(gè)元素平方,最后通過(guò)collect()操作將結(jié)果收集到一個(gè)新的列表中。這樣,我們就得到了平方后的列表并輸出結(jié)果。

「go代碼」

  1. package?main

  2. import?(

  3. ?"fmt"

  4. )

  5. func?main()?{

  6. ?listA?:=?[]int{1,?3,?5,?7,?9,?11}

  7. ?squaredList?:=?make([]int,?len(listA))

  8. ?for?i,?num?:=?range?listA?{

  9. ??squaredList[i]?=?num?*?num

  10. ?}

  11. ?fmt.Println(squaredList)

  12. }

「python代碼」

  1. #?方法一,使用列表推導(dǎo)式

  2. listA?=?[1,?3,?5,?7,?9,?11]

  3. squared_list?=?[num**2?for?num?in?listA]

  4. print(squared_list)?#?[1,?9,?25,?49,?81,?121]

  5. #?方法二,使用map方法

  6. listA?=?[1,?3,?5,?7,?9,?11]

  7. squared_list?=?list(map(lambda?num:?num**2,?listA))

  8. print(squared_list)

map()函數(shù)接受一個(gè)函數(shù)和一個(gè)可迭代對(duì)象作為參數(shù),并將函數(shù)應(yīng)用于可迭代對(duì)象中的每個(gè)元素

  1. #方法三,普通for循環(huán)(這應(yīng)該不是面試官想看到的,但卻是最好理解的)

  2. listA?=?[1,?3,?5,?7,?9,?11]

  3. squared_list?=?[]

  4. for?i?in?listA:

  5. ????squared_list.append(i*i)?#?寫(xiě)成?i**2?也是可以的

  6. print(squared_list)

**2表示一個(gè)數(shù)的平方。

2、使用 Python 語(yǔ)言編寫(xiě)一個(gè)日志裝飾器

方式一:簡(jiǎn)易版

  1. def?log_decorator(func):

  2. ????def?wrapper(*args,?**kwargs):

  3. ????????print("調(diào)用函數(shù):",?func.__name__)

  4. ????????print("傳入的參數(shù):",?args,?kwargs)

  5. ????????result?=?func(*args,?**kwargs)

  6. ????????print("函數(shù)返回結(jié)果:",?result)

  7. ????????return?result

  8. ????return?wrapper

  9. @log_decorator

  10. def?add(a,?b):

  11. ????return?a?+?b

  12. result?=?add(3,?5)

  13. print("最終結(jié)果:",?result)?#?最終結(jié)果:?8

方式一:稍微不簡(jiǎn)易版

  1. import?logging

  2. logging.basicConfig(level=logging.INFO)

  3. def?log_decorator(func):

  4. ????def?wrapper(*args,?**kwargs):

  5. ????????logger?=?logging.getLogger()

  6. ????????logger.info("調(diào)用函數(shù):?%s",?func.__name__)

  7. ????????logger.info("傳入的參數(shù):?%s?%s",?args,?kwargs)

  8. ????????result?=?func(*args,?**kwargs)

  9. ????????logger.info("函數(shù)返回結(jié)果:?%s",?result)

  10. ????????return?result

  11. ????return?wrapper

  12. @log_decorator

  13. def?add(a,?b):

  14. ????return?a?+?b

  15. result?=?add(3,?5)

  16. print("最終結(jié)果:",?result)

代碼不做過(guò)多解釋。

3、進(jìn)程、線程、協(xié)程有什么區(qū)別?

進(jìn)程、線程和協(xié)程是計(jì)算機(jī)中用于實(shí)現(xiàn)并發(fā)和并行的概念,它們之間有以下區(qū)別:

  1. 進(jìn)程(Process):

    • 進(jìn)程是操作系統(tǒng)進(jìn)行資源分配和調(diào)度的基本單位。

    • 每個(gè)進(jìn)程有自己獨(dú)立的地址空間、堆棧和數(shù)據(jù)段,相互之間不共享內(nèi)存。

    • 進(jìn)程之間的通信需要通過(guò)進(jìn)程間通信(IPC)機(jī)制,例如管道、信號(hào)、消息隊(duì)列等。

    • 進(jìn)程之間切換開(kāi)銷較大,資源占用較多。

    • 進(jìn)程之間是相互獨(dú)立的,崩潰或異常不會(huì)影響其他進(jìn)程。

  2. 線程(Thread):

    • 線程是在進(jìn)程內(nèi)執(zhí)行的獨(dú)立執(zhí)行流。

    • 在同一進(jìn)程中的線程共享資源,包括內(nèi)存、文件句柄等。

    • 線程之間切換開(kāi)銷相對(duì)較小,資源占用較少。

    • 線程之間通過(guò)共享內(nèi)存進(jìn)行通信,但需要注意線程同步和互斥問(wèn)題。

    • 線程的崩潰或異??赡軐?dǎo)致整個(gè)進(jìn)程的崩潰。

  3. 協(xié)程(Coroutine):

    • 協(xié)程是一種用戶態(tài)的輕量級(jí)線程,也稱為微線程。

    • 協(xié)程的調(diào)度由程序員自己控制,可以通過(guò)yield/yield from等關(guān)鍵字在執(zhí)行中保存和恢復(fù)上下文。

    • 協(xié)程之間切換開(kāi)銷非常小,可以高效地執(zhí)行異步操作,提高程序的并發(fā)性能。

    • 協(xié)程適合處理IO密集型任務(wù),但對(duì)于計(jì)算密集型任務(wù),需要與多線程或多進(jìn)程配合使用。

「什么場(chǎng)景適合用進(jìn)程?」

計(jì)算密集型的任務(wù)(比如:大規(guī)模的數(shù)據(jù)計(jì)算和處理)

「什么場(chǎng)景適合用線程?」

IO密集型的任務(wù)(比如:文件讀寫(xiě)多的,網(wǎng)絡(luò)請(qǐng)求多的任務(wù))

「什么場(chǎng)景適合用協(xié)程?」

IO密集型項(xiàng)目切要求高并發(fā)( 比如:用locust 搞壓測(cè)里面就是用的協(xié)程) ,實(shí)際上真實(shí)項(xiàng)目中對(duì) 應(yīng)高并發(fā)的業(yè)務(wù)并不會(huì)選擇使用python語(yǔ)言。

總結(jié)來(lái)說(shuō),進(jìn)程是操作系統(tǒng)資源分配和調(diào)度的基本單位,線程是在進(jìn)程內(nèi)執(zhí)行的獨(dú)立執(zhí)行流,而協(xié)程是一種用戶態(tài)的輕量級(jí)線程。它們?cè)谫Y源占用、切換開(kāi)銷以及通信方式等方面存在不同,應(yīng)根據(jù)具體情況選擇合適的并發(fā)實(shí)現(xiàn)方式。

后面我會(huì)專門(mén)寫(xiě)幾篇進(jìn)程線程協(xié)程的文章。

4、請(qǐng)畫(huà)出 Selenium 框架的工作原理 (Appium 也可以)

「selenium工作原理」

圖片

Selenium工作原理

  • selenium client(python等語(yǔ)言編寫(xiě)的自動(dòng)化測(cè)試腳本)初始化一個(gè)service服務(wù),通過(guò)Webdriver啟動(dòng)瀏覽器驅(qū)動(dòng)程序chromedriver.exe

  • 通過(guò)RemoteWebDriver向?yàn)g覽器驅(qū)動(dòng)程序發(fā)送HTTP請(qǐng)求,瀏覽器驅(qū)動(dòng)程序解析請(qǐng)求,打開(kāi)瀏覽器,并獲得sessionid,如果再次對(duì)瀏覽器操作需攜帶此id

  • 打開(kāi)瀏覽器,綁定特定的端口,把啟動(dòng)后的瀏覽器作為webdriver的remote server

  • 打開(kāi)瀏覽器后,所有的selenium的操作(訪問(wèn)地址,查找元素等)均通過(guò)RemoteConnection鏈接到remote server,然后使用execute方法調(diào)用_request方法通過(guò)urlib3向remote server發(fā)送請(qǐng)求

  • 瀏覽器通過(guò)請(qǐng)求的內(nèi)容執(zhí)行對(duì)應(yīng)動(dòng)作

  • 瀏覽器再把執(zhí)行的動(dòng)作結(jié)果通過(guò)瀏覽器驅(qū)動(dòng)程序返回給測(cè)試腳本

「Appium工作原理」

此圖高清圖可以在公眾號(hào)后臺(tái)回復(fù):selenium&appium工作原理」獲得

圖片

標(biāo)appium&selenium工作原理題

5、落地自動(dòng)化測(cè)試項(xiàng)目有哪幾個(gè)關(guān)鍵節(jié)點(diǎn)? 請(qǐng)舉例說(shuō)明

這個(gè)問(wèn)題非常寬泛,需要考慮的因素也很多,可以結(jié)合自己簡(jiǎn)歷和工作經(jīng)歷進(jìn)行闡述,以下為關(guān)鍵點(diǎn)參考。

1、從功能測(cè)試用例中篩選自動(dòng)化測(cè)試用例

2、調(diào)研實(shí)踐討論可執(zhí)行自動(dòng)化測(cè)試用例

3、相關(guān)自動(dòng)化方案的排期,預(yù)期,展望

3、選擇自動(dòng)化測(cè)試框架或自己搭建相應(yīng)自動(dòng)化測(cè)試框架

4、自動(dòng)化腳本編寫(xiě)

5、持續(xù)集成與自動(dòng)化構(gòu)建

6、定期維護(hù)與更新

7、自動(dòng)化推行(最重要)

6、請(qǐng)畫(huà)出 Django 框架請(qǐng)求流程 (也就是,請(qǐng)求的生命周期),如果可以寫(xiě)出函數(shù)調(diào)用鏈路是怎樣的?(如果未使用過(guò) Django,可以畫(huà)出你用過(guò)的框架)

圖片

  1. 用戶通過(guò)瀏覽器發(fā)送請(qǐng)求

  2. 請(qǐng)求到達(dá)request中間件,中間件對(duì)request請(qǐng)求做預(yù)處理或者直接返回response

  3. 若未返回response,會(huì)到達(dá)urlconf路由,找到對(duì)應(yīng)視圖函數(shù)

  4. 視圖函數(shù)做相應(yīng)預(yù)處理或直接返回response

  5. View中的方法可以選擇性的通過(guò)Models訪問(wèn)底層的數(shù)據(jù)

  6. 取到相應(yīng)數(shù)據(jù)后回到django模板系統(tǒng),templates通過(guò)filter或tags把數(shù)據(jù)渲染到模板上

  7. 返回response到瀏覽器展示給客戶

7、wsgiref 作用是什么?

wsgiref 是 Python 標(biāo)準(zhǔn)庫(kù)中的一個(gè)模塊,提供了一個(gè)簡(jiǎn)單而有效的 WSGI(Web 服務(wù)器網(wǎng)關(guān)接口)服務(wù)器和中間件的實(shí)現(xiàn)。主要分為五個(gè)模塊:simple_server, util, headers, handlers, validate。

wsgiref源碼地址:https://pypi.python.org/pypi/wsgiref

8、Django 有哪些中間件? 列舉 5 個(gè)方法,以及中間件的應(yīng)用場(chǎng)景?

Django 提供了很多內(nèi)置的中間件,用于處理請(qǐng)求和響應(yīng)。以下是 5 個(gè)常用的中間件以及它們的應(yīng)用場(chǎng)景:

  1. SessionMiddleware:處理會(huì)話狀態(tài)的中間件。它通過(guò)在請(qǐng)求處理過(guò)程中添加一個(gè)會(huì)話對(duì)象來(lái)支持會(huì)話管理。應(yīng)用場(chǎng)景包括用戶認(rèn)證、用戶狀態(tài)跟蹤功能。

  2. AuthenticationMiddleware:處理用戶身份驗(yàn)證的中間件。它負(fù)責(zé)在每個(gè)請(qǐng)求處理過(guò)程中檢查用戶的認(rèn)證狀態(tài),并將用戶的認(rèn)證信息添加到請(qǐng)求對(duì)象中。應(yīng)用場(chǎng)景包括用戶登錄、權(quán)限控制和身份驗(yàn)證。

  3. CsrfViewMiddleware:處理跨站請(qǐng)求偽造(CSRF)保護(hù)的中間件。它會(huì)自動(dòng)為每個(gè) POST 請(qǐng)求生成 CSRF 令牌,并在提交表單時(shí)驗(yàn)證令牌的有效性。應(yīng)用場(chǎng)景包括保護(hù)表單提交免受 CSRF 攻擊。

  4. GZipMiddleware:處理壓縮響應(yīng)的中間件。它在發(fā)送響應(yīng)之前對(duì)內(nèi)容進(jìn)行 GZip 壓縮,從而減小數(shù)據(jù)傳輸?shù)拇笮 ?yīng)用場(chǎng)景包括提高網(wǎng)站性能和減少帶寬消耗。

  5. LocaleMiddleware:處理多語(yǔ)言支持的中間件。它通過(guò)根據(jù)請(qǐng)求提供的語(yǔ)言首選項(xiàng)來(lái)設(shè)置適當(dāng)?shù)恼Z(yǔ)言環(huán)境,并將其應(yīng)用于請(qǐng)求的響應(yīng)。應(yīng)用場(chǎng)景包括多語(yǔ)言網(wǎng)站和國(guó)際化應(yīng)用程序。

這些中間件提供了一系列常用的功能和處理程序,可以方便地集成到 Django 應(yīng)用程序中,簡(jiǎn)化了開(kāi)發(fā)人員的工作。根據(jù)具體的需求,可以根據(jù)需要啟用和配置這些中間件,以實(shí)現(xiàn)不同的功能和處理邏輯。

9、請(qǐng)簡(jiǎn)述 WSGl/uwsgi/uwSGI 三個(gè)概念的區(qū)別是什么? 為什么有了 uWSGI 還需要 nginx?

WSGI

WSGI(Web Server Gateway Interface):WSGI 是一種被廣泛接受和使用的 Python Web 應(yīng)用程序與服務(wù)器之間的標(biāo)準(zhǔn)接口。它定義了 Web 服務(wù)器與 Web 應(yīng)用程序之間的通信規(guī)則,使得服務(wù)器能夠理解和與應(yīng)用程序交互。WSGI 規(guī)范允許開(kāi)發(fā)人員使用一種統(tǒng)一的方式來(lái)編寫(xiě) Web 應(yīng)用程序,而不用擔(dān)心特定服務(wù)器的細(xì)節(jié)。

簡(jiǎn)言之,是一種描述web服務(wù)器(如nginx,uWSGI等服務(wù)器)如何與web應(yīng)用程序(如用Django、Flask框架寫(xiě)的程序)「通信協(xié)議」。

uwsgi協(xié)議

是一個(gè)uWSGI服務(wù)器自有的協(xié)議,是一種「線路協(xié)議」而不是通信協(xié)議。它用于定義傳輸信息的類型(type of information),每一個(gè)uwsgi packet前4byte為傳輸信息類型描述,用于與nginx等代理服務(wù)器通信,它與WSGI相比是兩樣?xùn)|西。

uwSGI

是實(shí)現(xiàn)了uwsgi和WSGI兩種協(xié)議的「Web服務(wù)器」

為什么有了 uWSGI 還需要 nginx?

這是因?yàn)?Nginx 和 uWSGI 的角色不同。Nginx 主要作為前端服務(wù)器、反向代理和負(fù)載均衡器,它可以處理靜態(tài)資源和大量并發(fā)連接,將請(qǐng)求轉(zhuǎn)發(fā)給后端的 uWSGI 進(jìn)程處理動(dòng)態(tài)請(qǐng)求。而 uWSGI 則專注于處理 Web 應(yīng)用程序的請(qǐng)求,它支持 WSGI 協(xié)議,負(fù)責(zé)解析并執(zhí)行應(yīng)用程序代碼。因此,通過(guò) Nginx 和 uWSGI 的結(jié)合,可以提高系統(tǒng)的性能、可靠性和安全性,并實(shí)現(xiàn)更好的負(fù)載均衡和更高的并發(fā)處理能力。

10、請(qǐng)列舉幾種 MySQL 存儲(chǔ)引擎,分別有什么優(yōu)缺點(diǎn)?

MySQL 提供了多種存儲(chǔ)引擎,每個(gè)存儲(chǔ)引擎都有其獨(dú)特的特性和適用場(chǎng)景。以下是一些常見(jiàn)的 MySQL 存儲(chǔ)引擎以及它們的優(yōu)缺點(diǎn):

  1. InnoDB:

    • 優(yōu)點(diǎn):支持事務(wù)處理和外鍵約束,提供高并發(fā)性能和數(shù)據(jù)完整性。具備行級(jí)鎖定和多版本并發(fā)控制(MVCC)支持,適用于高并發(fā)寫(xiě)入和大量的讀寫(xiě)混合場(chǎng)景。

    • 缺點(diǎn):相對(duì)于其他存儲(chǔ)引擎,InnoDB 的存儲(chǔ)和讀取速度相對(duì)較慢。因?yàn)樗С质聞?wù)和ACID特性,需要更多的磁盤(pán)空間。

  2. MyISAM:

    • 優(yōu)點(diǎn):具備較高的讀取性能,適合于大量的只讀操作和全文搜索。存儲(chǔ)和索引數(shù)據(jù)非常緊湊,占用更少的磁盤(pán)空間。

    • 缺點(diǎn):不支持事務(wù)和外鍵約束。不具備行級(jí)鎖定,只支持表級(jí)鎖定,因此在并發(fā)寫(xiě)入場(chǎng)景下性能較差。容易發(fā)生表?yè)p壞,不具備故障恢復(fù)能力。

  3. Memory(內(nèi)存):

    • 優(yōu)點(diǎn):數(shù)據(jù)完全存儲(chǔ)在內(nèi)存中,讀取和寫(xiě)入速度非???。適合于緩存表、臨時(shí)表和高速度數(shù)據(jù)捕獲等場(chǎng)景。

    • 缺點(diǎn):只能存儲(chǔ)在內(nèi)存中,斷電或重啟會(huì)導(dǎo)致數(shù)據(jù)丟失。不支持事務(wù)處理,不適合長(zhǎng)期存儲(chǔ)。

  4. Archive:

    • 優(yōu)點(diǎn):適合于歸檔和歷史數(shù)據(jù)的存儲(chǔ),存儲(chǔ)和壓縮效率非常高,占用很少的磁盤(pán)空間。適合對(duì)數(shù)據(jù)進(jìn)行稀疏插入和不經(jīng)常更新的場(chǎng)景。

    • 缺點(diǎn):不支持索引和事務(wù)處理。只能進(jìn)行追加操作,不適合常規(guī)的查詢和更新操作。

  5. NDB Cluster:

    • 優(yōu)點(diǎn):適用于高可用性和高容量的分布式系統(tǒng),支持?jǐn)?shù)據(jù)分片和自動(dòng)故障恢復(fù)。具備事務(wù)處理和ACID特性,適合于高并發(fā)讀寫(xiě)和實(shí)時(shí)應(yīng)用場(chǎng)景。

    • 缺點(diǎn):相對(duì)復(fù)雜,需要專門(mén)配置和管理,對(duì)硬件要求較高。不適合單機(jī)和小規(guī)模的應(yīng)用。

這些存儲(chǔ)引擎的選擇應(yīng)該根據(jù)實(shí)際需求和應(yīng)用場(chǎng)景來(lái)決定,權(quán)衡每個(gè)存儲(chǔ)引擎的優(yōu)缺點(diǎn),并根據(jù)具體場(chǎng)景的讀寫(xiě)要求、數(shù)據(jù)一致性和可用性需求來(lái)確定最適合的存儲(chǔ)引擎。

11、請(qǐng)畫(huà)出 Docker C/S 架構(gòu)圖

圖片

在 Docker C/S 架構(gòu)中,有以下幾個(gè)關(guān)鍵組件:

  1. Docker主機(jī)(Docker Host):它是運(yùn)行 Docker 引擎的物理或虛擬機(jī)。Docker 主機(jī)負(fù)責(zé)管理容器的創(chuàng)建、運(yùn)行和銷毀,以及對(duì)容器進(jìn)行資源管理和隔離。

  2. Docker引擎(Docker Engine):它是 Docker 的核心組件,負(fù)責(zé)接收和處理來(lái)自 Docker 客戶端的命令,執(zhí)行容器的創(chuàng)建、運(yùn)行、停止等操作。Docker 引擎由 Docker 守護(hù)進(jìn)程(Docker Daemon)和 Docker REST API 組成。

  3. Docker客戶端(Docker Client):它是與 Docker 引擎進(jìn)行通信的用戶界面,可以使用命令行工具(如docker命令)或圖形界面工具來(lái)與 Docker 引擎進(jìn)行交互,通過(guò)向 Docker 引擎發(fā)送命令來(lái)控制容器的創(chuàng)建、運(yùn)行和管理。

  4. Docker鏡像(Docker Image):它是容器的基礎(chǔ),用于創(chuàng)建容器的模板。Docker 鏡像包含了一個(gè)完整的文件系統(tǒng),其中包含了運(yùn)行所需的所有文件和配置。可以通過(guò)從 Docker Hub 或私有鏡像倉(cāng)庫(kù)下載現(xiàn)有的鏡像,或者通過(guò) Dockerfile 來(lái)構(gòu)建自己的鏡像。

  5. Docker倉(cāng)庫(kù)(Docker Registry):它是用于存儲(chǔ)和分享 Docker 鏡像的中央倉(cāng)庫(kù)。Docker Hub 是默認(rèn)的公共倉(cāng)庫(kù),提供了大量的官方和社區(qū)維護(hù)的鏡像供用戶使用。用戶也可以部署私有的 Docker 倉(cāng)庫(kù)來(lái)保存和管理自己的鏡像。

12、請(qǐng)使用 docker 命令操作

a) 創(chuàng)建一個(gè) volume 名稱為 kuma

docker volume create kuma

b) 啟動(dòng)一個(gè)容器,名稱為 yapi,后臺(tái)執(zhí)行,把 host 的 5000 端口映射到容器內(nèi) 3000端口,并使用上面創(chuàng)建的 volume,掛載到/data/db 目錄

docker run -d --name yapi -p 5000:3000 -v kuma:/data/db <yapi_image_name>

需要將?<yapi_image_name>?替換為實(shí)際的 yapi 鏡像名稱。

這樣就可以使用上述步驟創(chuàng)建的 volume kuma 并掛載到容器內(nèi)的 /data/db 目錄,同時(shí)進(jìn)行端口映射,將 host 的 5000 端口映射到容器內(nèi)的 3000 端口。容器名稱為 yapi,并以后臺(tái)模式運(yùn)行。

總結(jié):

感謝每一個(gè)認(rèn)真閱讀我文章的人!!!

作為一位過(guò)來(lái)人也是希望大家少走一些彎路,如果你不想再體驗(yàn)一次學(xué)習(xí)時(shí)找不到資料,沒(méi)人解答問(wèn)題,堅(jiān)持幾天便放棄的感受的話,在這里我給大家分享一些自動(dòng)化測(cè)試的學(xué)習(xí)資源,希望能給你前進(jìn)的路上帶來(lái)幫助。

軟件測(cè)試面試文檔

我們學(xué)習(xí)必然是為了找到高薪的工作,下面這些面試題是來(lái)自阿里、騰訊、字節(jié)等一線互聯(lián)網(wǎng)大廠最新的面試資料,并且有字節(jié)大佬給出了權(quán)威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。

?

? ? ? ? ? 視頻文檔獲取方式:
這份文檔和視頻資料,對(duì)于想從事【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!以上均可以分享,點(diǎn)下方小卡片即可自行領(lǐng)取。

http://m.aloenet.com.cn/news/40510.html

相關(guān)文章:

  • 做網(wǎng)站北京公司推廣產(chǎn)品的渠道
  • drupal7建站教程怎么創(chuàng)建網(wǎng)站鏈接
  • 重慶微網(wǎng)站建設(shè)寧波網(wǎng)絡(luò)推廣軟件
  • 自適應(yīng)網(wǎng)站設(shè)計(jì)規(guī)范企業(yè)的互聯(lián)網(wǎng)推廣
  • 如何建設(shè)dj網(wǎng)站seo 工具推薦
  • 成都網(wǎng)站制作創(chuàng)新互聯(lián)磁力搜索引擎哪個(gè)好
  • 寬屏企業(yè)網(wǎng)站源碼國(guó)家再就業(yè)免費(fèi)培訓(xùn)網(wǎng)
  • 遵義做網(wǎng)站的公司重慶電子商務(wù)網(wǎng)站seo
  • 家用電腦如何做網(wǎng)站服務(wù)器百度總部公司地址在哪里
  • 做網(wǎng)站可以用什么語(yǔ)言長(zhǎng)春網(wǎng)站優(yōu)化平臺(tái)
  • 購(gòu)物網(wǎng)站建設(shè)公司網(wǎng)絡(luò)營(yíng)銷管理名詞解釋
  • wordpress國(guó)內(nèi)支付上海搜索優(yōu)化推廣
  • html可以做動(dòng)態(tài)網(wǎng)站嗎我是seo關(guān)鍵詞
  • 應(yīng)用商城下載seo服務(wù)是什么
  • 怎么用文件做網(wǎng)站快速優(yōu)化網(wǎng)站排名軟件
  • 淄博桓臺(tái)網(wǎng)站建設(shè)報(bào)價(jià)湘潭關(guān)鍵詞優(yōu)化公司
  • erp系統(tǒng)軟件免費(fèi)版優(yōu)化營(yíng)商環(huán)境心得體會(huì)2023
  • 番禺做網(wǎng)站公司哪家好網(wǎng)店推廣的方式
  • 一般做網(wǎng)站淘寶推廣軟件
  • 德州網(wǎng)站建設(shè)公司seo引擎優(yōu)化方案
  • 什么學(xué)做網(wǎng)站深圳網(wǎng)絡(luò)營(yíng)銷推廣外包
  • php網(wǎng)站搬家軟件成都疫情最新消息
  • 有沒(méi)有做美食的網(wǎng)站網(wǎng)絡(luò)營(yíng)銷的認(rèn)識(shí)與理解
  • 阿里云空間部署網(wǎng)站微信推廣加人
  • 設(shè)計(jì)網(wǎng)站推薦素材網(wǎng)站怎么去做推廣
  • 青島網(wǎng)站建設(shè)優(yōu)化長(zhǎng)沙官網(wǎng)seo推廣
  • 游戲推廣群seo網(wǎng)絡(luò)優(yōu)化招聘信息
  • sql數(shù)據(jù)庫(kù)查詢網(wǎng)站模板搜索引擎優(yōu)化的要點(diǎn)
  • 做網(wǎng)站必須得ipc百度熱搜榜今日頭條排名
  • 日照建網(wǎng)站廣告公司收費(fèi)價(jià)格表