Skip to content

engine: freshness #23125

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 7 additions & 12 deletions content/manuals/engine/_index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Docker Engine
weight: 10
description: Find a comprehensive overview of Docker Engine, including how to install, storage details, networking, and more
keywords: Engine
description: Comprehensive guide to Docker Engine - installation, configuration, storage, networking, and container management for developers
keywords: Docker Engine, containerization, Docker daemon, Docker CLI, container management, open source, installation, networking, storage
params:
sidebar:
group: Open source
Expand Down Expand Up @@ -51,16 +51,11 @@ aliases:
- /linux/
---

Docker Engine is an open source containerization technology for building and
containerizing your applications. Docker Engine acts as a client-server
application with:
Docker Engine is an open source containerization technology for building and containerizing your applications. Docker Engine acts as a client-server application with:

- A server with a long-running daemon process
[`dockerd`](/reference/cli/dockerd).
- APIs which specify interfaces that programs can use to talk to and instruct
the Docker daemon.
- A command line interface (CLI) client
[`docker`](/reference/cli/docker/).
- A server with a long-running daemon process [`dockerd`](/reference/cli/dockerd)
- APIs that specify interfaces that programs can use to talk to and instruct the Docker daemon
- A command line interface (CLI) client [`docker`](/reference/cli/docker/)

The CLI uses [Docker APIs](/reference/api/engine/_index.md) to control or interact with the Docker
daemon through scripting or direct CLI commands. Many other Docker applications
Expand All @@ -76,6 +71,6 @@ For more details, see

