https://github.com/devilbox/docker-nginx-mainline/workflows/lint/badge.svg](https://github.com/devilbox/docker-nginx-mainline/actions?query=workflow%3Alint) https://github.com/devilbox/docker-nginx-mainline/workflows/build/badge.svg](https://github.com/devilbox/docker-nginx-mainline/actions?query=workflow%3Abuild) https://github.com/devilbox/docker-nginx-mainline/workflows/nightly/badge.svg](https://github.com/devilbox/docker-nginx-mainline/actions?query=workflow%3Anightly) .
HTTP/2 is enabled by default for all SSL connections.
For convenience the entrypoint script during docker run provides a pretty decent validation and documentation about wrong user input and suggests steps to fix it.
| Invalid backend string | Backend Suggestion | Invalid Alias | Verified |
🐱 GitHub: https://github.com/devilbox/docker-nginx-mainline
| Web Server Project | Reference Implementation |
|---|---|
| https://github.com/devilbox/docker-nginx-mainline | https://github.com/cytopia/devilbox |
| Streamlined Webserver images | The https://github.com/cytopia/devilbox |
https://github.com/devilbox/docker-apache-2.2 | https://github.com/devilbox/docker-apache-2.4 | https://github.com/devilbox/docker-nginx-stable | Nginx mainline
https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.latest https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.debian https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.alpine
bashdocker pull devilbox/nginx-mainline
Rolling releases
The following Docker image tags are rolling releases and are built and updated every night.
https://github.com/devilbox/docker-nginx-mainline/workflows/nightly/badge.svg](https://github.com/devilbox/docker-nginx-mainline/actions?query=workflow%3Anightly)
| Docker Tag | Git Ref | Available Architectures |
|---|---|---|
| https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.latest | master | amd64, i386, arm64, arm/v7, arm/v6 |
| https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.debian | master | amd64, i386, arm64, arm/v7, arm/v6 |
| https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.alpine | master | amd64, i386, arm64, arm/v7, arm/v6 |
Point in time releases
The following Docker image tags are built once and can be used for reproducible builds. Its version never changes so you will have to update tags in your pipelines from time to time in order to stay up-to-date.
https://github.com/devilbox/docker-nginx-mainline/workflows/build/badge.svg](https://github.com/devilbox/docker-nginx-mainline/actions?query=workflow%3Abuild)
| Docker Tag | Git Ref | Available Architectures |
|---|---|---|
| https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.latest | git: <tag> | amd64, i386, arm64, arm/v7, arm/v6 |
| https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.debian | git: <tag> | amd64, i386, arm64, arm/v7, arm/v6 |
| https://github.com/devilbox/docker-nginx-mainline/blob/master/Dockerfiles/Dockerfile.alpine | git: <tag> | amd64, i386, arm64, arm/v7, arm/v6 |
🛈 Where
<tag>refers to the chosen git tag from this repository.
⚠ Warning: The latest available git tag is also build every night and ***ed a rolling tag.
This repository uses official httpd Docker images and adds a lot of features, logic and autmomation op top. This allows you to feature-toggle certain functionality simply by setting environment variables.
Below is a brief overview about most outstanding features, but I would still advice you to read up on available environment variables, as well as the architecture to get the whole picture.
🛈 For details see Documentation: Features
Automated mass virtual hosts
Automated PHP-FPM setup
Automated Reverse Proxy setup
Automated SSL certificate generation
Trusted HTTPS in all vhosts
Customization per virtual host
Local file system permission sync
docker run command.Tested with common Frameworks
The provided Docker images add a lot of injectables in order to customize it to your needs. See the table below for a brief overview.
🛈 For details see Documentation: Environment variables
If you don't feel like reading the documentation, simply try out your
docker runcommand and add any environment variables specified below. The validation will tell you what you might have done wrong, how to fix it and what the meaning is.
Verbosity[object Object][object Object] |
System[object Object][object Object][object Object] |
Nginx[object Object][object Object] |
Main Vhost[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object] |
Mass Vhost[object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object][object Object] |
All Vhosts[object Object][object Object] |
The provided Docker images offer the following internal paths to be mounted to your local file system.
🛈 For details see Documentation: Volumes
| Data dir | Config dir |
|---|---|
/var/www/default//shared/httpd//ca/ |
/etc/httpd-custom.d//etc/vhost-gen.d/ |
When you plan on using 443 you must enable SSL via environment variables, otherwise nothing will be listening on that port.
| Docker | Description |
|---|---|
| 80 | HTTP listening Port |
| 443 | HTTPS listening Port |
The documentation provides many copy/paste examples about common use-cases including dummy projects.
The given examples distinguish between two different kinds of setup: The default vhost, which only allows to serve a single project and the mass vhost setup, which allows unlimited vhosts that are created automtically. Both types offer the same set of features and are configured in a similar way, so If you find an example in one kind it is easily applyable to the other kind as well.
🛈 For details see Documentation: Examples
🛈 For details see Docker Compose: Examples
Docker
|
Default vhost 💡 Serve static files 💡 Serve PHP files 💡 Sync local filestem permission 💡 Serve PHP files over HTTPS 💡 Reverse Proxy NodeJS |
Unlimited vhosts 💡 Custom vhost-gen template💡 LEMP stack with PHP-FPM and MariaDB 💡 Wordpress setup |
Docker Compose
|
Default vhost 💡 Serve static files 💡 Serve PHP files 💡 Serve PHP files over HTTPS 💡 Reverse Proxy NodeJS 💡 Reverse Proxy Python |
Unlimited vhosts 💡 Serve PHP files over HTTPS 💡 Reverse Proxy and PHP-FPM |
The following diagram shows the basic architecture of this docker image.
🛈 For details see Documentation: Architecture
bash# mass-vhost # main-vhost only docker-entrypoint.sh docker-entrypoint.sh | | ↓ ↓ supervisord (pid 1) httpd (pid 1) / | / | ↙ ↓ start start httpd watcherd / | \ / | \ ↓ ↓ ↘ sgn rm create-vhost.sh httpd vhost | | | | ↓ ↓ cert-gen vhost-gen ⭢ generate vhost
Show some love for the following sister projects.
| 🖤 Project | 🐱 GitHub | 🐋 DockerHub |
|---|---|---|
| https://github.com/cytopia/devilbox | https://github.com/cytopia/devilbox | |
| https://github.com/devilbox/docker-php-fpm | https://github.com/devilbox/docker-php-fpm | https://hub.docker.com/r/devilbox/php-fpm |
| https://github.com/devilbox/docker-php-fpm-community | https://github.com/devilbox/docker-php-fpm-community | https://hub.docker.com/r/devilbox/php-fpm-community |
| https://github.com/devilbox/docker-mysql | https://github.com/devilbox/docker-mysql | https://hub.docker.com/r/devilbox/mysql |
|
https://github.com/devilbox/docker-apache-2.2 https://github.com/devilbox/docker-apache-2.4 https://github.com/devilbox/docker-nginx-stable https://github.com/devilbox/docker-nginx-mainline |
https://hub.docker.com/r/devilbox/apache-2.2 https://hub.docker.com/r/devilbox/apache-2.4 https://hub.docker.com/r/devilbox/nginx-stable https://hub.docker.com/r/devilbox/nginx-mainline | |
| https://github.com/cytopia/docker-bind | https://github.com/cytopia/docker-bind | https://hub.docker.com/r/cytopia/bind |
In case you seek help, go and visit the community pages.
📘 Documentation | 🎮 *** | 🗪 Forum |
|---|---|---|
|
|
|
| devilbox.readthedocs.io | ***/devilbox | devilbox.discourse.group |
https://github.com/cytopia
I try to keep up with literally over 100 projects besides a full-time job. If my work is making your life easier, *** contributing. 🖤
Findme: 🐱 https://github.com/cytopia / https://github.com/devilbox | 🐋 https://hub.docker.com/r/cytopia/ / https://hub.docker.com/r/devilbox/ | 🐦 everythingcli / devilbox | 📖 everythingcli.org
Contrib: PyPI: cytopia · Terraform: cytopia · Ansible: cytopia
MIT License
Copyright (c) 2016 https://github.com/cytopia
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务