软件测试基础篇——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.mzph.cn/news/34715.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机竞赛 opencv python 深度学习垃圾图像分类系统

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 opencv python 深度学习垃圾分类系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 这是一个较为新颖的竞…

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模式 一…

伪类和伪元素有何区别?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 伪类(Pseudo-class)⭐ 伪元素(Pseudo-element)⭐ 区别总结⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前…

信号调制原理演示,模拟和数字调制技术大比拼

【中英双语字幕】信号调制原理演示,模拟和数字调制技术大比拼!_哔哩哔哩_bilibili

腾讯云轻量应用服务器Typecho应用模板搭建博客流程

腾讯云百科分享使用腾讯云轻量应用服务器Typecho应用模板搭建博客流程,Typecho 是开源的博客建站平台,具有轻量、高效、稳定等特点,操作界面简洁友好。该镜像基于 CentOS 7.6 64 位操作系统,并已预置 Nginx、PHP、MariaDB 软件。您…

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…

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!"); …

认识http的方法、Header、状态码以及简单实现一个http的业务逻辑

文章目录 http的方法http状态码http重定向http常见Header实现简单业务逻辑Protocol.hppUtil.hppServer.hppServer.cc 效果 http的方法 方法说明支持的HTTP版本GET获取资源1.0/1.1POST传输实体主体1.0/1.1PUT传输文件1.0/1.1HEAD获得报文首部1.0/1.1DELETE删除文件1.0/1.1OPTIO…

【ts】【cocos creator】excel表格转JSON

需要将表格导出为text格式放到项目resources/text文件夹下 新建场景&#xff0c;挂载到Canvas上运行 表格文件格式&#xff1a; 保存格式选text tableToJson : import CryptoJS require(./FileSaver);const { ccclass, property } cc._decorator;ccclass export default c…

SpringBoot案例-部门管理-新增

根据页面原型&#xff0c;明确需求 页面原型 需求 阅读接口文档 接口文档链接如下&#xff1a; 【腾讯文档】SpringBoot案例所需文档 https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 前端在输入要新增的部门名称后&#xff0c;会以JSON格式将数据传入至后端&#xf…

SpringBoot 3.x整合Fluent Mybatis极简流程

此为基础配置&#xff0c;不包括其他高级配置&#xff0c;需要其他高级配置请查阅官方文档&#xff1a;[fluent mybatis特性总览 - Wiki - Gitee.com](https://gitee.com/fluent-mybatis/fluent-mybatis/wikis/fluent mybatis特性总览) 版本信息 Spring Boot 版本&#xff1a…

C语言创建目录(文件夹)之mkdir

一、mkdir 说明&#xff1a;创建目录。 头文件库&#xff1a; #include <sys/stat.h> #include <sys/types.h>函数原型&#xff1a; int mkdir(const char *pathname, mode_t mode);mode方式&#xff1a;可多个权限相或&#xff0c;如0755表示S_IRWXU | S_IRGRP…

undefined reference to `dlopen‘ ‘SSL_library_init‘ `X509_certificate_type‘

使用Crow的时候需要注意crow依赖asio依赖OpenSSL&#xff0c;asio要求1.22以上版本&#xff0c;我使用的是1.26.0&#xff1b; 这个版本的asio要求OpenSSL是1.0.2&#xff0c;其他版本我得机器上编不过&#xff0c;ubuntu上默认带的OpenSSL是1.1.1; 所以我下载了OPENSSL1.2.0重…