WebPageTest本地部署

一、安装 docker

  1. 访问Docker官网文档,按需下载对应版本安装
    https://docs.docker.com/get-docker/

  2. 注册docker id
    https://hub.docker.com/signup

  3. 安装后点击工具栏的Docker图标,使用注册的docker id登录

二、拉取镜像

docker pull webpagetest/server

docker pull webpagetest/agent

有点慢 耐心等待 或者使用阿里云加速 自行百度。

三、运行实例

docker run -d -p 4000:80 --rm webpagetest/server

docker run -d -p 4001:80 --network="host" -e "SERVER_URL=http://localhost:4000/work/" -e "LOCATION=Test" webpagetest/agent

如果是Windows系统就可直接开启 浏览器输入 http://localhost:4000 ,如果是mac 即后续配置。

四、mac 用户自定义镜像

  1. 创建server目录
    mkdir wpt-mac-server
    
    cd wpt-mac-server
    
  2. 创建Dockerfile,添加内容
    vim Dockerfile
    
    FROM webpagetest/server
    ADD locations.ini /var/www/html/settings/
    
    :wq
    
  3. 创建locations.ini配置文件,添加内容
    vim locations.ini
    
    [locations]
    1=Test_loc
    [Test_loc]
    1=Test
    label=Test Location
    group=Desktop
    [Test]
    browser=Chrome,Firefox
    label="Test Location"
    connectivity=LAN
    
    :wq
    
  4. 创建自定义server镜像
    docker build -t wpt-mac-server .
    
  5. 创建agent目录
    mkdir wpt-mac-agent
    cd wpt-mac-agent
    
  6. 创建Dockerfile,添加内容
    vim Dockerfile
    
    FROM webpagetest/agent
    ADD script.sh /
    ENTRYPOINT /script.sh
    
    :wq
    
  7. 创建script.sh, 添加内容
    vim 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
    
    :wq
    
  8. 修改script.sh权限
    chmod u+x script.sh
    
  9. 创建自定义agent镜像
    docker build -t wpt-mac-agent .
    
  10. 用新镜像运行实例 (注意先停掉之前运行的containers)
  • 关闭containers
      docker ps 
      docker stop (上行命令中的两个id)
    

示例:
lanhai@LHs-MacBook-Pro wpt-mac-agent % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
115f7badd7d6 webpagetest/agent "/bin/bash /wptagent…" 12 minutes ago Up 12 minutes stoic_newton
a6fd342af314 webpagetest/server "docker-php-entrypoi…" 12 minutes ago Up 12 minutes 443/tcp, 0.0.0.0:4000->80/tcp laughing_knuth
lanhai@LHs-MacBook-Pro wpt-mac-agent % docker stop 115f7badd7d6 a6fd342af314

  • 运行实例
  docker run -d -p 4000:80 --rm wpt-mac-server
  docker run -d -p 4001:80 --network="host"-e "SERVER_URL=http://localhost:4000/work/"-e "LOCATION=Test"wpt-mac-agent

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):