Closed1
Dockerコンテナ上で動かしているplaywrightコンテナの失敗レポートを、ホストからでもアクセスできるようにする
まず、コンテナの中に入ってportが開放されているかチェックする。
ss
コマンドを使いたいので、
apt install iproute2
ss -tuln
コマンドを実行
root@a2b84a5c5767:~/e2etest# ss -tuln
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.11:40299 0.0.0.0:*
tcp LISTEN 0 511 127.0.0.1:9323 0.0.0.0:*
tcp LISTEN 0 4096 127.0.0.11:33707 0.0.0.0:*
9323番が、playwrightが使っているポートだが、localhostでしかアクセスできないことがわかるので、
開発環境では0.0.0.0 などで開放できるようにしたい。
こちらのリンクにHTML reporterのポート設定のやり方について説明があるので、
reporter: [['html', { host: '0.0.0.0', port: '9323' }]],
こんな感じで編集してみる。
すると、playwright失敗時に
Serving HTML report at http://0.0.0.0:9323. Press Ctrl+C to quit.
こうなるので、localhost:9323
でアクセスすると...見事表示された。
もちろん、dockerコンテナの起動時には、ホスト:コンテナのポートを開放するオプションが必要。
docker compose run --rm -p9323:9323 playwright npx playwright test tests
こんな感じになる。
ホスト側から疎通確認したかったら、docker psコマンドを叩いて
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
36b625c017b5 playwright "npx playwright test…" 13 minutes ago Up 13 minutes 0.0.0.0:9323->9323/tcp, :::9323->9323/tcp playwright-run-20e0d05f798d
9323に通ってることがわかる。
このスクラップは2023/08/23にクローズされました