Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
d5e4a51
build: dockerfile 1.11.1 changelog
dvdksn Nov 8, 2024
57a2bb6
Fix title level in Compose file reference
george-hopkins Nov 8, 2024
fde4750
engine: remove -y from fedora (dnf) installation steps
dvdksn Nov 8, 2024
1514b0d
engine: enable the systemd service by default after installation
dvdksn Nov 8, 2024
7402de4
build: gha example loading multi-platform images with containerd
dvdksn Nov 7, 2024
c72f084
Merge pull request #21369 from dvdksn/gha-setup-docker-example
dvdksn Nov 8, 2024
df6f833
Merge pull request #21376 from dvdksn/dockerfile-1.11-changelog
dvdksn Nov 8, 2024
6af3c4c
Merge pull request #21380 from dvdksn/engine-install-syncup
thaJeztah Nov 8, 2024
b6fb15b
Merge pull request #21381 from george-hopkins/patch-1
dvdksn Nov 8, 2024
ac30bdb
vale: allow keyring(s)
thaJeztah Nov 8, 2024
778d1c3
engine/install: enable engine as system service on rpm installs
thaJeztah Nov 8, 2024
7073f01
engine/install: Docker -> Docker Engine
thaJeztah Nov 8, 2024
26aaea6
engine/install: remove -y from yum installation steps
thaJeztah Nov 8, 2024
a8cfab1
engine/install: use dnf for CentOS and RHEL
thaJeztah Nov 8, 2024
3a12814
engine/install: fix leftover old version in ubuntu
thaJeztah Nov 8, 2024
a23d621
engine/install: fix indentation in debian, raspberry-pi-os
thaJeztah Nov 8, 2024
d5859c5
engine/install: fix some stray whitespace
thaJeztah Nov 8, 2024
0628e31
engine/install: ubuntu/rpi-os: sync uninstall with debian steps
thaJeztah Nov 8, 2024
898aa4d
engine/install: sync some wording between distros
thaJeztah Nov 8, 2024
cf53465
Merge pull request #21384 from thaJeztah/sync_install
dvdksn Nov 8, 2024
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
1 change: 1 addition & 0 deletions _vale/config/vocabularies/Docker/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ Jamf
JFrog
JetBrains
Kerberos
[Kk]eyrings?
Kitematic
Kubernetes
LTS
Expand Down
15 changes: 15 additions & 0 deletions content/manuals/build/buildkit/dockerfile-release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,21 @@ issues, and bug fixes in [Dockerfile reference](/reference/dockerfile.md).

For usage, see the [Dockerfile frontend syntax](frontend.md) page.

## 1.11.1

{{< release-date date="2024-11-08" >}}

