- Create a base image. Estimated reading time: 3 minutes. Most Dockerfiles start from a parent image. If you need to completely control the contents of your image, you might need to create a base image instead. Here’s the difference: A parent image is the image that your image is based on.
- Prerequisite: 'Building Docker images in an optimized way' (https://www.youtube.com/watch?v=7fkhW1ShoIk).
- Repository of docker images. Contribute to conda/conda-docker development by creating an account on GitHub.
- Docker¶ Docker is an open platform for developers and system administrators to build, ship, and run distributed applications, whether on laptops, data center virtual machines, or the cloud. Provides Anaconda and Miniconda Docker images. Read the official Docker documentation and specifically the information related to Docker images.
Estimated reading time: 3 minutes
Usually in Docker you don't need a tool like Conda that can manage multiple concurrent isolated software installations: Docker itself provides that isolation. For Python packages, just run pip install in your Dockerfile to install things into the 'system' Python (isolated to the image you're building).
Anaconda Docker Image Size
Most Dockerfiles start from a parent image. If you need to completely controlthe contents of your image, you might need to create a base image instead.Here’s the difference:
A parent image is the image that yourimage is based on. It refers to the contents of the
FROMdirective in theDockerfile. Each subsequent declaration in the Dockerfile modifies this parentimage. Most Dockerfiles start from a parent image, rather than a base image.However, the terms are sometimes used interchangeably.
A base image has
FROM scratchin its Dockerfile.
This topic shows you several ways to create a base image. The specific processwill depend heavily on the Linux distribution you want to package. We have someexamples below, and you are encouraged to submit pull requests to contribute newones.
Create a full image using tar
In general, start with a working machine that is runningthe distribution you’d like to package as a parent image, though that isnot required for some tools like Debian’sDebootstrap, which you can alsouse to build Ubuntu images.
It can be as simple as this to create an Ubuntu parent image:
There are more example scripts for creating parent images in the DockerGitHub repository.
Create a simple parent image using scratch
You can use Docker’s reserved, minimal image,
scratch, as a starting point forbuilding containers. Using the
scratch “image” signals to the build processthat you want the next command in the
Dockerfile to be the first filesystemlayer in your image.
scratch appears in Docker’s repository on the hub, you can’t pull it,run it, or tag any image with the name
scratch. Instead, you can refer to itin your
Dockerfile. For example, to create a minimal container using
Assuming you built the “hello” executable example by using the source code athttps://github.com/docker-library/hello-world,and you compiled it with the
-static flag, you can build this Dockerimage using this
docker build command:
Don’t forget the
. character at the end, which sets the build context to thecurrent directory.
Note: Because Docker Desktop for Mac and Docker Desktop for Windows use a Linux VM,you need a Linux binary, rather than a Mac or Windows binary.You can use a Docker container to build it:
To run your new image, use the
docker run command:
This example creates the hello-world image used in the tutorials.If you want to test it out, you can clonethe image repo.
Anaconda Image Docker Hub
There are lots of resources available to help you write your
Anaconda Docker Images
- There’s a complete guide to all the instructions available for use in a
Dockerfilein the reference section.
- To help you write a clear, readable, maintainable
Dockerfile, we’ve alsowritten a
Dockerfilebest practices guide.
- If your goal is to create a new Docker Official Image, read Docker Official Images.
Anaconda Docker Image Exampleimages, base image, examples
Comments are closed.