-
Notifications
You must be signed in to change notification settings - Fork 7.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
trusted-content: restructure doi section
Signed-off-by: David Karlsson <[email protected]>
- Loading branch information
Showing
12 changed files
with
197 additions
and
105 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
--- | ||
description: Guidelines for Official Images on Docker Hub | ||
keywords: Docker, docker, registry, accounts, plans, Dockerfile, Docker Hub, docs, | ||
official,image, documentation | ||
title: Docker Official Images | ||
aliases: | ||
- /docker-hub/official_repos/ | ||
- /docker-hub/official_images/ | ||
--- | ||
|
||
The [Docker Official Images](https://hub.docker.com/search?q=&type=image&image_filter=official) | ||
are a curated set of Docker repositories hosted on Docker Hub. | ||
|
||
These images provide essential base repositories that serve as the starting | ||
point for the majority of users. | ||
|
||
These include operating systems such as | ||
[Ubuntu](https://hub.docker.com/_/ubuntu/) and | ||
[Alpine](https://hub.docker.com/_/alpine/), programming languages such as | ||
[Python](https://hub.docker.com/_/python) and | ||
[Node](https://hub.docker.com/_/node), and other essential tools such as | ||
[memcached](https://hub.docker.com/_/memcached) and | ||
[MySQL](https://hub.docker.com/_/mysql). | ||
|
||
The images are some of the [most secure images](https://www.docker.com/blog/enhancing-security-and-transparency-with-docker-official-images/) | ||
on Docker Hub. This is particularly important as Docker Official Images are | ||
some of the most popular on Docker Hub. Typically, Docker Official images have | ||
few or no vulnerabilities. | ||
|
||
The images exemplify [`Dockerfile` best practices](../../develop/develop-images/dockerfile_best-practices.md) | ||
and provide clear documentation to serve as a reference for other `Dockerfile` authors. | ||
|
||
Images that are part of this program have a special badge on Docker Hub making | ||
it easier for you to identify projects that are official Docker images. | ||
|
||
![Docker official image badge](../images/official-image-badge-iso.png) | ||
|
||
## In this section | ||
|
||
{{% sectionlinks %}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
--- | ||
title: Contributing to Docker Official Images | ||
description: | | ||
This article describes how Docker Official Images are created, | ||
and how you can contribute or leave feedback. | ||
keywords: docker official images, doi, contributing, upstream, open source | ||
--- | ||
|
||
Docker, Inc. sponsors a dedicated team that's responsible for reviewing and | ||
publishing all content in Docker Official Images. This team works in | ||
collaboration with upstream software maintainers, security experts, and the | ||
broader Docker community. | ||
|
||
While it's preferable to have upstream software authors maintaining their | ||
Docker Official Images, this isn't a strict requirement. Creating | ||
and maintaining images for Docker Official Images is a collaborative process. | ||
It takes place [openly on GitHub](https://github.com/docker-library/official-images) | ||
where participation is encouraged. Anyone can provide feedback, contribute | ||
code, suggest process changes, or even propose a new Official Image. | ||
|
||
> **Note** | ||
> | ||
> Docker Official Images are the intellectual property of Docker. | ||
## Creating a Docker Official Image | ||
|
||
From a high level, an Official Image starts out as a proposal in the form | ||
of a set of GitHub pull requests. The following GitHub repositories detail the proposal requirements: | ||
|
||
- [Docker Official Images repository on GitHub](https://github.com/docker-library/official-images) | ||
- [Documentation for Docker Official Images](https://github.com/docker-library/docs) | ||
|
||
The Docker Official Images team, with help from community contributors, formally | ||
review each proposal and provide feedback to the author. This initial review | ||
process may require a bit of back-and-forth before the proposal is accepted. | ||
|
||
There are subjective considerations during the review process. These | ||
subjective concerns boil down to the basic question: "is this image generally | ||
useful?" For example, the [Python](https://hub.docker.com/_/python/) | ||
Docker Official Image is "generally useful" to the larger Python developer | ||
community, whereas an obscure text adventure game written in Python last week is | ||
not. | ||
|
||
Once a new proposal is accepted, the author is responsible for keeping | ||
their images up-to-date and responding to user feedback. The Official | ||
Repositories team becomes responsible for publishing the images and | ||
documentation on Docker Hub. Updates to the Docker Official Image follow the same pull request process, though with less review. The Docker Official Images team ultimately acts as a gatekeeper for all changes, which helps mitigate the risk of quality and security issues from being introduced. | ||
|
||
## Submitting feedback for Docker Official Images | ||
|
||
All Docker Official Images contain a **User Feedback** section in their | ||
documentation which covers the details for that specific repository. In most | ||
cases, the GitHub repository which contains the Dockerfiles for an Official | ||
Repository also has an active issue tracker. General feedback and support | ||
questions should be directed to `#docker-library` on [Libera.Chat IRC](https://libera.chat). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
--- | ||
title: Using Docker Official Images | ||
description: | | ||
Learn about building applications with Docker Official images | ||
and how to interpret the tag names they use. | ||
keywords: docker official images, doi, tags, slim, feedback, troubleshooting | ||
weight: 10 | ||
--- | ||
|
||
If you are new to Docker, it's recommended you use the Docker Official Images | ||
in your projects. These images have clear documentation, promote best | ||
practices, and are designed for the most common use cases. Advanced users can | ||
review Docker Official Images as part of your `Dockerfile` learning process. | ||
|
||
A common rationale for diverging from Docker Official Images is to optimize for | ||
image size. For instance, many of the programming language stack images contain | ||
a complete build toolchain to support installation of modules that depend on | ||
optimized code. An advanced user could build a custom image with just the | ||
necessary pre-compiled libraries to save space. | ||
|
||
## Tags | ||
|
||
The repository description for each Docker Official Image contains a | ||
**Supported tags and respective Dockerfile links** section that lists all the | ||
current tags with links to the Dockerfiles that created the image with those | ||
tags. The purpose of this section is to show what image variants are available. | ||
|
||
![Supported tags for Ubuntu](../images/supported_tags.webp) | ||
|
||
Tags listed on the same line all refer to the same underlying image. Multiple | ||
tags can point to the same image. For example, in the `ubuntu` Docker Official | ||
Images repository, the tags `24.04`, `noble-20240225`, `noble`, and `devel` all | ||
refer to the same image. | ||
|
||
The `latest` tag for a Docker Official Image is often optimized for ease of use | ||
and includes a wide variety of useful software, such as Git and build tools. | ||
Because of their ease of use and wide applicability, `latest` images are often | ||
used in getting-started guides, but they're not recommended for production use. | ||
|
||
## Slim images | ||
|
||
A number of language stacks such as | ||
[Python](https://hub.docker.com/_/python/) and | ||
[Ruby](https://hub.docker.com/_/ruby/) have `slim` tag variants | ||
designed to fill the need for optimization. Even when these `slim` variants are | ||
insufficient, it's still recommended to inherit from an Official Image | ||
base OS image to leverage the ongoing maintenance work, rather than duplicating | ||
these efforts. | ||
|
||
## Alpine | ||
|
||
Many Docker Official Images repositories also offer `alpine` variants. These | ||
images are built on top of the Alpine Linux distribution rather than Debian or | ||
Ubuntu. Alpine Linux is focused on providing a small, simple, and secure base | ||
for container images, and Docker Official Images `alpine` variants typically | ||
aim to install only necessary packages. As a result, Docker Official Images | ||
`alpine` variants are typically even smaller than `slim` variants. For example, | ||
the `linux/amd64 node:latest` image is 382 MB, whereas the `node:slim` image is | ||
70 MB, and the `node:alpine` image is 47 MB. | ||
|
||
It's worth keeping in mind that Alpine Linux is based on musl libc, as opposed | ||
to glibc, which is used by most other Linux distributions. This difference in C | ||
implementations may influence how your program runs, depending on the type of | ||
application you're building. With Alpine Linux, your program can't use | ||
dynamically linked glibc objects, as those aren't available on musl. To run | ||
your programs on Alpine Linux, you can: | ||
|
||
- Compile your program against musl libc | ||
- Statically link glibc libraries into your program | ||
- Avoid C dependencies altogether (for example, build Go programs without CGO) | ||
- Install a glibc compatibility layer manually, alongside musl | ||
|
||
## Codenames | ||
|
||
Tags with words that look like Toy Story characters (for example, `bookworm`, | ||
`bullseye`, and `trixie`) or adjectives (such as `focal`, `jammy`, and | ||
`noble`), indicate the codename of the Linux distribution they use as a base | ||
image. Debian-release codenames are [based on Toy Story characters](https://en.wikipedia.org/wiki/Debian_version_history#Naming_convention), | ||
and Ubuntu's take the form of "Adjective Animal". For example, the | ||
codename for Ubuntu 24.04 is "Noble Numbat". | ||
|
||
Linux distribution indicators are helpful because many Docker Official Images | ||
provide variants built upon multiple underlying distribution versions (for | ||
example, `postgres:bookworm` and `postgres:bullseye`). |
Oops, something went wrong.