/artifakt-docker-images

Base Docker images supported by Artifakt PaaS

Primary LanguageShellApache License 2.0Apache-2.0

Artifakt Docker Images

artifakt-logo

Base Docker images supported by Artifakt PaaS

Build Docker Images Twitter handle

Contains all maintained runtimes supported by the Artifakt platform. All are freely available through our official registry at registry.artifakt.io

Full list of available runtimes

Runtime Version Base Image Demo App Build status Image Size
Akeneo 4.0 Apache akeneo:4.0-apache artifakt-io/base-akeneo akeneo:4.0-apache Docker Image Size (tag)
Akeneo 5.0 Apache akeneo:5.0-apache artifakt-io/base-akeneo akeneo:5.0-apache Docker Image Size (tag)
Angular 12 angular:12 artifakt-io/base-angular angular:12 Docker Image Size (tag)
Drupal 9.2 Apache drupal:9.2-apache artifakt-io/base-drupal drupal:9.2-apache Docker Image Size (tag)
Golang 1.16 golang:1.16 artifakt-io/base-go golang:1.16 Docker Image Size (tag)
Golang 1.18 golang:1.18 artifakt-io/base-go golang:1.18 Docker Image Size (tag)
Java 8 java:8 artifakt-io/base-java Java 8 Docker Image Size (tag)
Magento 2.4 magento:2.4-apache artifakt-io/base-magento magento:2.4 Docker Image Size (tag)
Magento 2.4 FPM magento:2.4 artifakt-io/base-magento magento:2.4-fpm Docker Image Size (tag)
Node.js 14 node:14 artifakt-io/base-nodejs Node.js 14 Docker Image Size (tag)
Node.js 16 node:16 artifakt-io/base-nodejs Node.js 16 Docker Image Size (tag)
Nuxtjs 2.15 nuxtjs:2.15 artifakt-io/base-nuxtjs Nuxtjs 2.15 Docker Image Size (tag)
PHP 7.4 Apache php:7.4-apache artifakt-io/base-php PHP 7.4 Docker Image Size (tag)
PHP 8 Apache php:8-apache artifakt-io/base-php PHP 8 Docker Image Size (tag)
Python 3.9 python:3.9 artifakt-io/base-python python:3.9 Docker Image Size (tag)
Ruby 2.7 ruby:2.7 artifakt-io/base-ruby ruby:2.7 Docker Image Size (tag)
Ruby 3.1 ruby:3.1 artifakt-io/base-ruby ruby:3.1 Docker Image Size (tag)
Sylius 1.10 Apache sylius:1.10-apache artifakt-io/base-sylius sylius:1.10-apache Docker Image Size (tag)
Sylius 1.11 Apache sylius:1.11-apache artifakt-io/base-sylius sylius:1.11-apache Docker Image Size (tag)
Symfony 4.4 Apache symfony:4.4-apache artifakt-io/base-symfony symfony:4.4-apache Docker Image Size (tag)
Symfony 5.4 Apache symfony:5.4-apache artifakt-io/base-symfony symfony:5.4-apache Docker Image Size (tag)
VueJs 3 vuejs:3 artifakt-io/base-vuejs wordpress:vuejs Docker Image Size (tag)
Wordpress 5 Apache wordpress:5-apache artifakt-io/base-wordpress wordpress:5-apache Docker Image Size (tag)

About Artifakt

Artifakt is a developer-focused platform to run applications on the cloud—it deploys, monitors, and alerts any web-based application and auto-scales.

Artifakt makes cloud operations easier by filtering out potential differences between cloud providers and presents you all the essential features—for example, region selection, database settings, storage needs, and scalability options.

Developers and agencies from all over the world can rely on Artifakt to manage the boilerplates of deployment: SSL, CDN, OS security, stack monitoring, etc.

And of course, we are thrilled to welcome contributions, fixes, or updates, so feel free to open pull requests! We aim to respond as soon as possible.

Check out the Artifakt Blog for all upcoming Docker-related (and not only!) announcements.

How to use our images

Pull from public registry

docker pull registry.artifakt.io/magento:2.4-apache

Build from Source

All images are publicly available, just use the docker pull command or FROM syntax in your Dockerfile. In case you want to build them locally, see sample commands below:

git clone https://github.com/artifakt-io/artifakt-docker-images/

cd artifakt-docker-images

To build all Docker images, just run the build.sh command at the top level:

./build.sh

To build all tags for a specific Docker image, use its name following the same folder name:

./build.sh --image=magento

To build a specific version, just add the tag name to the previous build command

./build.sh --image=php --tag=7.4-apache

In case a Dockerfile has been updated, this repo uses Hadolint as a linter.

To force validation on Dockerfile before building, add the following option:

./build.sh --image=php --tag=7.4-apache --lint=true

Upon successful build, the resulting image can be further assessed using using Google's container-structure-test tool, with the following command:

./build.sh --image=php --tag=7.4-apache --lint=true --test=true

Remark #1: by design, if a Dockerfile fails linting, it will not be built Remark #2: structure tests will look for a test.yaml next to the tested Dockerfile

At anytime, just call the help with ./build.sh --help for all the available options.

Execution sample: run a web application

It's easy to launch code inside a container from a pre-built Artifakt PHP image. Just paste the following command in a terminal pointing to the code source:

docker run -d -p 8000:80 --name php_sample -v $PWD:/var/www/html registry.artifakt.io/php:7.4-apache

After the application starts, navigate to http://localhost:8000 in your web browser.

Adding an image

  • Fork this repository
  • Create a folder at the root with the convention <image_name>/<tag>
  • Write a Dockerfile inside this new folder
  • Lint it with hadolint
  • Submit a new pull request
  • Upon successful review, we'll publish it on our official registry

Image update policy

  • We update the supported images within 12 hours of any updates to their base images (e.g. php:7-apache-buster, wordpress:5-php7.3-apache, etc.).

Support and feedback

License

artifakt-docker-images is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.