Sign inSign up

devilbox/varnish

By devilbox

•Updated over 5 years ago

Devilbox's Varnish Docker images

Image
2

50K+

devilbox/varnish repository overview

⁠Docker Varnish

Build Status Tag Gitter Discourse License

Varnish Docker images for the Devilbox.

Docker HubUpstream Project
⁠Documentation

In case you seek help, go and visit the community pages.

⁠Build

# Build Varnish 4
make build-4

# Build Varnish 5
make build-5

# Build Varnish 6
make build-6

⁠Environment variables

VariableDefault valueDescription
VARNISH_CONFIG/etc/varnish/default.vclPath to Varnish configuration file
CACHE_SIZE128mVarnish Cache size
VARNISHD_PARAMS-p default_ttl=3600 -p default_grace=3600Additional Varnish startup parameter
BACKEND_HOSTlocalhostIP or hostname of backend server.

Important: This variable only has effect when using the bundled config. If you change VARNISH_CONFIG you need to hard-code it in your custom configuration.
BACKEND_PORT80Port of backend server.

Important: This variable only has effect when using the bundled config. If you change VARNISH_CONFIG you need to hard-code it in your custom configuration.

⁠Mount points

Container pathDescription
/etc/varnish.d/Mount your host directory with *.vcl files to this directory when you want to override the varnish config

⁠Ports

By default each Varnish version exposes 6081 as its default listening port.

⁠Default configuration

Credits for default.vcl configuration goes here:

⁠Available Docker images

Docker imageVarnish version
devilbox/varnish:latestVarnish 6
devilbox/varnish:6Varnish 6
devilbox/varnish:5Varnish 5
devilbox/varnish:4Varnish 4

⁠Examples

⁠Use bundled config

Serve Varnish on port 80, use bundled config and forward Varnish requests to a webserver on 192.168.0.1 on port 8080 (which accepts HTTP and not HTTPS):

docker run -it -d --rm \
  -e BACKEND_HOST=192.168.0.1 \
  -e BACKEND_PORT=8080 \
  -p "80:6081" \
  devilbox/varnish:6
⁠Use custom config

Important:

When using a custom config, the BACKEND_HOST and BACKEND_PORT variables will have no effect and you need to ensure to hard-code this in your custom config.

Serve Varnish on port 80, use custom config on host system (/home/users/varnish/my-varnish.vcl) and forward Varnish requests to a webserver on 192.168.0.1 on port 8080 (which accepts HTTP and not HTTPS).

docker run -it -d --rm \
  -e BACKEND_HOST=192.168.0.1 \
  -e BACKEND_PORT=8080 \
  -e VARNISH_CONFIG=/etc/varnish.d/my-varnish.vcl \
  -v "/home/users/varnish/:/etc/varnish.d/" \
  -p "80:6081" \
  devilbox/varnish:6

⁠LICENSE

MIT License⁠

Copyright (c) 2019 cytopia⁠

Tag summary

Content type

Image

Digest

Size

68.1 MB

Last updated

over 5 years ago

docker pull devilbox/varnish