The Docker Engine is licensed under the Apache License, Version 2.0. See
[LICENSE](https://github.com/moby/moby/blob/master/LICENSE) for the full license
text.
text.

However, for commercial use of Docker Engine obtained via Docker Desktop within larger enterprises (exceeding 250 employees OR with annual revenue surpassing $10 million USD), a [paid subscription](https://www.docker.com/pricing/) is required.
77 changes: 29 additions & 48 deletions content/manuals/engine/install/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@
- /install/linux/docker-ee/oracle/
---

This section describes how to install Docker Engine on Linux, also known as
Docker CE. Docker Engine is also available for Windows, macOS, and Linux,
through Docker Desktop. For instructions on how to install Docker Desktop,
see: [Overview of Docker Desktop](/manuals/desktop/_index.md).
This section describes how to install Docker Engine on Linux, also known as Docker CE. Docker Engine is also available for Windows, macOS, and Linux through Docker Desktop.

Check warning on line 36 in content/manuals/engine/install/_index.md

View workflow job for this annotation

GitHub Actions / validate (vale)

[vale] reported by reviewdog 🐶 [Docker.Acronyms] 'CE' has no definition. Raw Output: {"message": "[Docker.Acronyms] 'CE' has no definition.", "location": {"path": "content/manuals/engine/install/_index.md", "range": {"start": {"line": 36, "column": 84}}}, "severity": "WARNING"}

Check failure on line 36 in content/manuals/engine/install/_index.md

View workflow job for this annotation

GitHub Actions / validate (vale)

[vale] reported by reviewdog 🐶 [Docker.Forbidden] Use 'Docker Engine' instead of 'Docker CE'. Raw Output: {"message": "[Docker.Forbidden] Use 'Docker Engine' instead of 'Docker CE'.", "location": {"path": "content/manuals/engine/install/_index.md", "range": {"start": {"line": 36, "column": 77}}}, "severity": "ERROR"}

> [!TIP]
> To install Docker Desktop, see [Overview of Docker Desktop](/manuals/desktop/_index.md).

## Supported platforms

Expand All @@ -54,70 +54,51 @@
### Other Linux distributions

> [!NOTE]
>
> While the following instructions may work, Docker doesn't test or verify
> installation on distribution derivatives.

- If you use Debian derivatives such as "BunsenLabs Linux", "Kali Linux" or
"LMDE" (Debian-based Mint) should follow the installation instructions for
[Debian](debian.md), substitute the version of your distribution for the
corresponding Debian release. Refer to the documentation of your distribution to find
which Debian release corresponds with your derivative version.
- Likewise, if you use Ubuntu derivatives such as "Kubuntu", "Lubuntu" or "Xubuntu"
you should follow the installation instructions for [Ubuntu](ubuntu.md),
substituting the version of your distribution for the corresponding Ubuntu release.
Refer to the documentation of your distribution to find which Ubuntu release
corresponds with your derivative version.
- Some Linux distributions provide a package of Docker Engine through their
package repositories. These packages are built and maintained by the Linux
distribution's package maintainers and may have differences in configuration
or are built from modified source code. Docker isn't involved in releasing these
packages and you should report any bugs or issues involving these packages to
your Linux distribution's issue tracker.

Docker provides [binaries](binaries.md) for manual installation of Docker Engine.
These binaries are statically linked and you can use them on any Linux distribution.
> While the following instructions may work, Docker doesn't test or verify installation on distribution derivatives.

- For Debian derivatives (for example, BunsenLabs Linux, Kali Linux, LMDE):

Check warning on line 59 in content/manuals/engine/install/_index.md

View workflow job for this annotation

GitHub Actions / validate (vale)

[vale] reported by reviewdog 🐶 [Docker.Acronyms] 'LMDE' has no definition. Raw Output: {"message": "[Docker.Acronyms] 'LMDE' has no definition.", "location": {"path": "content/manuals/engine/install/_index.md", "range": {"start": {"line": 59, "column": 70}}}, "severity": "WARNING"}
- Follow the [Debian installation instructions](debian.md).
- Substitute your distribution version for the corresponding Debian release.
- Check your distribution's documentation for the matching Debian release.
- For Ubuntu derivatives (for example, Kubuntu, Lubuntu, Xubuntu):

Check failure on line 63 in content/manuals/engine/install/_index.md

View workflow job for this annotation

GitHub Actions / validate (vale)

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'Lubuntu'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'Lubuntu'?", "location": {"path": "content/manuals/engine/install/_index.md", "range": {"start": {"line": 63, "column": 49}}}, "severity": "ERROR"}

Check failure on line 63 in content/manuals/engine/install/_index.md

View workflow job for this annotation

GitHub Actions / validate (vale)

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'Kubuntu'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'Kubuntu'?", "location": {"path": "content/manuals/engine/install/_index.md", "range": {"start": {"line": 63, "column": 40}}}, "severity": "ERROR"}
- Follow the [Ubuntu installation instructions](ubuntu.md).
- Substitute your distribution version for the corresponding Ubuntu release.
- Check your distribution's documentation for the matching Ubuntu release.
- Some Linux distributions provide a Docker Engine package in their repositories. These packages are built and maintained by the distribution's maintainers and may have configuration differences or use modified source code. Docker isn't involved in releasing these packages. Report bugs or issues with these packages to your distribution's issue tracker.

Docker provides [binaries](binaries.md) for manual installation. These binaries are statically linked and work on any Linux distribution.

## Release channels

Docker Engine has two types of update channels, **stable** and **test**:
Docker Engine has two update channels: **stable** and **test**.

* The **stable** channel gives you the latest versions released for general availability.
* The **test** channel gives you pre-release versions that are ready for testing before
general availability.
- The **stable** channel gives you the latest versions released for general availability.
- The **test** channel gives you pre-release versions that are ready for testing before general availability.

Use the test channel with caution. Pre-release versions include experimental and
early-access features that are subject to breaking changes.
Use the test channel with caution. Pre-release versions include experimental and early-access features that are subject to breaking changes.

## Support

Docker Engine is an open source project, supported by the Moby project maintainers
and community members. Docker doesn't provide support for Docker Engine.
Docker provides support for Docker products, including Docker Desktop, which uses
Docker Engine as one of its components.
Docker Engine is an open source project, supported by the Moby project maintainers and community members. Docker doesn't provide support for Docker Engine. Docker provides support for Docker products, including Docker Desktop, which uses Docker Engine as one of its components.

For information about the open source project, refer to the
[Moby project website](https://mobyproject.org/).
For information about the open source project, refer to the [Moby project website](https://mobyproject.org/).

### Upgrade path

Patch releases are always backward compatible with its major and minor version.
Patch releases are always backward compatible with their major and minor version.

### Licensing

Docker Engine is licensed under the Apache License, Version 2.0. See
[LICENSE](https://github.com/moby/moby/blob/master/LICENSE) for the full
license text.
Docker Engine is licensed under the Apache License, Version 2.0. See [LICENSE](https://github.com/moby/moby/blob/master/LICENSE) for the full license text.

## Reporting security issues

If you discover a security issue, we request that you bring it to our attention immediately.
If you discover a security issue, report it immediately.

DO NOT file a public issue. Instead, submit your report privately to [email protected].
Do not file a public issue. Instead, send your report privately to [email protected].

Check failure on line 98 in content/manuals/engine/install/_index.md

View workflow job for this annotation

GitHub Actions / validate (vale)

[vale] reported by reviewdog 🐶 [Docker.Capitalization] Please capitalize Docker. Raw Output: {"message": "[Docker.Capitalization] Please capitalize Docker.", "location": {"path": "content/manuals/engine/install/_index.md", "range": {"start": {"line": 98, "column": 76}}}, "severity": "ERROR"}

Security reports are greatly appreciated, and Docker will publicly thank you for it.
Docker appreciates security reports and will publicly thank you for your contribution.

## Get started

After setting up Docker, you can learn the basics with
[Getting started with Docker](/get-started/introduction/_index.md).
After setting up Docker, you can learn the basics with [Getting started with Docker](/get-started/introduction/_index.md).
82 changes: 32 additions & 50 deletions content/manuals/engine/install/centos.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
---

To get started with Docker Engine on CentOS, make sure you
[meet the prerequisites](#prerequisites), and then follow the
[meet the prerequisites](#prerequisites), and follow the
[installation steps](#installation-methods).

## Prerequisites
Expand All @@ -31,16 +31,17 @@

- CentOS 9 (stream)

The `centos-extras` repository must be enabled. This repository is enabled by
default. If you have disabled it, you need to re-enable it.
> [!NOTE]
> The `centos-extras` repository must be enabled. This repository is enabled by default.
> If you have disabled it, re-enable it before proceeding.

### Uninstall old versions

Before you can install Docker Engine, you need to uninstall any conflicting packages.
Before you install Docker Engine, uninstall any conflicting packages.

Your Linux distribution may provide unofficial Docker packages, which may conflict
with the official packages provided by Docker. You must uninstall these packages
before you install the official version of Docker Engine.
Your Linux distribution may provide unofficial Docker packages, which can
conflict with the official packages provided by Docker. Uninstall these packages
before installing the official version.

```console
$ sudo dnf remove docker \
Expand All @@ -55,36 +56,25 @@

`dnf` might report that you have none of these packages installed.

Images, containers, volumes, and networks stored in `/var/lib/docker/` aren't
automatically removed when you uninstall Docker.
> [!NOTE]
> Images, containers, volumes, and networks stored in `/var/lib/docker/` are
> not automatically removed when you uninstall Docker.

## Installation methods

You can install Docker Engine in different ways, depending on your needs:
You can install Docker Engine in different ways:

- You can
[set up Docker's repositories](#install-using-the-repository) and install
from them, for ease of installation and upgrade tasks. This is the
recommended approach.

- You can download the RPM package,
[install it manually](#install-from-a-package), and manage
upgrades completely manually. This is useful in situations such as installing
Docker on air-gapped systems with no access to the internet.

- In testing and development environments, you can use automated
[convenience scripts](#install-using-the-convenience-script) to install Docker.
- Recommended: [Set up Docker's repositories](#install-using-the-repository) and install from them for easy installation and upgrades.
- Manual: [Download the RPM package](#install-from-a-package) and install it manually. Useful for air-gapped systems.
- Development/testing: Use [convenience scripts](#install-using-the-convenience-script) for quick setup.

### Install using the rpm repository {#install-using-the-repository}

Before you install Docker Engine for the first time on a new host machine, you
need to set up the Docker repository. Afterward, you can install and update
Docker from the repository.
Before installing Docker Engine for the first time on a new host, set up the Docker repository. Afterward, you can install and update Docker from the repository.

#### Set up the repository

Install the `dnf-plugins-core` package (which provides the commands to manage
your DNF repositories) and set up the repository.
Install the `dnf-plugins-core` package (provides commands to manage DNF repositories) and set up the repository.

Check warning on line 77 in content/manuals/engine/install/centos.md

View workflow job for this annotation

GitHub Actions / validate (vale)

[vale] reported by reviewdog 🐶 [Docker.Acronyms] 'DNF' has no definition. Raw Output: {"message": "[Docker.Acronyms] 'DNF' has no definition.", "location": {"path": "content/manuals/engine/install/centos.md", "range": {"start": {"line": 77, "column": 69}}}, "severity": "WARNING"}

```console
$ sudo dnf -y install dnf-plugins-core
Expand All @@ -93,12 +83,10 @@

#### Install Docker Engine

1. Install the Docker packages.
{{< tabs >}}
{{< tab name="Latest" >}}

{{< tabs >}}
{{< tab name="Latest" >}}

To install the latest version, run:
To install the latest version:

```console
$ sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Expand All @@ -124,27 +112,24 @@
<...>
```

The list returned depends on which repositories are enabled, and is specific
to your version of CentOS (indicated by the `.el9` suffix in this example).
The list depends on which repositories are enabled and your CentOS version (see the `.el9` suffix).

Install a specific version by its fully qualified package name, which is
the package name (`docker-ce`) plus the version string (2nd column),
separated by a hyphen (`-`). For example, `docker-ce-3:{{% param "docker_ce_version" %}}-1.el9`.

Replace `<VERSION_STRING>` with the desired version and then run the following
command to install:
Replace `<VERSION_STRING>` with the desired version and run:

```console
$ sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
```

This command installs Docker, but it doesn't start Docker. It also creates a
`docker` group, however, it doesn't add any users to the group by default.
This installs Docker, but does not start it. It also creates a `docker` group, but does not add users to the group by default.

{{< /tab >}}
{{< /tabs >}}

2. Start Docker Engine.
1. Start Docker Engine:

```console
$ sudo systemctl enable --now docker
Expand All @@ -154,16 +139,15 @@
boot your system. If you don't want Docker to start automatically, use `sudo
systemctl start docker` instead.

3. Verify that the installation is successful by running the `hello-world` image:
1. Verify the installation by running the `hello-world` image:

```console
$ sudo docker run hello-world
```

This command downloads a test image and runs it in a container. When the
container runs, it prints a confirmation message and exits.
This downloads a test image and runs it in a container. When the container runs, it prints a confirmation message and exits.

You have now successfully installed and started Docker Engine.
You have now installed and started Docker Engine.

{{% include "root-errors.md" %}}

Expand All @@ -174,9 +158,7 @@

### Install from a package

If you can't use Docker's `rpm` repository to install Docker Engine, you can
download the `.rpm` file for your release and install it manually. You need to
download a new file each time you want to upgrade Docker Engine.
If you cannot use Docker's `rpm` repository, download the `.rpm` file for your release and install it manually. Download a new file each time you want to upgrade Docker Engine.

<!-- markdownlint-disable-next-line -->
1. Go to [{{% param "download-url-base" %}}/]({{% param "download-url-base" %}}/)
Expand All @@ -190,10 +172,10 @@
$ sudo dnf install /path/to/package.rpm
```

Docker is installed but not started. The `docker` group is created, but no
users are added to the group.
Docker is installed but not started. The `docker` group
is created, but no users are added to the group.

3. Start Docker Engine.
3. Start Docker Engine:

```console
$ sudo systemctl enable --now docker
Expand Down Expand Up @@ -232,7 +214,7 @@
$ sudo dnf remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
```

2. Images, containers, volumes, or custom configuration files on your host
1. Images, containers, volumes, or custom configuration files on your host
aren't automatically removed. To delete all images, containers, and volumes:

```console
Expand Down
Loading