聊聊使用docker快速部署测试环境

server/2025/3/30 7:07:02/

目录

一、安装 Docker

根据系统安装 Docker:

二、 编写 Dockerfile

三、构建镜像

四、单容器运行

docker-compose%EF%BC%89-toc" name="tableOfContents" style="margin-left:0px">五、多服务部署(docker-compose)

六、关键操作

查看日志:

进入容器调试:

清理环境:

docker%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83%E4%BC%98%E5%8A%BF-toc" name="tableOfContents" style="margin-left:0px">七、docker快速部署测试环境优势


在部署测试环境前,首先是安装Docker,这是基础。然后创建Docker镜像,这里可能需要Dockerfile的例子,比如用Python或者Node.js的应用做示例。接着是运行容器,解释常用参数,比如端口映射、后台运行等。

要考虑数据持久化,比如数据库的数据,避免容器删除后数据丢失。所以需要提到数据卷的使用。网络部分也很重要,容器间的通信需要自定义网络或者docker-compose自动处理的网络。

一、安装 Docker

根据系统安装 Docker:

# Ubuntusudo apt update && sudo apt install docker.io docker-compose# Mac/Windows# 下载 Docker Desktop:https://www.docker.com/products/docker-desktop

二、 编写 Dockerfile

创建应用镜像的配置文件 Dockerfile(以 Python 为例):

#基础镜像
FROM python:3.9-slim# 设置工作目录WORKDIR /app# 复制依赖文件并安装COPY requirements.txt .RUN pip install -r requirements.txt# 复制应用代码COPY . .# 启动命令CMD ["python", "app.py"]

三、构建镜像

docker build -t my-test-app:latest .

四、单容器运行

docker run -d --name test-app -p 8000:8000 my-test-app:latest

-d:后台运行

--name:容器命名

-p:端口映射(主机端口:容器端口)

docker-compose%EF%BC%89" name="%E4%BA%94%E3%80%81%E5%A4%9A%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2%EF%BC%88docker-compose%EF%BC%89">五、多服务部署(docker-compose)

创建 docker-compose.yml:

version: '3'services:  web:    build: .    ports:      - "8000:8000"    depends_on:      - db    environment:      - DB_HOST=db  db:    image: postgres:13    volumes:      - postgres_data:/var/lib/postgresql/data    environment:      - POSTGRES_PASSWORD=test123volumes:  postgres_data:

启动服务:

docker-compose up -d

六、关键操作

查看日志:

docker logs -f test-app

进入容器调试:

docker exec -it test-app /bin/bash

清理环境:​​​​​​​

docker-compose down  # 停止并删除容器docker system prune   # 清理无用资源

docker%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83%E4%BC%98%E5%8A%BF" name="%E4%B8%83%E3%80%81docker%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83%E4%BC%98%E5%8A%BF">七、docker快速部署测试环境优势

秒级启动:容器启动速度远快于虚拟机

环境一致性:消除 "在我机器上能跑" 问题

资源隔离:不同测试环境互不干扰

快速重置, 即可刷新环境。

docker-compose down && docker-compose up

阅读后若有收获,不吝关注,分享等操作!


http://www.ppmy.cn/server/179580.html

相关文章

VUE2导出el-table数据为excel并且按字段分多个sheet

首先在根目录下建一个文件夹export用来存储export.js import * as XLSX from xlsxfunction autoWidthFunc(ws, data) {// 设置每列的最大宽度const colWidth data.map(row > row.map(val > {var reg new RegExp([\\u4E00-\\u9FFF], g) // 检测字符串是否包含汉字if (v…

TCP/IP协议的三次握手和四次挥手

TCP/IP协议是互联网通信的基础,而“三次握手”和“四次挥手”是TCP连接建立和断开的关键过程。下面我们用通俗易懂的方式,结合图形来解释这两个过程。 一、三次握手:建立连接 三次握手是TCP协议用来建立连接的过程,确保客户端和…

遍历整个列表

在本章中,你将学习如何遍历遍 整个列表,这只需要几行代码,无论列表有多长。循环让你能够对列表的每个元素都采取一个或一系列相同的措施,从而高效地处理任何长度的列表,包括包含数千乃至数百万个元素的列表。 遍历整个…

通过git文件查看大模型下载链接的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【JavaScript】金丹期功法

目录 数组声明数组数组的基本使用遍历数组案例:求数组中的最值数组操作查询数据修改数据新增数据案例:数组筛选删除数据 案例:渲染柱形图 数组 数组(Array)是一种可以按顺序保存数据的数据类型 场景:如果…

免费使用Gemini 2.5 Pro的完整教程

谷歌3月25日发布的Gemini 2.5 Pro可能成为AI发展史上的关键转折点。 尽管企业对其最新模型夸大其词已成常态,但2.5 Pro发布即登顶LMArena排行榜(该榜单由人类评估员根据交互质量和实用性对AI进行排名)的事实表明,这绝非营销噱头。 该模型的独特之处在于其架构设计。 Gemi…

python处理音频相关的库

1 音频信号采集与播放 pyaudio import sys import pyaudio import wave import timeCHUNK 1024 FORMAT pyaudio.paInt16 CHANNELS 1#仅支持单声道 RATE 16000 RECORD_SECONDS 3#更改录音时长#录音函数,生成wav文件 def record(file_name):try:os.close(file_…

Cache 映射方式详解

Cache 映射方式详解 一、直接映射(Direct Mapping) 原理:每个主存块只能映射到 唯一的一个 Cache 块,映射公式为:Cache 块号主存块号modCache 块数 示例: Cache 大小:8 块(块号 …