目录
一、安装 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:
# Ubuntu
sudo 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=test123
volumes:
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
阅读后若有收获,不吝关注,分享等操作!