mirror of https://github.com/docker/docs.git
PR to fix further style guide issues on the new content that was added for DD4L. (#14702)
This commit is contained in:
parent
21e1bd9de6
commit
a786428210
|
@ -1234,10 +1234,6 @@ manuals:
|
|||
title: Older versions
|
||||
- sectiontitle: Linux
|
||||
section:
|
||||
- path: /desktop/linux/
|
||||
title: User manual
|
||||
- path: /desktop/linux/overview/
|
||||
title: Overview
|
||||
- path: /desktop/linux/install/
|
||||
title: Install Docker Desktop for Linux
|
||||
- sectiontitle: Installation per distro
|
||||
|
@ -1250,6 +1246,8 @@ manuals:
|
|||
title: Install on Ubuntu
|
||||
- path: /desktop/linux/install/archlinux/
|
||||
title: Install on Arch
|
||||
- path: /desktop/linux/
|
||||
title: User manual
|
||||
- path: /desktop/linux/networking/
|
||||
title: Networking
|
||||
- path: /desktop/linux/space/
|
||||
|
|
|
@ -1,20 +1,10 @@
|
|||
---
|
||||
description: How to install Docker Desktop on Linux
|
||||
keywords: linux, install, download, run, docker, local
|
||||
keywords: linux, desktop, docker desktop, docker desktop for linux, dd4l, install, system requirements
|
||||
title: Install Docker Desktop on Linux
|
||||
---
|
||||
|
||||
> **Update to the Docker Desktop terms**
|
||||
>
|
||||
> Commercial use of Docker Desktop in larger enterprises (more than 250
|
||||
> employees OR more than $10 million USD in annual revenue) now requires a paid
|
||||
> subscription. The grace period for those that will require a paid subscription
|
||||
> ends on January 31, 2022. [Learn
|
||||
> more](https://www.docker.com/blog/the-grace-period-for-the-docker-subscription-service-agreement-ends-soon-heres-what-you-need-to-know/){:
|
||||
target="_blank" rel="noopener" class="_" id="dkr_docs_cta"}.
|
||||
{: .important}
|
||||
|
||||
Welcome to Docker Desktop for Linux. This page contains information about Docker Desktop for Linux system requirements, download URLs, instructions to install and update Docker Desktop for Linux.
|
||||
Welcome to Docker Desktop for Linux. This page contains information about system requirements, download URLs, and instructions on how to install and update Docker Desktop for Linux.
|
||||
|
||||
> Download Docker Desktop for Linux packages
|
||||
>
|
||||
|
@ -24,7 +14,7 @@ Welcome to Docker Desktop for Linux. This page contains information about Docker
|
|||
|
||||
## System requirements
|
||||
|
||||
Your Linux host must meet the following requirements to install Docker Desktop successfully:
|
||||
To install Docker Desktop successfully, your Linux host must meet the following requirements:
|
||||
|
||||
- 64-bit kernel and CPU support for virtualization
|
||||
|
||||
|
@ -32,17 +22,17 @@ Your Linux host must meet the following requirements to install Docker Desktop s
|
|||
|
||||
- **QEMU must be version 5.2 or newer**. We recommend upgrading to the latest version.
|
||||
|
||||
- systemd init system
|
||||
- systemd init system.
|
||||
|
||||
- Gnome or KDE Desktop environment
|
||||
- Gnome or KDE Desktop environment.
|
||||
|
||||
- At least 4 GB of RAM.
|
||||
|
||||
Docker Desktop for Linux runs a Virtual Machine (VM). For more information on why, see [here](overview.md#why-docker-desktop-for-linux-runs-a-vm).
|
||||
Docker Desktop for Linux runs a Virtual Machine (VM). For more information on why, see [Why Docker Desktop for Linux runs a VM](install.md#why-docker-desktop-for-linux-runs-a-vm).
|
||||
|
||||
> **Note:**
|
||||
>
|
||||
> Docker does not provide support for running Docker Desktop in nested virtualization scenarios. We recommend that you run Docker Desktop for Linux natively on the supported distributions.
|
||||
> Docker does not provide support for running Docker Desktop in nested virtualization scenarios. We recommend that you run Docker Desktop for Linux natively on supported distributions.
|
||||
|
||||
|
||||
## Supported platforms
|
||||
|
@ -65,7 +55,7 @@ and architectures:
|
|||
>
|
||||
> An experimental package is available for [Arch](install/archlinux.md)-based distributions. Docker has not tested or verified the installation.
|
||||
|
||||
Docker supports Docker Desktop on the current LTS release of the aforementioned distributions and the most recent version. As new versions are made generally available, Docker stops supporting the oldest version and supports the newest version.
|
||||
Docker supports Docker Desktop on the current LTS release of the aforementioned distributions and the most recent version. As new versions are made available, Docker stops supporting the oldest version and supports the newest version.
|
||||
|
||||
|
||||
### KVM virtualization support
|
||||
|
@ -73,13 +63,13 @@ Docker supports Docker Desktop on the current LTS release of the aforementioned
|
|||
|
||||
Docker Desktop runs a VM that requires [KVM support](https://www.linux-kvm.org).
|
||||
|
||||
The `kvm` module should load automatically if the host has virtualization support. To load the module manually run:
|
||||
The `kvm` module should load automatically if the host has virtualization support. To load the module manually, run:
|
||||
|
||||
```console
|
||||
$ modprobe kvm
|
||||
```
|
||||
|
||||
Depending on the processor of the host machine, the coresponding module must be loaded:
|
||||
Depending on the processor of the host machine, the corresponding module must be loaded:
|
||||
|
||||
```console
|
||||
$ modprobe kvm_intel # Intel processors
|
||||
|
@ -87,7 +77,7 @@ $ modprobe kvm_intel # Intel processors
|
|||
$ modprobe kvm_amd # AMD processors
|
||||
```
|
||||
|
||||
To check the KVM modules have been enabled:
|
||||
To check if the KVM modules are enabled, run:
|
||||
|
||||
```console
|
||||
$ lsmod | grep kvm
|
||||
|
@ -100,13 +90,13 @@ irqbypass 16384 1 kvm
|
|||
#### Set up KVM device user permissions
|
||||
|
||||
|
||||
Check ownership of `/dev/kvm`, run :
|
||||
To check ownership of `/dev/kvm`, run :
|
||||
|
||||
```console
|
||||
$ ls -al /dev/kvm
|
||||
```
|
||||
|
||||
Add your user to the kvm group in order to access the kvm device.
|
||||
Add your user to the kvm group in order to access the kvm device:
|
||||
|
||||
```console
|
||||
$ sudo usermod -aG kvm $USER
|
||||
|
@ -115,21 +105,21 @@ $ sudo usermod -aG kvm $USER
|
|||
Log out and log back in so that your group membership is re-evaluated.
|
||||
|
||||
|
||||
### Generic installation steps
|
||||
## Generic installation steps
|
||||
|
||||
1. Download the correct package for your Linux distribution and install it with the corresponding package manager.
|
||||
1. Download the correct package for your Linux distribution and install it with the corresponding package manager.
|
||||
- [Install on Debian](install/debian.md)
|
||||
- [Install on Fedora](install/fedora.md)
|
||||
- [Install on Ubuntu](install/ubuntu.md)
|
||||
- [Install on Arch](install/archlinux.md)
|
||||
|
||||
2. Open your **Applications** menu in Gnome/KDE Desktop and search for **Docker Desktop**.
|
||||
|
||||

|
||||
|
||||
3. Double-click **Docker Desktop** to start Docker.
|
||||
3. Select **Docker Desktop** to start Docker. <br> The Docker menu ({: .inline}) displays the Docker Subscription Service Agreement window.
|
||||
|
||||
4. The Docker menu ({: .inline}) displays the Docker Subscription Service Agreement window. It includes a change to the terms of use for Docker Desktop.
|
||||
|
||||
{% include desktop-license-update.md %}
|
||||
|
||||
5. Click the checkbox to accept the updated terms and then click **Accept** to continue. Docker Desktop starts after you accept the terms.
|
||||
5. Select the checkbox to accept the updated terms and then click **Accept** to continue. Docker Desktop starts after you accept the terms.
|
||||
|
||||
> **Important**
|
||||
>
|
||||
|
@ -138,7 +128,86 @@ Log out and log back in so that your group membership is re-evaluated.
|
|||
|
||||
For more information, see [Docker Desktop License Agreement](../../subscription/index.md#docker-desktop-license-agreement). We recommend that you also read the [Blog](https://www.docker.com/blog/updating-product-subscriptions/){: target="_blank" rel="noopener" class="_" id="dkr_docs_desktop_install_btl"} and [FAQs](https://www.docker.com/pricing/faq){: target="_blank" rel="noopener" class="_" id="dkr_docs_desktop_install_btl"} to learn how companies using Docker Desktop may be affected.
|
||||
|
||||
### Quick start guide
|
||||
## Differences between Docker Desktop for Linux and Docker Engine
|
||||
|
||||
Docker Desktop for Linux and Docker Engine can be installed side-by-side on the
|
||||
same machine. Docker Desktop for Linux stores containers and images in an isolated
|
||||
storage location [within a VM](#why-docker-desktop-for-linux-runs-a-vm) and offers
|
||||
controls to restrict [its resources](index.md#resources). Using a dedicated storage
|
||||
location for Docker Desktop prevents it from interfering with a Docker Engine
|
||||
installation on the same machine.
|
||||
|
||||
While it's possible to run both Docker Desktop and Docker Engine simultaneously,
|
||||
there may be situations where running both at the same time can cause issues.
|
||||
For example, when mapping network ports (`-p` / `--publish`) for containers, both
|
||||
Docker Desktop and Docker Engine may attempt to reserve the same port on your
|
||||
machine, which can lead to conflicts ("port already in use").
|
||||
|
||||
We generally recommend stopping the Docker Engine while you're using Docker Desktop
|
||||
to prevent the Docker Engine from consuming resources and to prevent conflicts
|
||||
as described above.
|
||||
|
||||
Use the following command to stop the Docker Engine service:
|
||||
|
||||
```console
|
||||
$ sudo systemctl stop docker docker.socket containerd
|
||||
```
|
||||
|
||||
Depending on your installation, the Docker Engine may be configured to automatically
|
||||
start as a system service when your machine starts. Use the following command to
|
||||
disable the Docker Engine service, and to prevent it from starting automatically:
|
||||
|
||||
```console
|
||||
$ sudo systemctl disable docker docker.socket containerd
|
||||
```
|
||||
|
||||
### Switch between Docker Desktop and Docker Engine
|
||||
{: id="context" }
|
||||
|
||||
The Docker CLI can be used to interact with multiple Docker Engines. For example,
|
||||
you can use the same Docker CLI to control a local Docker Engine and to control
|
||||
a remote Docker Engine instance running in the cloud. [Docker Contexts](../../engine/context/working-with-contexts.md)
|
||||
allow you to switch between Docker Engines instances.
|
||||
|
||||
When installing Docker Desktop, a dedicated "desktop-linux" context is created to
|
||||
interact with Docker Desktop. On startup, Docker Desktop automatically sets its
|
||||
own context (`desktop-linux`) as the current context. This means that subsequent
|
||||
Docker CLI commands target Docker Desktop. On shutdown, Docker Desktop resets
|
||||
the current context to the `default` context.
|
||||
|
||||
Use the `docker context ls` command to view what contexts are available on your
|
||||
machine. The current context is indicated with an asterisk (`*`);
|
||||
|
||||
```console
|
||||
$ docker context ls
|
||||
NAME DESCRIPTION DOCKER ENDPOINT ...
|
||||
default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock ...
|
||||
desktop-linux unix:///home/<user>/.docker/desktop/docker.sock ...
|
||||
```
|
||||
|
||||
If you have both Docker Desktop and Docker Engine installed on the same machine,
|
||||
you can run the `docker context use` command to switch between the Docker Desktop
|
||||
and Docker Engine contexts. For example, use the "default" context to interact
|
||||
with the Docker Engine;
|
||||
|
||||
```console
|
||||
$ docker context use default
|
||||
default
|
||||
Current context is now "default"
|
||||
```
|
||||
|
||||
And use the `docker-desktop` context to interact with Docker Desktop:
|
||||
|
||||
```console
|
||||
$ docker context use docker-desktop
|
||||
docker-desktop
|
||||
Current context is now "docker-desktop"
|
||||
```
|
||||
|
||||
Refer to the [Docker Context documentation](../../engine/context/working-with-contexts.md) for more details.
|
||||
|
||||
|
||||
## Quick Start Guide
|
||||
|
||||
If you've just installed the app, Docker Desktop launches the Quick Start Guide. The tutorial includes a simple exercise to build an example Docker image, run it as a container, push and save the image to Docker Hub.
|
||||
|
||||
|
@ -150,7 +219,8 @@ Congratulations! You are now successfully running Docker Desktop. Click the Dock
|
|||
## Updates
|
||||
|
||||
Once a new version for Docker Desktop is released, the Docker UI shows a notification.
|
||||
You need to download the new package each time you want to upgrade manually.
|
||||
You need to download the new package each time you want to upgrade manually.
|
||||
|
||||
To upgrade your installation of Docker Desktop, first stop any instance of Docker Desktop running locally,
|
||||
then follow the regular installation steps to install the new version on top of the existing
|
||||
version.
|
||||
|
@ -168,6 +238,36 @@ Once Docker Desktop has been removed, users must remove the `credsStore` and `cu
|
|||
> by the application. Refer to the [back up and restore data](../backup-and-restore.md)
|
||||
> section to learn how to preserve important data before uninstalling.
|
||||
|
||||
## Why Docker Desktop for Linux runs a VM
|
||||
|
||||
|
||||
Docker Desktop for Linux runs a Virtual Machine (VM) for the following reasons:
|
||||
|
||||
1. **To ensure that Docker Desktop provides a consistent experience across platforms**.
|
||||
|
||||
During research, the most frequently cited reason for users wanting Docker Desktop for Linux (DD4L) was to ensure a consistent Docker Desktop
|
||||
experience with feature parity across all major operating systems. Utilizing
|
||||
a VM ensures that the Docker Desktop experience for Linux users will closely
|
||||
match that of Windows and macOS.
|
||||
|
||||
This need to deliver a consistent experience across all major OSs will become increasingly important as we look towards adding exciting new features, such as Docker Extensions, to Docker Desktop that will benefit users across all tiers. We’ll provide more details on these at [DockerCon22](https://www.docker.com/dockercon/){: target="_blank" rel="noopener" class="_"}. Watch this space.
|
||||
|
||||
2. **To make use of new kernel features**
|
||||
|
||||
Sometimes we want to make use of new operating system features. Because we control the kernel and the OS inside the VM, we can roll these out to all users immediately, even to users who are intentionally sticking on an LTS version of their machine OS.
|
||||
|
||||
3. **To enhance security**
|
||||
|
||||
Container image vulnerabilities pose a security risk for the host environment. There is a large number of unofficial images that are not guaranteed to be verified for known vulnerabilities. Malicious users can push images to public registries and use different methods to trick users into pulling and running them. The VM approach mitigates this threat as any malware that gains root privileges is restricted to the VM environment without access to the host.
|
||||
|
||||
Why not run rootless Docker? Although this has the benefit of superficially limiting access to the root user so everything looks safer in "top", it allows unprivileged users to gain `CAP_SYS_ADMIN` in their own user namespace and access kernel APIs which are not expecting to be used by unprivileged users, resulting in [vulnerabilities](https://www.openwall.com/lists/oss-security/2022/01/18/7){: target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
4. **To provide the benefits of feature parity and enhanced security, with minimal impact on performance**
|
||||
|
||||
The VM utilized by DD4L uses [`virtiofs`](https://virtio-fs.gitlab.io){:target="_blank" rel="noopener" class="_"}, a shared file system that allows virtual machines to access a directory tree located on the host. Our internal benchmarking shows that with the right resource allocation to the VM, near native file system performance can be achieved with virtiofs.
|
||||
|
||||
As such, we have adjusted the default memory available to the VM in DD4L. You can tweak this setting to your specific needs by using the **Memory** slider within the **Settings** > **Resources** tab of Docker Desktop.
|
||||
|
||||
## Where to go next
|
||||
|
||||
- [Getting started](index.md) provides an overview of Docker Desktop on Linux, basic Docker command examples, how to get help or give feedback, and links to other topics about Docker Desktop on Linux.
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
---
|
||||
description: Instructions for installing Docker Desktop Arch package. Mostly meant for hackers who want to try out Docker Desktop on a variety of Arch-based distributions.
|
||||
keywords: Arch Linux, installation, docker, documentation, linux
|
||||
keywords: Arch Linux, install, uninstall, upgrade, update, linux, desktop, docker desktop, docker desktop for linux, dd4l
|
||||
title: Install Docker Desktop on Arch-based distributions
|
||||
---
|
||||
|
||||
This topic discusses installation of Docker Desktop from an [Arch package](https://desktop-stage.docker.com/linux/main/amd64/78459/docker-desktop-4.8.0-x86_64.pkg.tar.zst?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-linux-amd64) that Docker provides additionally to the supported platforms.
|
||||
This topic discusses installation of Docker Desktop from an [Arch package](https://desktop-stage.docker.com/linux/main/amd64/78459/docker-desktop-4.8.0-x86_64.pkg.tar.zst?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-linux-amd64) that Docker provides in addition to the supported platforms. Docker has not tested or verified the installation.
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Your Arch-based Linux distribution must meet the [system requirements](../install.md#system-requirements) to install and launch Docker Desktop successfully.
|
||||
To install Docker Desktop successfully, you must meet the [system requirements](../install.md#system-requirements).
|
||||
|
||||
Additionally, for non-Gnome Desktop environments, `gnome-terminal` must be installed:
|
||||
|
||||
|
@ -20,18 +20,14 @@ $ sudo pacman -S gnome-terminal
|
|||
|
||||
## Install Docker Desktop
|
||||
|
||||
1. Install client binaries.
|
||||
1. Install client binaries. Docker does not have an Arch package repository. Binaries not included in the package must be installed manually before installing Docker Desktop.
|
||||
|
||||
Docker does not have an Arch package repository. Binaries not included in the package must be installed manually before installing Docker Desktop.
|
||||
|
||||
On Arch-based distributions, users must install the Docker client binary.
|
||||
2. [Install Docker client binary on Linux](../../../engine/install/binaries.md#install-daemon-and-client-binaries-on-linux). On Arch-based distributions, users must install the Docker client binary.
|
||||
Static binaries for the Docker client are available for Linux (as `docker`).
|
||||
- [Install Docker client binary on Linux](../../../engine/install/binaries.md#install-daemon-and-client-binaries-on-linux)
|
||||
|
||||
3. Download the Arch package from the [release](../release-notes/index.md) page.
|
||||
|
||||
2. Download the Arch package from the [release](../release-notes/index.md) page.
|
||||
|
||||
3. Install the package:
|
||||
4. Install the package:
|
||||
|
||||
```console
|
||||
$ sudo pacman -U ./docker-desktop-<version>-<arch>.pkg.tar.zst
|
||||
|
|
|
@ -1,38 +1,18 @@
|
|||
---
|
||||
description: Instructions for installing Docker Desktop on Debian
|
||||
keywords: requirements, apt, installation, debian, install, uninstall, upgrade, update
|
||||
keywords: debian, install, uninstall, upgrade, update, linux, desktop, docker desktop, docker desktop for linux, dd4l
|
||||
title: Install Docker Desktop on Debian
|
||||
toc_max: 4
|
||||
---
|
||||
|
||||
|
||||
To get started with Docker Desktop on Debian, make sure you
|
||||
[meet the prerequisites](#prerequisites), then
|
||||
[install Docker Desktop](#install-docker-desktop).
|
||||
This page contains information on how to install, launch, and upgrade Docker Desktop on a Debian distribution.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Your Debian distribution must meet the [system requirements](../install.md#system-requirements) to install and launch Docker Desktop successfully.
|
||||
|
||||
Additionally, for a Gnome Desktop environment you must install AppIndicator and KStatusNotifierItem [Gnome extensions](https://extensions.gnome.org/extension/615/appindicator-support/).
|
||||
|
||||
For non-Gnome Desktop environments, `gnome-terminal` must be installed:
|
||||
|
||||
```console
|
||||
$ sudo apt install gnome-terminal
|
||||
```
|
||||
|
||||
### OS requirements
|
||||
|
||||
To install Docker Desktop, you need the 64-bit version of one of these Debian
|
||||
versions:
|
||||
|
||||
- Debian 11
|
||||
|
||||
|
||||
### Uninstall old versions
|
||||
|
||||
To remove Docker Desktop for Linux, run:
|
||||
To install Docker Desktop successfully, you must:
|
||||
- Meet the [system requirements](../install.md#system-requirements).
|
||||
- Have a 64-bit version of Debian 11.
|
||||
- Uninstall the tech preview or beta version of Docker Desktop for Linux. Run:
|
||||
|
||||
```console
|
||||
$ sudo apt remove docker-desktop
|
||||
|
@ -47,16 +27,25 @@ $ sudo rm /usr/local/bin/com.docker.cli
|
|||
$ sudo apt purge docker-desktop
|
||||
```
|
||||
|
||||
|
||||
> **Note**
|
||||
>
|
||||
> If you have installed the Docker Desktop for Linux tech preview or beta version, you need to remove all files that were generated by those packages (eg. `~/.config/systemd/user/docker-desktop.service`, `~/.local/share/systemd/user/docker-desktop.service`).
|
||||
|
||||
For a Gnome Desktop environment, you must also install AppIndicator and KStatusNotifierItem [Gnome extensions](https://extensions.gnome.org/extension/615/appindicator-support/).
|
||||
|
||||
For non-Gnome Desktop environments, `gnome-terminal` must be installed:
|
||||
|
||||
```console
|
||||
$ sudo apt install gnome-terminal
|
||||
```
|
||||
|
||||
|
||||
## Install Docker Desktop
|
||||
|
||||
Recommended approach to install Docker Desktop on Debian:
|
||||
|
||||
1. [Set up Docker's DEB repository](../../../engine/install/debian.md#set-up-the-repository)
|
||||
1. Set up [Docker's package repository](../../../engine/install/debian.md#set-up-the-repository).
|
||||
|
||||
2. Download latest DEB package from the [release](../release-notes/index.md) page.
|
||||
|
||||
|
@ -76,13 +65,13 @@ $ sudo apt-get install ./docker-desktop-<version>-<arch>.deb
|
|||
> N: Download is performed unsandboxed as root, as file '/home/user/Downloads/docker-desktop.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
|
||||
> ```
|
||||
|
||||
There are a few post-install configuration steps done through the maintainers' scripts (post-install script contained in the deb package.
|
||||
There are a few post-install configuration steps done through the post-install script contained in the deb package.
|
||||
|
||||
The post-install script:
|
||||
|
||||
- sets the capability on the Docker Desktop binary to map privileged ports and set resource limits
|
||||
- adds a DNS name for Kubernetes to `/etc/hosts`
|
||||
- creates a link from `/usr/bin/docker` to `/usr/local/bin/com.docker.cli`
|
||||
- Sets the capability on the Docker Desktop binary to map privileged ports and set resource limits.
|
||||
- Adds a DNS name for Kubernetes to `/etc/hosts`.
|
||||
- Creates a link from `/usr/bin/docker` to `/usr/local/bin/com.docker.cli`.
|
||||
|
||||
## Launch Docker Desktop
|
||||
|
||||
|
@ -92,7 +81,7 @@ The post-install script:
|
|||
## Upgrade Docker Desktop
|
||||
|
||||
Once a new version for Docker Desktop is released, the Docker UI shows a notification.
|
||||
You need to download the new package each time you want to upgrade Docker Desktop and run
|
||||
You need to download the new package each time you want to upgrade Docker Desktop and run:
|
||||
|
||||
```console
|
||||
$ sudo apt-get install ./docker-desktop-<version>-<arch>.deb
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
---
|
||||
description: Instructions for installing Docker Desktop on Fedora
|
||||
keywords: requirements, apt, installation, fedora, rpm, install, uninstall, upgrade, update
|
||||
keywords: fedora, rpm, update install, uninstall, upgrade, update, linux, desktop, docker desktop, docker desktop for linux, dd4l
|
||||
title: Install Docker Desktop on Fedora
|
||||
toc_max: 4
|
||||
---
|
||||
|
||||
To get started with Docker Desktop on Fedora, make sure you
|
||||
[meet the prerequisites](#prerequisites), then
|
||||
[install Docker Desktop](#install-docker-desktop).
|
||||
This page contains information on how to install, launch and upgrade Docker Desktop on a Fedora distribution.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Your Fedora distribution must meet the [system requirements](../install.md#system-requirements) to install and launch Docker Desktop successfully.
|
||||
To install Docker Desktop successfully, you must:
|
||||
- Meet the [system requirements](../install.md#system-requirements).
|
||||
- Have a 64-bit version of either Fedora 35 or Fedora 36.
|
||||
|
||||
Additionally, for a Gnome Desktop environment you must install AppIndicator and KStatusNotifierItem [Gnome extensions](https://extensions.gnome.org/extension/615/appindicator-support/).
|
||||
|
||||
|
@ -21,18 +21,11 @@ For non-Gnome Desktop environments, `gnome-terminal` must be installed:
|
|||
$ sudo dnf install gnome-terminal
|
||||
```
|
||||
|
||||
### OS requirements
|
||||
|
||||
To install Docker Desktop for Linux, you need the 64-bit version of one of these Fedora versions:
|
||||
|
||||
- Fedora 35
|
||||
- Fedora 36
|
||||
|
||||
## Install Docker Desktop
|
||||
|
||||
Recommended approach to install Docker Desktop on Ubuntu:
|
||||
To install Docker Desktop on Fedora:
|
||||
|
||||
1. [Set up Docker's RPM repository](../../../engine/install/fedora.md#set-up-the-repository)
|
||||
1. Set up [Docker's package repository](../../../engine/install/fedora.md#set-up-the-repository).
|
||||
|
||||
2. Download latest RPM package from the [release](../release-notes/index.md) page.
|
||||
|
||||
|
@ -42,12 +35,13 @@ Recommended approach to install Docker Desktop on Ubuntu:
|
|||
$ sudo dnf install ./docker-desktop-<version>-<arch>.rpm
|
||||
```
|
||||
|
||||
There are a few post-install configuration steps done through the maintainers' scripts (post-install script contained in the RPM package.
|
||||
There are a few post-install configuration steps done through the post-install script contained in the RPM package.
|
||||
|
||||
The post-install script:
|
||||
|
||||
- sets the capability on the Docker Desktop binary to map privileged ports and set resource limits
|
||||
- adds a DNS name for Kubernetes to `/etc/hosts`
|
||||
- creates a link from `/usr/bin/docker` to `/usr/local/bin/com.docker.cli`
|
||||
- Sets the capability on the Docker Desktop binary to map privileged ports and set resource limits.
|
||||
- Adds a DNS name for Kubernetes to `/etc/hosts`.
|
||||
- Creates a link from `/usr/bin/docker` to `/usr/local/bin/com.docker.cli`.
|
||||
|
||||
## Launch Docker Desktop
|
||||
|
||||
|
|
|
@ -1,38 +1,21 @@
|
|||
---
|
||||
description: Instructions for installing Docker Desktop on Ubuntu
|
||||
keywords: requirements, apt, installation, ubuntu, install, uninstall, upgrade, update
|
||||
keywords: ubuntu, install, uninstall, upgrade, update, linux, desktop, docker desktop, docker desktop for linux, dd4l
|
||||
title: Install Docker Desktop on Ubuntu
|
||||
toc_max: 4
|
||||
---
|
||||
|
||||
|
||||
To get started with Docker Desktop on Ubuntu, make sure you
|
||||
[meet the prerequisites](#prerequisites), then
|
||||
[install Docker Desktop](#install-docker-desktop).
|
||||
This page contains information on how to install, launch and upgrade Docker Desktop on an Ubuntu distribution.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Your Ubuntu distribution must meet the [system requirements](../install.md#system-requirements) to install and launch Docker Desktop successfully.
|
||||
|
||||
Additionally, for non-Gnome Desktop environments, `gnome-terminal` must be installed:
|
||||
|
||||
```console
|
||||
$ sudo apt install gnome-terminal
|
||||
```
|
||||
|
||||
### OS requirements
|
||||
|
||||
To install Docker Desktop, you need the 64-bit version of one of these Ubuntu
|
||||
versions:
|
||||
|
||||
- Ubuntu Jammy Jellyfish 22.04 (LTS)
|
||||
- Ubuntu Impish Indri 21.10
|
||||
|
||||
Docker Desktop is supported on `x86_64` (or `amd64`) architecture.
|
||||
|
||||
### Uninstall old versions
|
||||
|
||||
To remove Docker Desktop for Linux, run:
|
||||
To install Docker Desktop successfully, you must:
|
||||
- Meet the [system requirements](../install.md#system-requirements)
|
||||
- Have a 64-bit version of either Ubuntu Jammy Jellyfish 22.04 (LTS) or Ubuntu Impish Indri 21.10.
|
||||
Docker Desktop is supported on `x86_64` (or `amd64`) architecture.
|
||||
- Uninstall the tech preview or beta version of Docker Desktop for Linux. Run:
|
||||
|
||||
```console
|
||||
$ sudo apt remove docker-desktop
|
||||
|
@ -51,12 +34,17 @@ $ sudo apt purge docker-desktop
|
|||
>
|
||||
> If you have installed the Docker Desktop for Linux tech preview or beta version, you need to remove all files that were generated by those packages (e.g., `~/.config/systemd/user/docker-desktop.service`, `~/.local/share/systemd/user/docker-desktop.service`).
|
||||
|
||||
Additionally, for non-Gnome Desktop environments, `gnome-terminal` must be installed:
|
||||
|
||||
```console
|
||||
$ sudo apt install gnome-terminal
|
||||
```
|
||||
|
||||
## Install Docker Desktop
|
||||
|
||||
Recommended approach to install Docker Desktop on Ubuntu:
|
||||
|
||||
1. [Set up Docker's DEB repository](../../../engine/install/ubuntu.md#set-up-the-repository)
|
||||
1. Set up [Docker's package repository](../../../engine/install/ubuntu.md#set-up-the-repository).
|
||||
|
||||
2. Download latest DEB package from the [release](../release-notes/index.md) page.
|
||||
|
||||
|
@ -76,13 +64,13 @@ $ sudo apt-get install ./docker-desktop-<version>-<arch>.deb
|
|||
> N: Download is performed unsandboxed as root, as file '/home/user/Downloads/docker-desktop.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
|
||||
> ```
|
||||
|
||||
There are a few post-install configuration steps done through the maintainers' scripts (post-install script contained in the deb package.
|
||||
There are a few post-install configuration steps done through the post-install script contained in the deb package.
|
||||
|
||||
The post-install script:
|
||||
|
||||
- sets the capability on the Docker Desktop binary to map privileged ports and set resource limits
|
||||
- adds a DNS name for Kubernetes to `/etc/hosts`
|
||||
- creates a link from `/usr/bin/docker` to `/usr/local/bin/com.docker.cli`
|
||||
- Sets the capability on the Docker Desktop binary to map privileged ports and set resource limits.
|
||||
- Adds a DNS name for Kubernetes to `/etc/hosts`.
|
||||
- Creates a link from `/usr/bin/docker` to `/usr/local/bin/com.docker.cli`.
|
||||
|
||||
## Launch Docker Desktop
|
||||
|
||||
|
@ -92,7 +80,7 @@ The post-install script:
|
|||
## Upgrade Docker Desktop
|
||||
|
||||
Once a new version for Docker Desktop is released, the Docker UI shows a notification.
|
||||
You need to download the new package each time you want to upgrade Docker Desktop and run
|
||||
You need to download the new package each time you want to upgrade Docker Desktop and run:
|
||||
|
||||
```console
|
||||
$ sudo apt-get install ./docker-desktop-<version>-<arch>.deb
|
||||
|
|
|
@ -47,11 +47,15 @@ Docker Desktop for Linux allows you to use the host’s SSH agent inside a conta
|
|||
|
||||
1. Bind mount the SSH agent socket by adding the following parameter to your `docker run` command:
|
||||
|
||||
`--mount type=bind,src=/run/host-services/ssh-auth.sock,target=/run/host-services/ssh-auth.sock`
|
||||
```ssh
|
||||
--mount type=bind,src=/run/host-services/ssh-auth.sock,target=/run/host-services/ssh-auth.sock
|
||||
```
|
||||
|
||||
1. Add the `SSH_AUTH_SOCK` environment variable in your container:
|
||||
|
||||
`-e SSH_AUTH_SOCK="/run/host-services/ssh-auth.sock"`
|
||||
2. Add the `SSH_AUTH_SOCK` environment variable in your container:
|
||||
|
||||
`-e SSH_AUTH_SOCK="/run/host-services/ssh-auth.sock"`
|
||||
|
||||
|
||||
To enable the SSH agent in Docker Compose, add the following flags to your service:
|
||||
|
||||
|
@ -101,9 +105,15 @@ If you have installed Python on your machine, use the following instructions as
|
|||
|
||||
1. Run the following command to start a simple HTTP server on port 8000.
|
||||
|
||||
`python -m http.server 8000`
|
||||
```console
|
||||
$ python -m http.server 8000
|
||||
```
|
||||
|
||||
If you have installed Python 2.x, run `python -m SimpleHTTPServer 8000`.
|
||||
If you have installed Python 2.x, run:
|
||||
|
||||
```console
|
||||
$ python -m SimpleHTTPServer 8000
|
||||
```
|
||||
|
||||
2. Now, run a container, install `curl`, and try to connect to the host using the following commands:
|
||||
|
||||
|
|
|
@ -1,62 +0,0 @@
|
|||
---
|
||||
description: Docker Desktop for Linux vs Docker Engine
|
||||
keywords: linux, install, download, run, docker, local
|
||||
---
|
||||
|
||||
## Differences between Docker Desktop for Linux and Docker Engine
|
||||
|
||||
|
||||
Docker Desktop is an easy-to-install desktop application that enables you to build and share containerized applications and microservices.
|
||||
|
||||
Docker Desktop includes Docker Engine, Docker CLI client, Docker Compose, Docker Content Trust, Kubernetes, and Credential Helper.
|
||||
|
||||
Docker Desktop stores containers and images in a different location to the local Docker Engine.
|
||||
|
||||
### Docker Context
|
||||
|
||||
|
||||
Docker Desktop creates a dedicated context to use while a local Docker Engine can be targeted with the **default** context.
|
||||
|
||||
```console
|
||||
$ docker context ls
|
||||
NAME DESCRIPTION DOCKER ENDPOINT ...
|
||||
default * Current DOCKER_HOST based configuration unix:///var/run/docker.sock ...
|
||||
desktop-linux unix:///home/<user>/.docker/desktop/docker.sock ...
|
||||
```
|
||||
|
||||
On startup, Docker Desktop sets its own context `desktop-linux` as the current context in use. This means that subsequent docker cli commands target Docker Desktop. On shutdown, Docker Desktop resets the current context to the `default` context.
|
||||
|
||||
See the [Docker Context](/engine/context/working-with-contexts) documentation for more details.
|
||||
|
||||
|
||||
|
||||
## Why Docker Desktop for Linux runs a VM
|
||||
|
||||
|
||||
Docker Desktop for Linux runs a Virtual Machine (VM) for the following reasons:
|
||||
|
||||
1. **To ensure that Docker Desktop provides a consistent experience across platforms**.
|
||||
|
||||
During research, the most frequently cited reason for users wanting Docker
|
||||
Desktop for Linux (DD4L) was to ensure a consistent Docker Desktop
|
||||
experience with feature parity across all major operating systems. Utilizing
|
||||
a VM ensures that the Docker Desktop experience for Linux users will closely
|
||||
match that of Windows and macOS.
|
||||
|
||||
This need to deliver a consistent experience across all major OSs will become increasingly important as we look towards adding exciting new features, such as Docker Extensions, to Docker Desktop that will benefit users across all tiers. We’ll provide more details on these at [DockerCon22](https://www.docker.com/dockercon/){: target="_blank" rel="noopener" class="_"}. Watch this space.
|
||||
|
||||
2. **To make use of new kernel features**
|
||||
|
||||
Sometimes we want to make use of new operating system features. Because we control the kernel and the OS inside the VM, we can roll these out to all users immediately, even to users who are intentionally sticking on an LTS version of their machine OS.
|
||||
|
||||
3. **To enhance security**
|
||||
|
||||
Container image vulnerabilities pose a security risk for the host environment. There is a large number of unofficial images that are not guaranteed to be verified for known vulnerabilities. Malicious users can push images to public registries and use different methods to trick users into pulling and running them. The VM approach mitigates this threat as any malware that gains root privileges is restricted to the VM environment without access to the host.
|
||||
|
||||
Why not run rootless Docker? Although this has the benefit of superficially limiting access to the root user so everything looks safer in "top", it allows unprivileged users to gain `CAP_SYS_ADMIN` in their own user namespace and access kernel APIs which are not expecting to be used by unprivileged users, resulting in vulnerabilities like [this](https://www.openwall.com/lists/oss-security/2022/01/18/7){: target="_blank" rel="noopener" class="_"}.
|
||||
|
||||
4. **To provide the benefits of feature parity and enhanced security, with minimal impact on performance**
|
||||
|
||||
The VM utilized by DD4L uses `virtiofs`, a shared file system that allows virtual machines to access a directory tree located on the host. Our internal benchmarking shows that with the right resource allocation to the VM, near native file system performance can be achieved with virtiofs.
|
||||
|
||||
As such, we have adjusted the default memory available to the VM in DD4L. You can tweak this setting to your specific needs by using the **Memory** slider within the **Settings** > **Resources** tab of Docker Desktop.
|
Loading…
Reference in New Issue