Skip to content

Guide · Open source

How to use Dockerfiles: a guide using jessfraz/dockerfiles

Updated · written with AI from the project's own documentation and checked against our catalogue data

A Dockerfile is a plain text recipe that Docker reads to build a container image. This guide uses jessfraz/dockerfiles, a personal collection of Dockerfiles the author uses on a desktop and on servers, as a set of working examples. By the end you will know what a Dockerfile is, how to get this repository, and how to build and run one of its images with the Makefile.

dockerfilesjessfraz/dockerfiles · ★ 13.9k · MIT

Quick start

  1. 1Install Docker and Make. Make sure both Docker and Make are installed on your computer, since these are the stated prerequisites.
  2. 2Clone the repository. Run git clone https://github.com/jessfraz/dockerfiles to download the Dockerfiles.
  3. 3Open the Dockerfile you want. Read the command at the top of the file to see how the author suggests running it.
  4. 4List the Makefile targets. Run make help inside the repository to see the available targets.
  5. 5Build one image. Run make image DIR=<directory>, for example make image DIR=telnet.
  6. 6Run the image. Run make run DIR=<directory> to start it using the command at the top of its Dockerfile.

What is a Dockerfile?

A Dockerfile is the recipe file Docker uses to build a container image. The repository described here holds various Dockerfiles for images the author creates, so each subdirectory is a recipe for one image.

What do you need before you start?

The install method for this repository is clone-and-build. The stated prerequisites are Docker and Make. The README does not describe other requirements, so check that both tools are installed on your machine before continuing.

  • Docker
  • Make

How do you get the jessfraz/dockerfiles repository?

Clone the repository with git. The README gives this command.

git clone https://github.com/jessfraz/dockerfiles

How do you find out how to run a specific Dockerfile?

The author says they try to put a command at the top of each Dockerfile that documents how to run it. Open the Dockerfile for the image you want and read the first lines. The README also notes that some files may not have this command yet, and the author invites pull requests to add it.

How do you build and run one image with the Makefile?

The Makefile provides targets for working with the repository. The image target builds one Dockerfile, using the DIR variable to name its directory. The run target runs a Dockerfile using the command at the top of its file, also selected with DIR. Run make help to see every target.

  • make help lists all available targets.
  • make build builds all the Dockerfiles in the repository.
  • make image DIR=telnet builds a single Dockerfile (the README's example).
  • make run DIR=telnet runs a Dockerfile from the command at the top of its file.
  • make test runs the tests on the repository.
$ make help build Builds all the dockerfiles in the repository. dockerfiles Tests the changes to the Dockerfiles build. image Build a Dockerfile (ex. DIR=telnet). latest-versions Checks all the latest versions of the Dockerfile contents. run Run a Dockerfile from the command at the top of the file (ex. DIR=telnet). shellcheck Runs the shellcheck tests on the scripts. test Runs the tests on the repository.

Where can you get prebuilt images from this repo?

The README says almost all of these images live on Docker Hub under the user jess. It also says the author builds them continuously on a private registry at r.j3ss.co for public download. Use those sources if you want an image without building it yourself.

Can you use these Dockerfiles as examples to learn from?

Yes. The repository is useful for reading Dockerfiles for desktop applications run in containers and for borrowing patterns. The README gives no overview of each image beyond the Makefile, so you will need to read the files themselves to understand what each one does.

What people use it for

  • Reading a working Dockerfile for a desktop application to learn the pattern.
  • Building a single image from this repo with make image DIR=<directory>.
  • Borrowing structure from a long-running personal Dockerfile collection for your own images.
  • Checking that Dockerfile changes still build by running make dockerfiles or make test.

Frequently asked questions

Is jessfraz/dockerfiles free to use?

The repository is licensed under MIT, as listed on its project page. The MIT licence is a permissive open-source licence, so check its terms before reuse. The README does not describe any paid tier.

What do I need to install to use these Dockerfiles?

The stated prerequisites are Docker and Make. You also need git to clone the repository with the command given in the README.

Is jessfraz/dockerfiles maintained as a supported product?

No. The README describes it as a repo of Dockerfiles for images the author creates, and the project is a personal collection rather than a supported product. Treat it as a set of examples.

How do I build a single Dockerfile from this repo?

Run make image DIR=telnet, replacing telnet with the directory you want. The Makefile help text describes this target as building a Dockerfile from the directory you name.

Where can I download prebuilt images?

The README says most images are on Docker Hub under the user jess. It also says the author builds them on a private registry at r.j3ss.co for public download.

How does this compare to the Docker official images library or LinuxServer.io?

The Docker official images library and LinuxServer.io docker images are listed as comparable projects. This repo is a personal collection without the documented, supported focus those projects offer, so compare them based on what you need.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this repository if you want working Dockerfile examples for desktop applications or want to borrow patterns from a personal collection. Pick a maintained, documented option such as the Docker official images library or LinuxServer.io if you need a supported image for a specific application.

Install options & downloads