docker部署webpagetest

 

制作镜像

Server

创建一个server文件夹,包含Dockerfilelocations.ini文件。

Dockerfile:

FROM webpagetest/server
ADD locations.ini /var/www/html/settings/

locations.ini:

[locations]
1=Test_loc
[Test_loc]
1=Test
label=Test Location
group=Desktop
[Test]
browser=Chrome,Firefox
label="Test Location"
connectivity=LAN

本地build镜像

$ docker build -t local-wptserver .

Agent

创建一个agent文件夹,包含Dockerfilescript.sh文件。

Dockerfile:

FROM webpagetest/agent
ADD script.sh /
ENTRYPOINT /script.sh

script.sh

#!/bin/bash
set -e
if [ -z "$SERVER_URL" ]; then
echo >&2 'SERVER_URL not set'
exit 1
fi
if [ -z "$LOCATION" ]; then
echo >&2 'LOCATION not set'
exit 1
fi
EXTRA_ARGS=""
if [ -n "$NAME" ]; then
EXTRA_ARGS="$EXTRA_ARGS --name $NAME"
fi
python /wptagent/wptagent.py --server $SERVER_URL --location $LOCATION $EXTRA_ARGS --xvfb --dockerized -vvvvv --shaper none

让 script.sh 可执行

chmod u+x script.sh

制作Agent镜像

$ docker build -t local-wptagent .

开始运行一个Webpagetest Docker实例

$ docker run -d -p 4000:80 local-wptserver
$ docker run -d -p 4001:80 \
--network="host" \
-e "SERVER_URL=http://localhost:4000/work/" \
-e "LOCATION=Test" \
local-wptagent

最后访问 http://127.0.0.1:4000 即可查看到效果。

 

posted @ 2021-12-08 14:41  runzhao  阅读(424)  评论(0编辑  收藏  举报