According to Alpine wiki I have to run rc-service apache2 start
after installation of Apache 2. However, there's no rc-service
in the Alpine running inside the container. How do I get the service command to run inside Docker container?
gliderlabs/docker-alpine
issue 183 illustrate the docker Alpine image has no service
or rc-service
.
You can see instead nimmis/docker-alpine-apache
based on nimmis/docker-alpine-micro
, which includes a runit, used to handle starting and shutting down processes automatically started.
That initd will start the apache2 script, which calls:
exec /usr/sbin/httpd -D FOREGROUND -f /web/config/httpd.conf
Alpine does not have rc-service installed by default. You need to install it (either as part of your Dockerfile build process or manually in the container).
The secret invocation is:
apk add openrc --no-cache
If you want to run it from outside the container (say docker run), then use:
docker run [options etc] bin/ash -c "apk add openrc --no-cache"
PS: rc-service is good for other things and stuff like mariadb (also not included in alpine)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With