chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在Windows上應(yīng)用Docker開(kāi)展動(dòng)態(tài)代碼測(cè)試

Vector維克多 ? 來(lái)源:Vector維克多 ? 作者:Vector China ? 2021-10-28 11:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著軟件項(xiàng)目復(fù)雜度的提升和不可控的團(tuán)隊(duì)資源變更,研發(fā)組織對(duì)DevOps部署的靈活性、可快速遷移和適配CI/CD的迭代提出了更高的要求。傳統(tǒng)的虛擬機(jī)方案,即模擬出一個(gè)完整操作系統(tǒng),對(duì)這類(lèi)需求顯得力不從心;而輕巧和便捷的容器技術(shù)通過(guò)在宿主機(jī)操作系統(tǒng)上應(yīng)用虛擬化,直接勝出。本文主要介紹容器技術(shù)的代表產(chǎn)品Docker,并對(duì)Docker與虛擬機(jī)進(jìn)行對(duì)比,以及如何在Windows上應(yīng)用Docker開(kāi)展動(dòng)態(tài)代碼測(cè)試和實(shí)現(xiàn)與Jenkins的持續(xù)集成。

1

Docker簡(jiǎn)介

Docker是一組PaaS(Platform as a Service,平臺(tái)即服務(wù))產(chǎn)品,通過(guò)操作系統(tǒng)層級(jí)的虛擬化提供稱(chēng)為容器的打包軟件服務(wù)。Docker起源自2008年在巴黎初創(chuàng)的dotCloud公司,后于美國(guó)進(jìn)行孵化和注冊(cè),于2013年3月宣布遵從Apache2.0協(xié)議開(kāi)源,同年9月正式更名為Docker,次年在0.9版本上用Go語(yǔ)言編寫(xiě)的libcontainer組件替代了LXC(Linux Container)。

Docker可以讓開(kāi)發(fā)者基于選定的鏡像(Image),打包目標(biāo)應(yīng)用以及依賴(lài)包到一個(gè)輕量級(jí)、可移植的容器(Container)中,并通過(guò)客戶(hù)端的docker命令實(shí)現(xiàn)對(duì)Docker主機(jī)內(nèi)容器的操控;當(dāng)前容器也可創(chuàng)建成新的鏡像,而所有鏡像都存放在倉(cāng)庫(kù)(Registry)中,類(lèi)似GitHub一樣分為共有倉(cāng)庫(kù)和私有倉(cāng)庫(kù)。

2

容器技術(shù)與虛擬機(jī)的比較

容器和虛擬機(jī)雖然都使用虛擬化技術(shù),但容器(圖2)并不是模擬一個(gè)完整的操作系統(tǒng),而是在宿主機(jī)操作系統(tǒng)上應(yīng)用虛擬化技術(shù);勝在“輕巧”,可實(shí)現(xiàn)軟件應(yīng)用的秒級(jí)啟動(dòng)和響應(yīng)。相比而言,虛擬機(jī)冗余步驟多、啟動(dòng)太慢、占用內(nèi)存硬盤(pán)資源,過(guò)于笨重。

此外,容器彼此間互相隔離,可通過(guò)預(yù)定渠道進(jìn)行通信(即共享宿主機(jī)的操作系統(tǒng))。基于鏡像可便捷地創(chuàng)建容器和分發(fā)構(gòu)建環(huán)境,契合DevOps和敏捷開(kāi)發(fā)等對(duì)快速部署和應(yīng)用的需求。

3

Windows上使用Docker運(yùn)行

VectorCAST

Windows上Docker安裝信息可參照:

https://docs.docker.com/desktop/windows/install/

3.1 運(yùn)行帶GUI的Ubuntu鏡像,創(chuàng)建并啟動(dòng)容器

鏡像使用參照https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc/

docker run -p 6080:80 -v D:DockerData:/dev/shm --name ubuntu-desktop dorowu/ubuntu-desktop-lxde-vnc:xenial

參數(shù)解析

docker,Docker的二進(jìn)制執(zhí)行文件。

run,與前面的docker組合來(lái)運(yùn)行一個(gè)容器。

-p,指端口綁定。

-v,設(shè)定共享目錄,為了將安裝包保存到容器中,需要指定目錄。D:DockerData指本地目錄,可以自定義;/dev/shm是指容器中的目錄。將需要復(fù)制到容器中的文件放置到D:DockerData中,在容器中就可以進(jìn)入/dev/shm來(lái)訪(fǎng)問(wèn)這些文件。

