Coder Social home page Coder Social logo

docker-alpine-s6's Introduction

Build Status Docker Stars Docker Pulls
Become a sponsor Donate Paypal

About

Alpine Linux with s6 overlay.

Tip

Want to be notified of new releases? Check out ๐Ÿ”” Diun (Docker Image Update Notifier) project!


Features

Usage

This repository provides two images. The first one is built on top of alpine so, you can use it as a base image for your own images:

FROM crazymax/alpine-s6:3.19
RUN apk add --no-cache nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]

Note: ENTRYPOINT ["/init"] is already defined in the base image so no need to add this command.

The second one is a distribution image. This is a multi-platform scratch image that only contains all the scripts and binaries needed to run s6-overlay. This way you can use any base image and use the COPY --from command to copy the assets inside your image:

FROM ubuntu
COPY --from=crazymax/alpine-s6-dist:3.19 / /
RUN apt-get update && apt-get install -y nginx
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
CMD ["/usr/sbin/nginx"]
ENTRYPOINT ["/init"]

Alpine image

Registry Image
Docker Hub crazymax/alpine-s6
GitHub Container Registry ghcr.io/crazy-max/alpine-s6
$ docker run --rm mplatform/mquery crazymax/alpine-s6:latest
Image: crazymax/alpine-s6:latest
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64
   - linux/arm/v6
   - linux/arm/v7
   - linux/arm64
   - linux/386
   - linux/ppc64le
   - linux/s390x

Dist image

Registry Image
Docker Hub crazymax/alpine-s6-dist
GitHub Container Registry ghcr.io/crazy-max/alpine-s6-dist
$ docker run --rm mplatform/mquery crazymax/alpine-s6-dist:latest
Image: crazymax/alpine-s6-dist:latest
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64
   - linux/arm/v6
   - linux/arm/v7
   - linux/arm64
   - linux/386
   - linux/ppc64le
   - linux/s390x

Supported tags

  • edge, edge-x.x.x.x
  • latest-edge, 3.19-edge
  • latest, latest-x.x.x.x, 3.19, 3.19-x.x.x.x
  • 3.18-edge
  • 3.18, 3.18-x.x.x.x
  • 3.17-edge
  • 3.17, 3.17-x.x.x.x
  • 3.16-edge
  • 3.16, 3.16-x.x.x.x
  • 3.15-edge
  • 3.15, 3.15-x.x.x.x
  • 3.14-edge
  • 3.14, 3.14-x.x.x.x

x.x.x.x has to be replaced with one of the s6-overlay releases available (e.g. 3.1.0.1).

Build

git clone https://github.com/crazy-max/docker-alpine-s6.git
cd docker-alpine-s6

# Build image and output to docker (default)
docker buildx bake

# Build tarballs to ./dist
docker buildx bake artifact-all

# Build multi-platform image
docker buildx bake image-all

# Build multi-platform dist image
docker buildx bake image-dist-all

Contributing

Want to contribute? Awesome! The most basic way to show your support is to star the project, or to raise issues. You can also support this project by becoming a sponsor on GitHub or by making a PayPal donation to ensure this journey continues indefinitely!

Thanks again for your support, it is much appreciated! ๐Ÿ™

License

MIT. See LICENSE for more details.

docker-alpine-s6's People

Contributors

crazy-max avatar dependabot[bot] avatar jaynewstrom avatar sambacha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docker-alpine-s6's Issues

Unable to use on Raspberry Pi

Support guidelines

I've found a bug and checked that ...

  • ... the documentation does not mention anything about my problem
  • ... there are no open or closed issues that are related to my problem

Description

Currently I am able to use version 3.12 but nothing beyond that. I'm not sure if this is a problem with Alpine or S6. See logs below for the errors. This is on a Pi 3B+. Apologies in advance if there's something obvious I've missed!

Expected behaviour

Works similar to 3.12.

Actual behaviour

See logs below.

Steps to reproduce

Works: docker run crazymax/alpine-s6:3.12-edge
Fails: docker run crazymax/alpine-s6:3.13-edge
Fails: docker run crazymax/alpine-s6:3.15-edge

Docker info

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.6.3-docker)

Server:
 Containers: 4
  Running: 1
  Paused: 0
  Stopped: 3
 Images: 17
 Server Version: 20.10.9
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 5b46e404f6b9f661a205e28d59c982d3634148f8
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.63-v7+
 Operating System: Raspbian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: armv7l
 CPUs: 4
 Total Memory: 923.2MiB
 Name: nova-pi3-01
 ID: 5RBG:IODV:BL63:KTOL:ICCN:K3YZ:FUMR:GXIX:ET6J:SSDS:G7BE:MS5S
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No kernel memory TCP limit support
WARNING: No oom kill disable support
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

Version

  • Docker compose version (type docker-compose --version): docker-compose version 1.29.2, build unknown
  • System info (type uname -a): Linux nova-pi3-01 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l GNU/Linux

Docker compose

N/A

Container logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] ~-socklog: executing... 
[cont-init.d] ~-socklog: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
s6-log: warning: unable to set monotonic clock and read current time - timestamps may be wrong for a while: Operation not permitted
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-log: warning: unable to set monotonic clock and read current time - timestamps may be wrong for a while: Operation not permitted
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog/log: warning: can't happen: timeout while the service is up!
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog/log: warning: can't happen: timeout while the service is up!
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog/log: warning: can't happen: timeout while the service is up!
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog/log: warning: can't happen: timeout while the service is up!
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog/log: warning: can't happen: timeout while the service is up!
s6-supervise socklog: warning: can't happen: timeout while the service is up!
s6-supervise socklog/log: warning: can't happen: timeout while the service is up!

Additional info

No response

Add entrypoint

When using this image, I have to specify the entrypoint manually. Would it make sense to add ENTRYPOINT ["/init"] to the Dockerfile? I can send a PR if you'd like.

v3 support?

Support guidelines

I've found a bug and checked that ...

  • ... the documentation does not mention anything about my problem
  • ... there are no open or closed issues that are related to my problem

Description

Looks like this isn't automatically updating with v3 support.

Expected behaviour

v3 support available.

Actual behaviour

Stuck at v2.2.0.3-r15

Steps to reproduce

N/A

Docker info

N/A

Version

N/A

Docker compose

N/A

Container logs

N/A

Additional info

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.