Due to the nature of versioning and the fact this repository houses multiple Docker images, the change log is more of a chronological record of events. Including improvements that are made over time without a specific release, and the actual releases.
Each release records it's own specific changes in a VERSIONS.md file.
alpine-nodejs
: upgraded Node.js tov8.13.0
.alpine-nodejs
: upgraded Node.js tov8.14.0
.alpine-nodejs
: upgraded Node.js tov8.15.0
.
alpine-nodejs
: upgraded Node.js tov8.12.0
.
alpine-nodejs
: upgraded Node.js tov8.9.0
.alpine-nodejs
: upgraded Node.js tov8.10.0
.alpine-nodejs
: upgraded Node.js tov8.11.0
.
alpine-nodejs
: upgraded Node.js tov8.4.0
.alpine-nodejs
: upgraded Node.js tov8.5.0
.alpine-nodejs
: upgraded Node.js tov8.6.0
.alpine-nodejs
: upgraded Node.js tov8.7.0
.alpine-nodejs
: upgraded Node.js tov8.8.0
.
- Release
v8.4.0
ofalpine-nodejs
- Release
v8.5.0
ofalpine-nodejs
- Release
v8.6.0
ofalpine-nodejs
- Release
v8.7.0
ofalpine-nodejs
- Release
v8.8.0
ofalpine-nodejs
alpine-nodejs
: upgraded Node.js tov8.3.0
.
alpine-nodejs
: upgraded Node.js tov8.0.0
.alpine-nodejs
: upgradedalpine-base
to3.3.0
.alpine-nodejs
: upgraded Node.js tov8.1.0
.alpine-nodejs
: upgraded Node.js tov8.2.0
.
alpine-base
: upgraded Alpine tov3.9
.alpine-base
: upgraded s6-overlay tov1.22.1.0
.
alpine-nodejs
: upgraded to Node.jsv6.11.4
.
alpine-nodejs
: upgraded to Node.jsv6.11.2
.alpine-nodejs
: upgraded to Node.jsv6.11.2
.
alpine-nodejs
: upgraded to Node.jsv6.11.1
.
alpine-nodejs
: upgraded to Node.jsv6.10.3
.alpine-nodejs
: upgraded to Node.jsv6.11.0
.
alpine-nodejs
: upgraded to Node.jsv6.10.1
.alpine-nodejs
: upgraded to Node.jsv6.10.2
.
alpine-consul
: updated consul tov0.8.5
. Transitioned from beta to full release.alpine-consul-base
: updated consul-template tov0.19.0
. Transitioned from beta to full release.alpine-consul-ui
: transitioned from beta to full release.alpine-consul-redis
: updated Redis tov3.2.5
.alpine-consul-nginx
: transitioned from beta to full release.alpine-consul-nodejs
: transitioned from beta to full release.
- Release
v3.2.0
ofalpine-consul
- Release
v4.2.0
ofalpine-consul-base
- Release
v2.2.0
ofalpine-consul-ui
- Release
v2.2.0
ofalpine-consul-redis
- Release
v3.2.0
ofalpine-consul-nginx
- Release
v5.11.0
ofalpine-consul-nodejs
alpine-consul
:- added
util-linux
package foruuidgen
binary. consul-node-id
now usesuuidgen
for better UUID generation that doesn't clash.- Upgraded Consul to
v0.8.4
.
- added
- Release
v3.2.0-beta.2
ofalpine-consul
- Release
v4.2.0-beta.2
ofalpine-consul-base
- Release
v2.2.0-beta.2
ofalpine-consul-ui
- Release
v3.2.0-beta.2
ofalpine-consul-nginx
- Release
v5.11.0-beta.2
ofalpine-consul-nodejs
alpine-consul-base
: updated consul-template configuration file to use a stanza rather than a string.
- Release
v3.2.0-beta.1
ofalpine-consul
- Release
v4.2.0-beta.1
ofalpine-consul-base
- Release
v2.2.0-beta.1
ofalpine-consul-ui
- Release
v5.11.0-beta.1
ofalpine-consul-nodejs
- Release
v3.2.0-beta.1
ofalpine-consul-nginx
alpine-consul
,alpine-consul-base
,alpine-consul-ui
:- upgraded to Consul
v0.8.3
. - added the new
-data-id
argument (customisable via replacing the/usr/bin/consul-node-id
script). - added the
-data-dir
argument (customisable via theCONSUL_DATA_DIR
ENV variable). - exposed 8600 and 8600/udp.
- upgraded to Consul
alpine-consul-base
: upgraded consul-template tov0.18.5
.alpine-consul-base
: added theCONSUL_TEMPLATE_RUNAS
ENV variable to customise which user runs consul-template.alpine-consul-base
: added theCONSUL_RUNAS
ENV variable to customise which user runs consul.alpine-consul-redis
: upgrade Redis tov3.2.5-r0
.alpine-consul
: added theGO_DNSMASQ_RUNAS
ENV variable to customise which user runs go-dnsmasq.alpine-consul
: added theCONSUL_BOOTSTRAP_DEBUG
to show debug messages. Set totrue
. Information will be output by theconsul-available
,consul-join
andconsul-join-wan
scripts.alpine-consul
: added theCONSUL_AVAILABLE_SLEEP
ENV variable to customise the amount of seconds to sleep between checking for other consul servers.
alpine-nginx-nodejs
: upgraded to Node.jsv6.4.0
.
alpine-nginx-nodejs
: upgraded to Node.jsv6.3.1
.alpine-base
: created new beta branchabh-master
from PR #72:- Upgraded to Alpine
v3.5
. - Add the
libcap
package. - Update
s6-overlay
tov1.19.1.1
.
- Upgraded to Alpine
alpine-base
: move away fromADD
toCOPY
, inline with Docker best practices.alpine-base
: renamedGODNSMASQ_VERSION
toGO_DNSMASQ_VERSION
.alpine-base
: addedGO_DNSMASQ_RUNAS
for easy configuration of the user in whichgo-dnsmasq
will run as. This is to support environments in whichsetcap
doesn't work.
alpine-nginx-nodejs
: upgraded to Node.jsv6.3.0
.
alpine-nodejs
: upgraded to Node.jsv6.10.0
.alpine-nodejs
: upgraded to Node.jsv6.10.1
.
alpine-nodejs
: upgraded to Node.jsv6.9.2
.alpine-nodejs
: upgraded to Node.jsv6.9.3
.alpine-nodejs
: upgraded to Node.jsv6.9.4
.alpine-nodejs
: upgraded to Node.jsv6.9.5
.
- Release
v5.9.2
ofalpine-consul-nodejs
- Release
v5.9.3
ofalpine-consul-nodejs
- Release
v5.9.4
ofalpine-consul-nodejs
- Release
v5.9.5
ofalpine-consul-nodejs
alpine-nodejs
: upgraded to Node.jsv6.9.0
.alpine-nodejs
: upgraded to Node.jsv6.9.1
.
alpine-nodejs
: upgraded to Node.jsv6.4.0
.alpine-nodejs
: upgraded to Node.jsv6.5.0
.alpine-nodejs
: upgraded to Node.jsv6.6.0
.alpine-nodejs
: upgraded to Node.jsv6.7.0
.alpine-nodejs
: upgraded to Node.jsv6.8.0
.
- Release
v5.4.0
ofalpine-consul-nodejs
- Release
v5.5.0
ofalpine-consul-nodejs
- Release
v5.6.0
ofalpine-consul-nodejs
- Release
v5.7.0
ofalpine-consul-nodejs
- Release
v5.8.0
ofalpine-consul-nodejs
alpine-nodejs
: upgraded to Node.jsv6.10.0
.
alpine-nodejs
: upgraded to Node.jsv6.9.2
.alpine-nodejs
: upgraded to Node.jsv6.9.3
.alpine-nodejs
: upgraded to Node.jsv6.9.4
.alpine-nodejs
: upgraded to Node.jsv6.9.5
.
- Release
v6.6.2
ofalpine-nodejs
- Release
v6.6.3
ofalpine-nodejs
- Release
v6.6.4
ofalpine-nodejs
- Release
v6.6.5
ofalpine-nodejs
alpine-nodejs
: upgraded to Node.jsv6.7.0
.alpine-nodejs
: upgraded to Node.jsv6.8.0
.alpine-nodejs
: upgraded to Node.jsv6.9.0
.alpine-nodejs
: upgraded to Node.jsv6.9.1
.
- Release
v6.4.0
ofalpine-nodejs
- Release
v6.5.0
ofalpine-nodejs
- Release
v6.6.0
ofalpine-nodejs
- Release
v6.6.1
ofalpine-nodejs
alpine-nodejs
: upgraded to Node.jsv6.4.0
.alpine-nodejs
: upgraded to Node.jsv6.5.0
.alpine-nodejs
: upgraded to Node.jsv6.6.0
.
alpine-consul-nodejs
: upgraded to Node.jsv6.3.1
.alpine-nodejs
: upgraded to Node.jsv6.3.1
.alpine-consul
: upgraded to Consulv0.7.1
.alpine-consul
: go-dnsmasq is now run as the go-dnsmasq user.alpine-consul-base
: now inherits fromalpine-consul:3.1.1
.
- Release
v5.3.1
ofalpine-consul-nodejs
- Release
v6.0.1
ofalpine-nodejs
- Release
v3.1.1
ofalpine-consul
- Release
v4.1.1
ofalpine-consul-base
alpine-consul-redis
: upgraded toalpine-consul-base:4.1.0
.alpine-consul-ui
: upgraded toalpine-consul:1.1.0
.alpine-consul-ui
: updated to take advantage ofconsul-join-wan
script and environment variables$CONSUL_RETRY_INTERVAL
,$CONSUL_DOMAIN
,$CONSUL_DC
and$CONSUL_CLIENT
.alpine-consul-ui
run
script is now inline with thealpine-consul
run
script.alpine-consul-apache
: upgraded toalpine-consul-base:4.1.0
.alpine-consul-apache
: addedapk upgrade
.alpine-consul-apache
: updated to use Consul's built-in HTTP(s) check.alpine-consul-apache
: fixed Apache runtime error by addingmkdir -p /run/apache2/
to theDockerfile
.- Updated the
user-consul-ui
example to use Docker Compose. - Updated the
user-consul-apache
example to use Docker Compose. Show's it running with a cluster.
- Release
v2.1.0
ofalpine-consul-redis
- Release
v2.1.0
ofalpine-consul-ui
- Release
v2.0.0
ofalpine-consul-apache
alpine-consul-nodejs
: upgraded toalpine-consul-base:4.1.0
.alpine-consul-nginx
: upgraded toalpine-consul-base:4.1.0
.
alpine-apache
: merged in changes to resolve an issue with Apache quitting.alpine-apache
: upgraded to Apachev2.4.23
.alpine-base
: upgraded go-dnsmasq tov1.0.7
(resolves DNS issues on container restarts janeczku/go-dnsmasq#18).alpine-base
: upgraded s6-overlay tov1.18.1.5
.alpine-confd
: upgraded FROM toalpine-base:3.1.0
.alpine-consul
: upgraded FROM toalpine-base:3.1.0
.alpine-consul
: upgraded Consul tov0.7.0
.alpine-consul-base
: addedapk upgrade
.alpine-consul-base
: upgraded consul-template to v0.16.0.alpine-consul-nodejs
: addedapk upgrade
.alpine-consul-nginx
: addedapk upgrade
.alpine-consul-redis
: addedapk upgrade
.alpine-consul
: removed thefinish
file. This was bringing down the container unnecessarily. If Consul dies, no need to bring down the container. Restart Consul, let it reload the configuration files and attempt to re-join the cluster.alpine-consul
: update-dc
to-datacenter
.examples/complete
: addingNODEJS_EXIT
to the environment variables for theapp
service will cause Node.js to exit between 1 minute and 1.5 minutes. This is to simulate nodes going down, to test them rejoining the Consul cluster.- Upgraded the Vagrant VM to a new box (based on Ubuntu 16.04). I was running into issues building images which issue
setcap
(after Docker 1.10, moby/moby#20658). This upgrade has resolved those issues. If you're contributing to docker-alpine, you should destroy your VM and set it up again (after agit pull
).
- Release
v2.0.1
ofalpine-apache
- Release
v3.1.0
ofalpine-base
- Release
v3.1.0
ofalpine-confd
- Release
v3.1.0
ofalpine-consul
alpine-confd
: upgraded toalpine-base v3.0.0
.
alpine-nginx-nodejs
: upgraded Node.js to v6.2.1.alpine-nginx-nodejs
: upgraded Node.js to v6.2.2.alpine-nodejs
: upgraded Node.js to v6.3.0. Node.js is now compiled without the--fully-static
flag allowing dynamic loading.alpine-nodejs
: Addapk upgrade --update
to the Dockerfile so that APK packages are now updated when the image is built.
- Released
v4.2.1
ofalpine-nginx-nodejs
- Released
v4.2.2
ofalpine-nginx-nodejs
- Released
v6.0.0
ofalpine-nodejs
alpine-nginx-nodejs
: upgraded Node.js to v6.0.0.alpine-nginx-nodejs
: upgraded Node.js to v6.1.0.alpine-nginx-nodejs
: upgraded Node.js to v6.2.0.
- Released
v4.0.0
ofalpine-nginx-nodejs
- Released
v4.1.0
ofalpine-nginx-nodejs
- Released
v4.2.0
ofalpine-nginx-nodejs
alpine-nginx-nodejs
: upgrade to the latest version ofalpine-nginx
.alpine-nginx-nodejs
: upgraded Node.js to v5.9.0.alpine-nginx-nodejs
: upgraded Node.js to v5.9.1.
- Released
v3.0.0
ofalpine-nginx-nodejs
- Released
v3.1.0
ofalpine-nginx-nodejs
- Released
v3.1.1
ofalpine-nginx-nodejs
- Now using
http://dl-4.alpinelinux.org/alpine/v3.3/main
APK repository to source v1.8.1 of Nginx in alpine-consul-nginx.
- Released
v3.0.1
ofalpine-consul-nginx
- Released
v5.2.2
ofalpine-nodejs
- Released
v5.2.2
ofalpine-consul-nodejs
- Released
v3.0.0
ofalpine-nginx
- Updated the
examples/user-consul-nodejs
to use Docker Compose and zero-conf bootstrapped Consul. - Updated the
examples/user-consul-nginx
to use Docker Compose and zero-conf bootstrapped Consul. - Updated the
examples/user-consul-nodejs
to use Docker Compose and zero-conf bootstrapped Consul. - Removed the
:dev
tags fromexamples/complete
.
- Released
v3.0.0
ofalpine-base
. - Released
v3.0.0
ofalpine-consul
- Released
v2.0.0
ofalpine-consul-ui
- Released
v4.0.0
ofalpine-consul-base
- Released
v4.0.0
ofalpine-consul-nodejs
- Released
v5.0.0
ofalpine-consul-nodejs
- Released
v5.1.0
ofalpine-consul-nodejs
- Released
v5.2.0
ofalpine-consul-nodejs
- Released
v5.2.1
ofalpine-consul-nodejs
- Released
v3.0.0
ofalpine-consul-nginx
- Released
v2.0.0
ofalpine-consul-redis
alpine-base
: upgraded to Alpine Linux 3.4 (https://hub.docker.com/_/alpine/).alpine-consul-ui
: disabled Consul version check.
alpine-consul-base
: renamed/usr/bin/container-ip
to/usr/bin/host-ip
to be more explicit about what it does.alpine-consul-consul
: added/usr/bin/container-find
which is used to find container IP addresses matching a specific DNS name (by default). This script is used withinconsul-join
. Through adding this script, it is now quite easy to customisehost-ip
andcontainer-find
so that these containers can work in non-standard scenarios (such as Rancher and Docker Cloud). It's easier to overwrite these files which are logic, as opposed toconsul-join
in which you'd need to recreate the logic.alpine-consul-ui
: has been updated to usehost-ip
rather thancontainer-ip
.alpine-consul
: now setsCONSUL_SERVER_NAME
environment variable and this is used within the container as the name for DNS queries. By defaultalpine-consul
nodes have been setup to useconsul
as their service name, however, withCONSUL_SERVER_NAME
you can now customise this as required.
alpine-consul-base
:/etc/services.d/consul-template/finish
no longer attempts to bring down the entire container. It is a secondary process and therefore should simply restart.alpine-consul-base
: introduced theexec
keyword in/etc/services.d/consul-template/run
when startingconsul-template
. It seems to play nicer and can now receive signals such ass6-svc -h /var/run/s6/services/consul-template
.
alpine-consul
: revertedconsul-join
to usedig
rather thangetent hosts
so that-retry-join
flag will use all available consul IPs to attempt to join. This meanscontainer-ip
usesgetent hosts
andconsul-join
usesdig
. This has proven to be the most stable setup across Docker 1.9 and Docker 1.11.
alpine-base
: revertedcontainer-ip
to usegetent hosts
rather thandig
to determine the container ip. After testing with Docker 1.9getent hosts
is much more stable (essentially untilgo-dnsmasq
is up and running).
- General: tagged all builds with
:dev
and will release these on Docker hub now. Final testing before release. alpine-consul-redis
: now inherits from the latest version ofalpine-consul-base
.alpine-consul-redis
: updated to the latest version of Redis 3.2.0. Redis runs with protected mode off assuming that we're running Redis with container-only access and therefore protected mode is not required.- General: update the example to add session management via Redis (demonstrating load balancing with sticky sessions).
alpine-consul
: customised/etc/services.d/consul/run
removing-client $BIND
in favour of-advertise $BIND -client 0.0.0.0
so that Consul works in more environments (such as overlay networks or environments with multiple IPs).alpine-consul-base
: customer/etc/services.d/consul/run
removing-client $BIND
in favour of-advertise $BIND -client 0.0.0.0
so that Consul works in more environments (such as overlay networks or environments with multiple IPs).- General: updated the example to demonstrate Nginx load balancing to multiple Node.js containers.
alpine-consul
:/usr/bin/consul-join
will now output all consul IPs (excluding itself) with the-retry-join
argument (for example-retry-join 172.19.0.7 -retry-join 172.19.0.6
) so that Consul can try mutliple IPs.alpine-consul
:/etc/services.d/consul/run
now accepts theCONSUL_CONFIG_DIR
ENV variable for the location of the Consul configuration directory. SetCONSUL_CONFIG_DIR
inalpine-consul/Dockerfile
.alpine-consul-base
: removed/etc/services.d/consul/run
and setCONSUL_CONFIG_DIR
inalpine-consul-base/Dockerfile
.alpine-consul-ui
: updated/etc/services.d/consul/run
to take advantage of improvements listed above and setCONSUL_CONFIG_DIR
inalpine-consul-ui/Dockerfile
.
- General: moved all temporary scripts created in the images in
examples/complete
back into their respectivedocker-alpine
containers (for examplecontainer-ip
,consul-join
,consul-available
and all run scripts). alpine-consul-nginx
: fixed issues in which the container assumed an incorrect default root.alpine-consul-nginx
: moved to the built-inhttp
Consul check replacing the shell script based version we had.- General: reduced output from
consul-available
script. It would unnecessarily print an IP tostdout
. alpine-consul
: now expects to be bootstrapped with three other nodes as the default.alpine-consul-base
: all images extendingalpine-consul-base
will now automatically join a Consul cluster.- General: removed the
examples/complete/consul
container as it can now be done in just a few lines in thedocker-compose.yml
. Bootstrapping a multi-node Consul cluster is so simple now! FTW! - General: removed the
examples/complete/consului
container as it can now be done in just a few lines in thedocker-compose.yml
(an entire container just for the UI is no longer required).
- General: Create a
container-ip
script that will be used in all other scripts when the IP of the container is required. This will make it easy to override this function in just one place (#41). Lives here inalpine-base
. alpine-base
:go-dnsmasq
has been updated to1.0.4
.alpine-base
:--append-search-domains
flag has been removed fromgo-dnsmasq
start. This was because Docker 1.10+ seems to addlocaldomain
as a search domain to/etc/resolv.conf
and makes queries longer.alpine-base
:--ndots "1" --fwd-ndots "0"
flags have been added togo-dnsmasq
start. These have been added because Docker 1.10+ addsoptions ndots:0
to/etc/resolv.conf
andgo-dnsmasq
requires a setting of 1. And--fwd-ndots "0"
instructsgo-dnsmasq
to forward queries to domains without dots (i.e.consul
as we do now) to upstream DNS servers.- Consul-related:
-retry-interval
has been reduced from15s
to5s
.
- General: Docker Engine has been updated to 1.11 (run (on host)
vagrant destroy && vagrant reload --provision
). - Consul-related:
examples/complete/consul
,examples/complete/consul-ui
,examples/complete/static
were all updated to enable zero-conf Consul bootstrapping.
alpine-consul-base
: no longer restarts the container if Consul fails. s6 simply restarts Consul.- Consul-related:
leave_on_terminate
has been removed from Consul configuration files. - Consul-related: remove
exec
from start scripts as this was interfering with signals and proper shutdown order. alpine-consul-base
: now issues-bind
and-client
when starting Consul such that all Consul interfaces are being bound to the IP of the container notlocalhost
(this change means that a query to any Consul interface originating externally from the container itself can be used).alpine-consul-ui
: now issues-client
when starting Consul.alpine-consul
: thecont-finish.d/00-consul
script inalpine-consul
now issues theconsul leave
command rather thanconsul force-leave
and provides the-rpc-addr
flag because we've moved away from the default oflocalhost
. Removingexec
from the Consul start scripts has made this possible as the scripts incont-finish.d
are run prior to the service directoryfinish
scripts. This has made leaving the Consul cluster much, much, much more consistent.alpine-consul
: now distinguishes between exiting because ofCTRL+C
(while developing) and a crash of the Consul process (you can simulate withkill -9 <pid>
). When exiting because ofCTRL+C
the attempt to bring down the container is not made as this is already happening. This has tidied up thes6-svscanctl: fatal: unable to control /var/run/s6/services: supervisor not listening
error.- go-dnsmasq-related: go-dnsmasq has been updated as the Consul DNS service is no longer bound to
localhost
but the IP of the container instead. - General: preferring
$VARNAME
syntax over${VARNAME}
in shell scripts. - Development: Docker Compose was updated to 1.7.0 (run (on guest)
sudo rm /etc/vagrant/compose
and then (on host)vagrant reload --provision
) to upgrade.