Docker 部署 Jenkins 及 Playwright Web 自动化实践
在使用 Docker 部署 Jenkins 以及安装 Playwright 进行 Web 自动化测试的过程中,需要注意环境配置与版本兼容性。以下分享相关经验与解决方法。
云主机部署 Docker 注意事项
1.1 Docker 版本选择
在云主机上部署 Docker 时,默认安装的版本可能较旧,导致后续操作出现兼容性问题。建议安装最新稳定版。
如果之前已安装 Docker,可按以下步骤升级:
- 备份现有镜像和容器:防止数据丢失。
- 升级 Docker:直接升级至最新稳定版,无需卸载。
1.2 推荐系统与网络
CentOS 7 维护的 Docker 版本较旧,建议在 OpenEuler 或 BCLinux 系统上部署。确保联网通畅以拉取最新资源。如需官方包,可访问 Docker 官方仓库。
拉取和使用 Playwright 镜像
2.1 镜像版本选择
根据 Playwright 官方文档安装的镜像可能存在兼容性问题。建议使用特定版本镜像:mcr.microsoft.com/playwright/python:v1.57.0-noble。
2.2 创建并启动 Playwright 容器
以下是创建并启动 Playwright 容器的命令:
docker run -it --rm \
--pids-limit=-1 \
--cpus=4 \
--memory=4g \
--env PIP_NO_CACHE_DIR=1 \
--env PIP_DEFAULT_TIMEOUT=120 \
-v /root/code:/root \
mcr.microsoft.com/playwright/python:v1.57.0-noble \
sh -c "pip install --no-cache-dir --progress-bar off --retries 5 --timeout 120 playwright==1.57.0 ddddocr loguru -i https://mirrors.aliyun.com/pypi/simple/&&/bin/bash"
此步骤主要用于验证容器是否可用及镜像是否存在问题。如需测试 Python 脚本,可将代码放入指定目录(注意权限问题)。
部署 Jenkins
3.1 拉取 Jenkins 镜像
首次拉取时未指定版本可能导致问题,建议拉取长期支持版本:docker pull jenkins:lts。
3.2 创建并启动 Jenkins 容器
docker run -d \
--name zjjenkins \
-p 8001:8080 \
-p 50001:50000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-v /home/jenkins:/var/jenkins_home \
-v /etc/localtime:/etc/localtime:ro \
jenkins/jenkins:lts
3.3 权限问题的解决
# 以 root 用户进入容器
docker exec -u root -it zjjenkins bash
# 在容器内修改权限
chmod 755 /usr/bin/docker
# 退出容器

