serversideup / docker-php

🐳 Production-ready Docker images for PHP. Optimized for Laravel, WordPress, and more!
https://serversideup.net/open-source/docker-php/
GNU General Public License v3.0
1.65k stars 108 forks source link

Adding custom script fails to start #351

Closed WisdomSky closed 3 months ago

WisdomSky commented 3 months ago

Affected Docker Images

serversideup/php:8.3-fpm-nginx

Docker Labels of the affected images

No response

Current Behavior

RUN docker-php-serversideup-s6-init returns permission denied

Expected Behavior

The custom dockerfile should execute without problems as documented here: https://serversideup.net/open-source/docker-php/docs/customizing-the-image/adding-your-own-start-up-scripts#docker-php-serversideup-s6-init-usage

image

image

Steps To Reproduce

  1. Create entrypoint.d directory
  2. Inside the entrypoint.d directory, create a custom shellscript e.g 99-custom.sh
  3. Create custom Dockerfile as shown in the docs then save.
  4. Update docker-compose file as shown here.
  5. Run docker compose up

Host Operating System

Debian 11

Docker Version

Docker version 26.1.0, build 9714adc

Anything else?

No response

jaydrogers commented 3 months ago

Thanks for pointing this out!

The docs were dated and it was missing the correct permissions.

New example:

FROM serversideup/php:8.3-fpm-nginx

ENV S6_CMD_WAIT_FOR_SERVICES=1

COPY --chmod=755 ./entrypoint.d/ /etc/entrypoint.d/

# Change to root, so we can do root things
USER root

# As root, run the docker-php-serversideup-s6-init script
RUN docker-php-serversideup-s6-init

# Change back to the www-data user
USER www-data
WisdomSky commented 3 months ago

@jaydrogers Thank you for the very quick response! I really appreciated it!

Can confirm that it now works as expected.

Thank you!