軟件測試基礎篇——Docker

1、docker技術概述

  1. docker描述:docker是一項虛擬化的容器技術(類似于虛擬機),docker技術給使用者提供一個平臺,在該平臺上可以利用提供的容器,對每一個應用程序進行單獨的封裝隔離,每一個應用程序都有屬于自己的運行和使用的空間,它們之間是互不影響,互不干擾的。

image-20230715095128064

分析:docker技術工具——>相當于鯨魚貨輪——>貨輪上有很多的集裝箱——>相當于docker提供的容器——>在容器中封裝項目/應用程序以及所需要的環境(環境+應用程序)。

docker基于操作系統層面的一項虛擬化容器技術

image-20230715101819773

  1. docker和虛擬機的異同點:
    1. 相同點:它們都是基于操作系統層面的虛擬化技術
    2. 不同點:虛擬機的使用,需要借助于第三方虛擬機工具,比如VM;虛擬機軟件(VM)有了之后,才能在該平臺上進行操作系統環境的搭建,每個操作系統所消耗的硬件資源是較大的,比如centos安裝,默認需要20G內存;操作系統有了之后,才能進行環境的搭建,比如LAMP環境;最后才能進行應用程序的部署操作;整個過程稍顯繁瑣和笨重。
    3. 相對于docker,我們只需要進行安裝,就可以借助于該平臺提供的容器,直接封裝應用程序和它所需要的環境。
  2. docker目標:簡化項目的部署流程
  3. docker版本:

? decker ce:社區版,免費使用

? docker ee:企業版,收費的

2、docker環境的部署

  1. 更改云服務器操作系統

? 阿里云控制臺:實現對自己云服務器進行配置操作

? ①停止正在運行的操作系統

  1. 更改實例密碼:指的是更改當前云服務器操作系統賬號的密碼,比如云服務器是centos,賬號:root
  2. finalshell工具:連接云服務器(操作系統)

3、docker的部署應用

  1. 驗證:查看操作系統版本(可選可寫)

? cat /etc/redhat-release

  1. 為了避免安裝出錯,建議進行更新操作(可選可寫)

? yum -y update

? reboot

  1. 安裝docker

? yum -y install docker

  1. 驗證:查看docker版本

? docker version

  1. 啟動docker服務

? systemctl start docker

  1. 添加docker開機自啟動

? systemctl enable docker

  1. docker搭建LAMP環境

? ①docker搭建LAMP環境兩種方案:

? 第一種把apache,mysql,php單獨做安裝;

? 第二種:找到封裝LAMP環境的鏡像文件,把他下載,并運行在容器中,我們直接使用即可

? ②查找LAMP鏡像文件

? docker search -s 10 lamp #查找收藏量或下載量大于10的lamp鏡像文件

? ③下載lamp鏡像

? docker pull lamp鏡像文件名

? 例:docker pull docker.io/tutum/lamp

? ④驗證:查看下載的鏡像文件

? docker images

? ⑤將下載好的lamp鏡像文件,運行在docker容器

? mkdir /mysql_data ——>自定義創建目錄:映射容器中運行出來的lamp環境(把容器中部分環境數據放在該目錄下)

? docker run -d - -name=lamp(容器名字,自定義) -p 8080:80 -p 3306:3306 -v /mysql_data:/var/lib/mysql docker.io/tutum/lamp

? ⑥運行完畢后,當前容器中已經把lamp鏡像文件包含的lamp環境,全部加載在容器中(相當于容器中的lamp環境已搞定)

? ⑦進入容器,進行安全設置

? docker exec -it lamp(容器名字) /bin/bash

? 初始化mysql數據庫密碼:mysql_secure_installation

? 注意:第一次提示,不做輸入,直接回車

? 接下來可以嘗試進入apache服務器提供存放程序包的位置:

? cd /var/www/html ——>前提:進入容器,因為lamp環境是在容器中加載的

? ⑧到此為止,docker以及容器中lamp環境部署的操作,已經完畢

? ⑨驗證:因為lamp環境是能夠搭建動態網站,提供WEB端應用程序部署和使用的平臺,那我們可以嘗試在docker容器的lamp環境下,部署一個WEB應用程序(網站)

? 操作:把程序包放入容器中:win系統——>云服務器centos系統——>docker容器


? 備注:因為傳遞程序包,所有就暫時退出容器:exit

? 第一步:程序包:win——>centos

? 可以借助于finalshell工具,直接把程序包拖拽/加載到centos(存放的位置自定義)

? 第二步:程序包:centos—–>docker容器

? 前提:更改程序包的權限:把所有人改為可讀可寫可執行:chmod 777 www

? 通過docker提供的cp(復制)命令,將程序包復制到lamp容器的/var/www/html目錄中

? docker cp /www lamp:/var/www/html

? 第三步:進入容器,查看復制的程序包

? docker exec -it lamp /bin/bash

? 到此為止,docker容器中既有程序包,也有該程序所需的lamp環境,接下來就可以進行訪問操作


⑩開放云服務器的訪問端口:8080和80端口號給開放出來

端口開放完畢后,就可以配合公網進行訪問:

項目訪問地址:http://公網IP:8080/www/install.php

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/34715.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/34715.shtml
英文地址,請注明出處:http://en.pswp.cn/news/34715.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

spring 2.7.14 cors 設置 allowedOrigins(“*“)通配符 失效怎么解決

失效代碼: package com.yukuanyan.searcher_web.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebM…

計算機競賽 opencv python 深度學習垃圾圖像分類系統

0 前言 🔥 優質競賽項目系列,今天要分享的是 🚩 opencv python 深度學習垃圾分類系統 🥇學長這里給一個題目綜合評分(每項滿分5分) 難度系數:3分工作量:3分創新點:4分 這是一個較為新穎的競…

圖像的伽馬變換

伽馬變換(Gamma Correction)是一種在圖像處理中常用的非線性變換方法,用于調整圖像的亮度和對比度。它在圖像的像素值上應用一個冪次函數,以改變圖像的灰度級分布,從而影響圖像的感知亮度。伽馬變換通常用于糾正顯示器…

Monkey測試真的靠譜嗎?

Monkey測試,顧名思義,就是模擬一只猴子在鍵盤上亂敲,從而達到測試被測系統的穩定性。Monkey測試,是Android自動化測試的一種手段,Monkey測試本身非常簡單,Android SDK 工具支持adb Shell命令,實…

208、仿真-51單片機脈搏心率與心電報警Proteus仿真設計(程序+Proteus仿真+配套資料等)

畢設幫助、開題指導、技術解答(有償)見文未 目錄 一、硬件設計 二、設計功能 三、Proteus仿真圖 四、程序源碼 資料包括: 需要完整的資料可以點擊下面的名片加下我,找我要資源壓縮包的百度網盤下載地址及提取碼。 方案選擇 單片機的選擇 方案一&a…

ElasticSearch 7.4學習記錄(基礎概念和基礎操作)

若你之前從未了解過ES,本文將由淺入深的一步步帶你理解ES,簡單使用ES。作者本人就是此狀態,通過學習和梳理,產出本文,已對ES有個全面的了解和想法,不僅將知識點梳理,也涉及到自己的理解&#xf…

行業追蹤,2023-08-09

自動復盤 2023-08-09 凡所有相,皆是虛妄。若見諸相非相,即見如來。 k 線圖是最好的老師,每天持續發布板塊的rps排名,追蹤板塊,板塊來開倉,板塊去清倉,丟棄自以為是的想法,板塊去留讓…

linux學習——Redis基礎

目錄 一、noSQL 類型 特點及應用場景 二、Redis 三、安裝方式 編譯安裝 rpm安裝 四、目錄結構 /etc/redis.conf 五、Redis命令 六、本地登錄和遠程登錄 本地登錄 遠程登錄 七、數據庫操作 幫助信息 庫操作 數據操作 八、Redis持久化 一、RDB類型 二、AOF模式 一…

2023河南萌新聯賽第(四)場:河南大學 F - 小富的idea