–name,設(shè)定容器名稱(chēng),如不指定,則設(shè)置一個(gè)隨機(jī)生成的名字。

:xenial,指定鏡像的版本,如不指定,則默認(rèn)使用最新版本。

dorowu/ubuntu-desktop-lxde-vnc:xenial,指定要運(yùn)行的鏡像,Docker 首先從本地主機(jī)上查找鏡像是否存在,如果不存在,Docker就會(huì)從鏡像倉(cāng)庫(kù)Docker Hub下載公共鏡像。

上述命令完整的意思可以解釋為:Docker以dorowu/ubuntu-desktop-lxde-vnc:xenial鏡像創(chuàng)建一個(gè)名為ubuntu-desktop的容器,指定端口6080:80進(jìn)行通信,指定D:DockerData以及/dev/shm為Windows和Ubuntu的共享目錄。

3.2 在容器中安裝并使用VectorCAST

a.

在瀏覽器中打開(kāi)http://127.0.0.1:6080/,進(jìn)入U(xiǎn)buntu的桌面界面,打開(kāi)命令行。

b.

進(jìn)入/dev/shm目錄找到在Windows的D:DockerData下存放的VectorCAST安裝文件,并按Linux下的安裝方法常規(guī)安裝以及配置,在此不作贅述。

*若提示找不到命令時(shí)(鏡像未安裝),可執(zhí)行apt update以及apt install命令進(jìn)行安裝即可。

c.

運(yùn)行VectorCAST,確認(rèn)獲取到License。

d.

創(chuàng)建環(huán)境并執(zhí)行測(cè)試用例。

3.3 基于已有容器創(chuàng)建私有鏡像

為實(shí)現(xiàn)工具安裝的快速部署和避免依賴(lài)包可能導(dǎo)致的不兼容問(wèn)題,在安裝VectorCAST的容器基礎(chǔ)上創(chuàng)建私有鏡像提交至本地并打包,即可通過(guò)推送或分發(fā)達(dá)成需求。

a.

docker images查看現(xiàn)有鏡像:

b.

docker ps查看在運(yùn)行中的容器:

此容器已經(jīng)安裝了VectorCAST,在此基礎(chǔ)上創(chuàng)建鏡像。Commit命令需要使用這里的紅框內(nèi)容器ID。

c.

docker commit創(chuàng)建鏡像,并用docker images查看已創(chuàng)建的鏡像myubuntu:2.0:

docker commit -m “create ubuntu with VectorCAST installed” -a “vector” e94998fcde2f myubuntu:2.0

d.

基于創(chuàng)建的新鏡像創(chuàng)建容器并啟動(dòng):

docker run -p 6081:80 --name ubuntu_new myubuntu:2.0

e.

進(jìn)入U(xiǎn)buntu桌面,確認(rèn)容器中有已安裝好的VectorCAST:

f.

Docker save打包鏡像至tar文件,可以拷貝至其他宿主機(jī)使用:

docker save -o my_ubuntu_v2.tar 919c1693ccee

4

Jenkins + Docker實(shí)現(xiàn)CI/CD

Docker為DevOps提供了很好的基礎(chǔ)支撐:

輕量??梢钥焖賳?dòng)和部署一個(gè)復(fù)雜的開(kāi)發(fā)環(huán)境;

通過(guò)編寫(xiě)Dockerfile可以將業(yè)務(wù)容器化。將Dockerfile提交到代碼倉(cāng)庫(kù)中,在持續(xù)集成的過(guò)程中基于已有的Dockerfile來(lái)構(gòu)建鏡像 ,極大提升持續(xù)集成的構(gòu)建速度;

鏡像倉(cāng)庫(kù)使分發(fā)變得十分簡(jiǎn)單。當(dāng)鏡像構(gòu)建完成后,無(wú)論在哪里只需要執(zhí)行docker pull命令就可以快速地將鏡像拉取到本地并且啟動(dòng)應(yīng)用。

接下來(lái)介紹從Jenkins Pipeline中啟動(dòng)Docker容器,運(yùn)行VectorCAST測(cè)試環(huán)境并生成測(cè)試報(bào)告的過(guò)程。

4.1 編寫(xiě)測(cè)試腳本

在容器中編寫(xiě)運(yùn)行VectcorCAST測(cè)試工程的腳本start_vcast_cmd.sh,后續(xù)會(huì)在Pipeline中調(diào)用此腳本:

