Sign inSign up

harshavardhanj/ddclient

By harshavardhanj

Updated about 6 years ago

Docker Image for running 'ddclient', which is used to update Dynamic DNS records.

Image
2

3.7K

harshavardhanj/ddclient repository overview

ddclient Docker Image

Docker Image Size (tag) MicroBadger Layers (tag) Docker Pulls

GitHub AND License: GPL v2

In case you find this image to be useful, please consider clicking the link below to say thanks! Thank you.
saythanks

NOTE:

Apart from the aforementioned images, there are other images that contain untested as part of their tag. Do not use these images. As the tag suggests, they are present for purposes of testing. In order to test the images with container-structure-test and trivy, the image needs to be present in a public repository. Therefore, I first build and push the images with an untested tag. Then, I run tests on these images. When the image passes all tests, it is built again and pushed with the appropriate tags.

Quick Reference

Software Packages Installed

  • ddclient
  • perl
  • perl-utils
  • perl-test-taint
  • perl-netaddr-ip
  • perl-net-ip
  • perl-json
  • perl-io-socket-ssl
  • perl-io-socket-inet6
  • Data::Validate::IP

There are images with four tags currently - latest, 3.9.1, stable , and 3.9.0. All images are built on top of the alpine base image. Currently, the latest and 3.9.1 tag point to the same image. The stable and 3.9.0 tag point to the same image.

Supported Architectures

The name of the architecture is followed by the image tags which support that architecture

  • x86_64 Tag Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag)
  • ARM64 Tag Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag)
  • ARM32V7 Tag Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag)
  • ARM32V6 Tag Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag)
  • i386 Tag Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag)
  • ppc64le Tag Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag) Docker Image Version(tag)

Description of Tags

latest, 3.9.1 Docker Image Version(tag) Docker Image Version(tag)

The image with this tag contains no software packages installed except for the ddclient executable and its dependencies. To use this image, use the latest tag, or no tag at all as follows

$ docker container run -d --name ddclient \
-v /path/to/config/file:/etc/ddclient/ddclient.conf \
harshavardhanj/ddclient:latest

or

$ docker container run -d --name ddclient \
-v /path/to/config/file:/etc/ddclient/ddclient.conf \
harshavardhanj/ddclient

stable, 3.9.0 Docker Image Version(tag) Docker Image Version(tag)

Just like the latest image, this image contains only ddclient and its dependencies installed. To use this image, use the stable tag, or the 3.9.0 tag as follows

$ docker container run -d --name ddclient \
-v /path/to/config/file:/etc/ddclient/ddclient.conf \
harshavardhanj/ddclient:stable
$ docker container run -d --name ddclient \
-v /path/to/config/file:/etc/ddclient/ddclient.conf \
harshavardhanj/ddclient:3.9.0

How to use this image

Start a ddclient instance

$ docker container run -d --name ddclient \
-v /path/to/config/file:/etc/ddclient/ddclient.conf \
harshavardhanj/ddclient

Running the above command will start a ddclient instance and will follow the dfirectives given in the configuration file(/etc/ddclient/ddclient.conf) which has to be bind-mounted to the container.

… via docker stack deploy or docker-compose

Example stack.yaml/docker-compose.yaml for ddclient:

version: "3.4"
services:
	endlessh:
		image: harshavardhanj/ddclient:latest
		volumes:
			- "/path/to/config/file:/etc/ddclient/ddclient.conf:ro"
		restart: always

Try in ‘Play With Docker’

After opening the above Play With Docker link, you should see a terminal.

To use in a swarm, run docker stack deploy -c stack.yaml harshavardhanj/ddclient from the manager node in your swarm, and wait for it initialise completely. To use on a local development machine, use docker-compose -f stack.yaml up from your local machine, and wait for it initialise completely.

Image Variants

ddclient:latest, ddclient:stable, ddclient

These images are based on the popular Alpine Linux project, available in the alpine official image. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.

This variant is highly recommended when final image size being as small as possible is desired. The main caveat to note is that it does use musl libc instead of glibc and friends, so certain software might run into issues depending on the depth of their libc requirements. However, most software doesn't have an issue with this, so this variant is usually a very safe choice. See this Hacker News comment thread for more discussion of the issues that might arise and some pro/con comparisons of using Alpine-based images.

To minimize image size, it's uncommon for additional related tools (such asgit or bash) to be included in Alpine-based images.

License

As with all Docker images, these likely also contain other software which may be under other license (such as bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained.)

As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software container within.

The license for endlessh as given on the author's GitHub page is License: GPL v2. The license for the code pertaining to the Docker container as given on my GitHub page is GitHub.

Tag summary

Content type

Image

Digest

Size

12.4 MB

Last updated

about 6 years ago

docker pull harshavardhanj/ddclient