2023河南萌新聯賽第(四)場:河南大學 F - 小富的idea 時間限制:C/C 1秒,其他語言2秒 空間限制:C/C 262144K,其他語言524288K 64bit IO Format: %lld 題目描述 要注意節約 卷王小富最近又在內卷&a…

密碼檢查-C語言/Java

描述 小明同學最近開發了一個網站,在用戶注冊賬戶的時候,需要設置賬戶的密碼,為了加強賬戶的安全性,小明對密碼強度有一定要求: 1. 密碼只能由大寫字母,小寫字母,數字構成; 2. 密碼不…

偽類和偽元素有何區別?

聚沙成塔每天進步一點點 ? 專欄簡介? 偽類(Pseudo-class)? 偽元素(Pseudo-element)? 區別總結? 寫在最后 ? 專欄簡介 前端入門之旅:探索Web開發的奇妙世界 記得點擊上方或者右側鏈接訂閱本專欄哦 幾何帶你啟航前…

信號調制原理演示,模擬和數字調制技術大比拼

【中英雙語字幕】信號調制原理演示,模擬和數字調制技術大比拼!_嗶哩嗶哩_bilibili

騰訊云輕量應用服務器Typecho應用模板搭建博客流程

騰訊云百科分享使用騰訊云輕量應用服務器Typecho應用模板搭建博客流程,Typecho 是開源的博客建站平臺,具有輕量、高效、穩定等特點,操作界面簡潔友好。該鏡像基于 CentOS 7.6 64 位操作系統,并已預置 Nginx、PHP、MariaDB 軟件。您…

4.0 Python 變量與作用域

在python中,變量的作用域決定了變量在哪些位置可以被訪問。一個程序中的變量并不是所有的地方都可以訪問的,其訪問權限決定于變量的賦值位置。python中有兩種最基本的變量作用域:局部作用域和全局作用域。局部變量是在函數內部定義的變量&…

day24-106.從中序與后序遍歷序列構造二叉樹

106.從中序與后序遍歷序列構造二叉樹 力扣題目鏈接(opens new window) 根據一棵樹的中序遍歷與后序遍歷構造二叉樹。 注意: 你可以假設樹中沒有重復的元素。 例如,給出 中序遍歷 inorder [9,3,15,20,7]后序遍歷 postorder [9,15,7,20,3] 返回如下的二叉樹&am…

前端跨域問題解決方法

跨域是WEB瀏覽器專有的同源限制訪問策略。(后臺接口調用和postman等工具會出現) 跨源資源共享(CORS,或通俗地譯為跨域資源共享)是一種基于 HTTP 頭的機制,該機制通過允許服務器標示除了它自己以外的其他源(域、協議或端…

java項目打包運行報異常:Demo-1.0-SNAPSHOT.jar中沒有主清單屬性

檢查后發現pom文件中有錯誤&#xff0c;需要添加build內容才能恢復正常。 添加下面文件后再次啟動恢復正常。 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactI…

C語言atoi函數將字符串類型轉換為整型

atoi() 是C標準庫中的一個函數&#xff0c;用于將字符串轉換為整數。函數原型如下&#xff1a; int atoi(const char *str); 參數 str 是一個指向要轉換的字符串的指針。atoi() 函數會嘗試將字符串中的數字部分轉換為整數&#xff0c;并返回轉換后的整數值。如果字符串中不僅包…

Add-in Express for Microsoft Office and Delphi Crack

Add-in Express for Microsoft Office and Delphi Crack 適用于Microsoft Office和Delphi VCL的Add-in Express使您能夠在幾次點擊中為Microsoft Office開發專業插件。它生成基于COM的項目&#xff0c;這些項目包含Microsoft Office外接程序或智能標記的所有必要功能&#xff0…

CTFshow web93-104關

這周要學習的是php代碼審計 根據師兄的作業 來做web入門的93-104關 93關 看代碼 進行分析 他的主函數 include("flag.php"); highlight_file(__FILE__); if(isset($_GET[num])){ $num $_GET[num]; if($num4476){ die("no no no!"); …