Building of dockerfiles "Unable to locate package curl"

October 9, 2014 4.5k views

Hey everyone,
I used my droplet a few months ago to use teamspeak in a docker container. Today I tried to build a docker container with apache2 and a few other things and I`m unable to install anything in my containers.

I`m using the image Docker 1.2.0 on Ubuntu 14.04

1 Answer

Without an example of your Dockerfile, it's hard to give a definite answer. One thing to keep in mind is that many Docker images are focused on keeping the size as small as possible. So some utilities you might expect to find might be missing. If you need something, you should explicitly install or use a base layer that you know contains your dependencies.

You can find the Dockerfile that is used to build the official httpd container image on GitHub. Notice how it explicitly installs cURL in a RUN directive. It should be a good starting point for your Dockerfile.

Check out this article for more info:

by O.S Tezer
Docker containers are created by using [base] images. An image can be a basic one with nothing but the operating-system fundamentals, or it can consist of a sophisticated pre-built application stack - ready for launch. When building your images with docker, each action taken (i.e. a command executed such as apt-get install) forms a new layer on top of the previous one. These base images then can be used to create new containers. In this DigitalOcean article, we will see about automating this process as much as possible, as well as showing you the best practices and methods to make most of docker and containers by using Dockerfiles: scripts to build containers, step-by-step, layer-by-layer, automatically from a source (base) image.
Have another answer? Share your knowledge.