4.2 宿主機(jī)上創(chuàng)建Jenkins Pipeline

jenkins_run_docker.bat文件中主要執(zhí)行開(kāi)啟容器以及運(yùn)行容器中事先準(zhǔn)備的腳本start_vcast_cmd.sh:

4.3 構(gòu)建Pipeline并查看報(bào)告

共享目錄中生成了測(cè)試報(bào)告Full_Status.html,用戶(hù)可以在宿主機(jī)上進(jìn)行查看:

4.4 引入看板工具Squore分析測(cè)試結(jié)果

看板管理工具Squore可以在Jenkins Pipeline中進(jìn)行部署和配置,自動(dòng)導(dǎo)入VectorCAST測(cè)試結(jié)果進(jìn)行分析,以便用戶(hù)直觀(guān)地查看代碼質(zhì)量和趨勢(shì)分析,實(shí)現(xiàn)對(duì)項(xiàng)目管理和決策的優(yōu)化。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3705

    瀏覽量

    94303
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    535

    瀏覽量

    23023
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4975

    瀏覽量

    74349

原文標(biāo)題:Windows上應(yīng)用Docker容器技術(shù)的動(dòng)態(tài)代碼測(cè)試

文章出處:【微信號(hào):VectorChina,微信公眾號(hào):Vector維克多】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32N6 在 PSRAM 運(yùn)行代碼的調(diào)試

    開(kāi)發(fā)其產(chǎn)品過(guò)程中,使用了 STM32N657X0H3Q??蛻?hù)的代碼很大,不能放在SRAM 運(yùn)行,想放在 PSRAM 上去運(yùn)行,并咨詢(xún)?nèi)?b class='flag-5'>何在 STM32CubeIDE 上進(jìn)行調(diào)試。2.2. 重現(xiàn)問(wèn)題關(guān)于如何將用戶(hù)
    發(fā)表于 04-15 16:02 ?0次下載

    LAT1621_STM32N6 在 PSRAM 運(yùn)行代碼的調(diào)試

    STM32N657X0H3Q??蛻?hù)的代碼很大,不能放在SRAM 運(yùn)行,想放在 PSRAM 上去運(yùn)行,并咨詢(xún)?nèi)?b class='flag-5'>何在 STM32CubeIDE 上進(jìn)行調(diào)試。
    發(fā)表于 03-11 10:44 ?0次下載

    何在2026年Rocky Linux(8、9和10)安裝Docker

    負(fù)載的強(qiáng)大平臺(tái)。 本指南是一個(gè)統(tǒng)一的資源,解釋如何在 Rocky Linux 8、9 和 10 安裝 Docker,驗(yàn)證安裝,配置 Docker Compose,并
    的頭像 發(fā)表于 01-12 17:21 ?1792次閱讀

    何在NVIDIA Jetson AGX Thor上部署1200億參數(shù)大模型

    一期介紹了如何在 NVIDIA Jetson AGX Thor 使用 Docker 部署 vLLM 推理服務(wù),以及使用 Chatbox 作為前端調(diào)用 vLLM 運(yùn)行的模型(上期文章
    的頭像 發(fā)表于 12-26 17:06 ?5198次閱讀
    如<b class='flag-5'>何在</b>NVIDIA Jetson AGX Thor上部署1200億參數(shù)大模型

    何在DGX Spark運(yùn)行NVIDIA Omniverse

    首先感謝 Vigor 同學(xué)第一時(shí)間的分享,以下是具體如何在 DGX Spark 運(yùn)行 Omniverse 的方法。
    的頭像 發(fā)表于 12-17 10:13 ?888次閱讀
    如<b class='flag-5'>何在</b>DGX Spark<b class='flag-5'>上</b>運(yùn)行NVIDIA Omniverse

    何在NVIDIA Jetson AGX Thor通過(guò)Docker高效部署vLLM推理服務(wù)

    繼系統(tǒng)安裝與環(huán)境配置后,本期我們將繼續(xù)帶大家深入 NVIDIA Jetson AGX Thor 的開(kāi)發(fā)教程之旅,了解如何在 Jetson AGX Thor ,通過(guò) Docker 高效部署 vLLM 推理服務(wù)。
    的頭像 發(fā)表于 11-13 14:08 ?4362次閱讀
    如<b class='flag-5'>何在</b>NVIDIA Jetson AGX Thor<b class='flag-5'>上</b>通過(guò)<b class='flag-5'>Docker</b>高效部署vLLM推理服務(wù)

    利用矢量網(wǎng)絡(luò)分析儀測(cè)試動(dòng)態(tài)范圍微波器件的幾種方法

    準(zhǔn)確測(cè)試結(jié)果,進(jìn)而在測(cè)試精度不受影響的前提下通過(guò)設(shè)置較寬的中頻帶寬從而提高測(cè)試速度。矢量網(wǎng)絡(luò)分析儀工作原理了解矢量網(wǎng)絡(luò)分析儀的工作原理和動(dòng)態(tài)范圍的定義,對(duì)
    的頭像 發(fā)表于 08-27 17:33 ?1871次閱讀
    利用矢量網(wǎng)絡(luò)分析儀<b class='flag-5'>測(cè)試</b>大<b class='flag-5'>動(dòng)態(tài)</b>范圍微波器件的幾種方法

    創(chuàng)龍 瑞芯微 RK3562 國(guó)產(chǎn) 2GHz 四核A53 工業(yè)開(kāi)發(fā)板—Docker容器部署方法說(shuō)明

    Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可打包他們的應(yīng)用以及依賴(lài)包至一個(gè)可移植的鏡像中,然后發(fā)布至任何流行的Linux或Windows機(jī)器,亦可實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間
    的頭像 發(fā)表于 07-03 11:00 ?647次閱讀
    創(chuàng)龍 瑞芯微 RK3562 國(guó)產(chǎn) 2GHz 四核A53 工業(yè)開(kāi)發(fā)板—<b class='flag-5'>Docker</b>容器部署方法說(shuō)明

    docker無(wú)法啟用怎么解決?

    mengxing@mengxing-virtual-machine:/etc/docker$ sudo systemctl daemon-reload
    發(fā)表于 06-23 07:17

    何在k230運(yùn)行OpenCV的代碼?

    何在k230運(yùn)行OpenCV的代碼
    發(fā)表于 06-17 06:06

    【經(jīng)驗(yàn)分享】在Omni3576編譯Redis-8.0.2源碼,并安裝及性能測(cè)試

    本文首先介紹Redis是什么,然后介紹如何在Omni3576編譯Redis-8.0.2源碼,以及從源碼編譯、安裝Redis,最后介紹如何在Omni3576運(yùn)行Redis性能
    的頭像 發(fā)表于 06-05 08:05 ?1072次閱讀
    【經(jīng)驗(yàn)分享】在Omni3576<b class='flag-5'>上</b>編譯Redis-8.0.2源碼,并安裝及性能<b class='flag-5'>測(cè)試</b>

    Docker Volume管理命令大全

    Docker Volume管理命令大全
    的頭像 發(fā)表于 05-28 17:14 ?1065次閱讀

    何在Android設(shè)備安裝Cyusb3014芯片驅(qū)動(dòng)?

    1.如何在Android設(shè)備安裝Cyusb3014芯片驅(qū)動(dòng)? 我們?cè)?Windows 上有 FX3 驅(qū)動(dòng)程序 SDK。 2.如何在Android系統(tǒng)上下載固件到芯片中?
    發(fā)表于 05-15 07:23

    Docker Compose的常用命令

    。它通過(guò)一個(gè)配置文件(docker-compose.yml)來(lái)詳細(xì)定義多個(gè)容器之間的關(guān)聯(lián)、網(wǎng)絡(luò)設(shè)置、服務(wù)端口等信息。使用一條簡(jiǎn)單的命令,就可以輕松啟動(dòng)、停止和管理這些容器,極大地簡(jiǎn)化了多容器應(yīng)用的部署與管理流程,方便實(shí)現(xiàn)應(yīng)用的快速構(gòu)建、開(kāi)發(fā)、測(cè)試以及部署。
    的頭像 發(fā)表于 04-30 13:40 ?1372次閱讀

    Docker常用命令大全

    Docker 是一種開(kāi)源的應(yīng)用容器引擎,廣泛應(yīng)用于開(kāi)發(fā)、部署和運(yùn)行分布式應(yīng)用。掌握 Docker 常用命令對(duì)于開(kāi)發(fā)人員和運(yùn)維人員來(lái)說(shuō)非常重要。本文將為大家整理常用的Docker 命令,并按照功能分為多個(gè)部分,幫助你高效使用
    的頭像 發(fā)表于 04-22 12:47 ?981次閱讀