The full release note for this release is available
[on GitHub](https://github.com/moby/buildkit/releases/tag/dockerfile%2F1.11.1).

```dockerfile
# syntax=docker/dockerfile:1.11.1
```

- Fix regression when using the `ONBUILD` instruction in stages inherited within the same Dockerfile. [moby/buildkit#5490]

[moby/buildkit#5490]: https://github.com/moby/buildkit/pull/5490

## 1.11.0

{{< release-date date="2024-10-30" >}}
Expand Down
53 changes: 53 additions & 0 deletions content/manuals/build/ci/github-actions/multi-platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,59 @@ jobs:
tags: user/app:latest
```

## Build and load multi-platform images

The default Docker setup for GitHub Actions runners does not support loading
multi-platform images to the local image store of the runner after building
them. To load a multi-platform image, you need to enable the containerd image
store option for the Docker Engine.

There is no way to configure the default Docker setup in the GitHub Actions
runners directly, but you can use the `crazy-max/ghaction-setup-docker` action
to customize the Docker Engine and CLI settings for a job.

The following example workflow enables the containerd image store, builds a
multi-platform image, and loads the results into the GitHub runner's local
image store.

```yaml
name: ci

on:
push:

jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Set up Docker
uses: crazy-max/ghaction-setup-docker@v3
with:
daemon-config: |
{
"debug": true,
"features": {
"containerd-snapshotter": true
}
}

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v6
with:
platforms: linux/amd64,linux/arm64
load: true
tags: user/app:latest
```

## Distribute build across multiple runners

In the previous example, each platform is built on the same runner which can
Expand Down
60 changes: 34 additions & 26 deletions content/manuals/engine/install/centos.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
description: Learn how to install Docker Engine on CentOS. These instructions cover
the different installation methods, how to uninstall, and next steps.
keywords: requirements, yum, installation, centos, install, uninstall, docker engine, upgrade, update
keywords: requirements, dnf, yum, installation, centos, install, uninstall, docker engine, upgrade, update
title: Install Docker Engine on CentOS
linkTitle: CentOS
weight: 60
Expand Down Expand Up @@ -36,12 +36,14 @@ default. If you have disabled it, you need to re-enable it.

### Uninstall old versions

Older versions of Docker went by `docker` or `docker-engine`.
Uninstall any such older versions before attempting to install a new version,
along with associated dependencies.
Before you can install Docker Engine, you need to 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.

```console
$ sudo yum remove docker \
$ sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
Expand All @@ -51,7 +53,7 @@ $ sudo yum remove docker \
docker-engine
```

`yum` might report that you have none of these packages installed.
`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.
Expand Down Expand Up @@ -81,25 +83,25 @@ Docker from the repository.

#### Set up the repository

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

```console
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo {{% param "download-url-base" %}}/docker-ce.repo
$ sudo dnf -y install dnf-plugins-core
$ sudo dnf config-manager --add-repo {{% param "download-url-base" %}}/docker-ce.repo
```

#### Install Docker Engine

1. Install Docker Engine, containerd, and Docker Compose:
1. Install the Docker packages.

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

To install the latest version, run:

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

If prompted to accept the GPG key, verify that the fingerprint matches
Expand All @@ -115,7 +117,7 @@ $ sudo yum-config-manager --add-repo {{% param "download-url-base" %}}/docker-ce
the repository:

```console
$ yum list docker-ce --showduplicates | sort -r
$ dnf list docker-ce --showduplicates | sort -r

docker-ce.x86_64 3:27.3.1-1.el9 docker-ce-stable
docker-ce.x86_64 3:27.3.0-1.el9 docker-ce-stable
Expand All @@ -133,7 +135,7 @@ $ sudo yum-config-manager --add-repo {{% param "download-url-base" %}}/docker-ce
command to install:

```console
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin
$ 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
Expand All @@ -142,14 +144,17 @@ $ sudo yum-config-manager --add-repo {{% param "download-url-base" %}}/docker-ce
{{< /tab >}}
{{< /tabs >}}

2. Start Docker.
2. Start Docker Engine.

```console
$ sudo systemctl start docker
$ sudo systemctl enable --now docker
```

3. Verify that the Docker Engine installation is successful by running the
`hello-world` image.
This configures the Docker systemd service to start automatically when you
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:

```console
$ sudo docker run hello-world
Expand Down Expand Up @@ -182,20 +187,23 @@ download a new file each time you want to upgrade Docker Engine.
the Docker package.

```console
$ sudo yum install /path/to/package.rpm
$ 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.

3. Start Docker.
3. Start Docker Engine.

```console
$ sudo systemctl start docker
$ sudo systemctl enable --now docker
```

4. Verify that the Docker Engine installation is successful by running the
`hello-world` image.
This configures the Docker systemd service to start automatically when you
boot your system. If you don't want Docker to start automatically, use `sudo
systemctl start docker` instead.

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

```console
$ sudo docker run hello-world
Expand All @@ -211,8 +219,8 @@ You have now successfully installed and started Docker Engine.
#### Upgrade Docker Engine

To upgrade Docker Engine, download the newer package files and repeat the
[installation procedure](#install-from-a-package), using `yum -y upgrade`
instead of `yum -y install`, and point to the new files.
[installation procedure](#install-from-a-package), using `dnf upgrade`
instead of `dnf install`, and point to the new files.

{{< include "install-script.md" >}}

Expand All @@ -221,7 +229,7 @@ instead of `yum -y install`, and point to the new files.
1. Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages:

```console
$ sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
$ 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
Expand Down
42 changes: 20 additions & 22 deletions content/manuals/engine/install/debian.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ and ppc64le (ppc64el) architectures.

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

Distro maintainers provide unofficial distributions of Docker packages in
their repositories. You must uninstall these packages before you can install the
official version of Docker Engine.
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.

The unofficial packages to uninstall are:

Expand Down Expand Up @@ -170,8 +170,7 @@ Docker from the repository.
{{< /tab >}}
{{< /tabs >}}

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

```console
$ sudo docker run hello-world
Expand Down Expand Up @@ -226,8 +225,7 @@ download a new file each time you want to upgrade Docker Engine.

The Docker daemon starts automatically.

6. Verify that the Docker Engine installation is successful by running the
`hello-world` image:
6. Verify that the installation is successful by running the `hello-world` image:

```console
$ sudo service docker start
Expand All @@ -250,26 +248,26 @@ To upgrade Docker Engine, download the newer package files and repeat the

## Uninstall Docker Engine

1. Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages:
1. Uninstall the Docker Engine, CLI, containerd, and Docker Compose packages:

```console
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
```
```console
$ sudo apt-get purge 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
aren't automatically removed. To delete all images, containers, and volumes:
2. Images, containers, volumes, or custom configuration files on your host
aren't automatically removed. To delete all images, containers, and volumes:

```console
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
```
```console
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
```

3. Remove source list and keyrings
3. Remove source list and keyrings

```console
$ sudo rm /etc/apt/sources.list.d/docker.list
$ sudo rm /etc/apt/keyrings/docker.asc
```
```console
$ sudo rm /etc/apt/sources.list.d/docker.list
$ sudo rm /etc/apt/keyrings/docker.asc
```

You have to delete any edited configuration files manually.

Expand Down
Loading
Loading