Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Regression]: Playwright java docker images removed curl binary since 1.47.0 focal releases #1716

Closed
viniciusgava opened this issue Dec 17, 2024 · 1 comment

Comments

@viniciusgava
Copy link

Last Good Version

mcr.microsoft.com/playwright/java:v1.46.0-focal

First Bad Version

mcr.microsoft.com/playwright/java:v1.47.0-focal

Steps to reproduce

  1. Run the following commands below to check that curl is no longer available:
 docker run -it --rm mcr.microsoft.com/playwright/java:v1.49.0-noble /bin/curl
 docker run -it --rm mcr.microsoft.com/playwright/java:v1.49.0-jammy /bin/curl
 docker run -it --rm mcr.microsoft.com/playwright/java:v1.47.0-focal /bin/curl
  1. you should see a similar output showing that the curl is no longer available
docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: exec: "/bin/curl": stat /bin/curl: no such file or directory: unknown.

Expected behavior

  1. Run the following command below to check that curl exists in the image:
docker run -it --rm mcr.microsoft.com/playwright/java:v1.46.0-focal /bin/curl
  1. you should see a similar output showing that the curl exists in the image:
curl: try 'curl --help' or 'curl --manual' for more information

It's expected that the curl binary is available in the image.

Actual behavior

Curl binary is not available in the newest images.

Additional context

I am unsure if the docker image no longer has the /bin/curl qualifies as a loss of functionality.

We noticed this change recently while upgrading the playwright. Since AWS ECS requires the bash command for a health check and most of our infrastructure stack uses the curl command for that, it would be nice to have this back in the official docker image.

For now, I have replaced the playwright deployment health check in my infrastructure to use wget, which is still available in the image.

Currently using mcr.microsoft.com/playwright/java:v1.49.0-noble.

Environment

OS: Ubuntu 24.04 LTS
CPU: AMD64
Docker version: 27.4.0, build bde2b89
Linux Kernel: 6.8.0-49-generic x86_64

@viniciusgava viniciusgava changed the title [Regression]: Playwright java docker images removed curl binary since jammy releases [Regression]: Playwright java docker images removed curl binary since 1.47.0 focal releases Dec 17, 2024
@yury-s
Copy link
Member

yury-s commented Dec 17, 2024

curl is considered an implementation detail. We switched from curl to wget a few months ago (see #1679) which is why you don't see curl preinstalled. If your code depends on some tools, you should make sure to install them on top of playwright docker image to avoid breakages. As our documentation read, the playwright docker images have browsers and their required system dependencies preinstalled, anything beyond that is a subject to changes.

@yury-s yury-s closed this as completed Dec 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants