Ubuntu

Docker Desktop terms

Commercial use of Docker Desktop in larger enterprises (more than 250 employees or more than $10 million USD in annual revenue) requires a paid subscription.

This page contains information on how to install, launch and upgrade Docker Desktop on an Ubuntu distribution.

Prerequisites

To install Docker Desktop successfully, you must:

Install Docker Desktop

Recommended approach to install Docker Desktop on Ubuntu:

  1. Set up Docker's package repository. See step one of Install using the apt repository.
  2. Download the latest DEB package. For checksums, see the Release notes.
  3. Install the package using apt:
    $ sudo apt-get update
    $ sudo apt-get install ./docker-desktop-amd64.deb
    

    Note

    At the end of the installation process, apt displays an error due to installing a downloaded package. You can ignore this error message.

    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)
    
    By default, Docker Desktop is installed at /opt/docker-desktop.

The DEB package includes a post-install script that completes additional setup steps automatically.

The post-install script:

Launch Docker Desktop

To start Docker Desktop for Linux:

  1. Navigate to the Docker Desktop application in your Gnome/KDE Desktop.
  2. Select Docker Desktop to start Docker.
    The Docker Subscription Service Agreement displays.
  3. Select Accept to continue. Docker Desktop starts after you accept the terms.
    Note that Docker Desktop won't run if you do not agree to the terms. You can choose to accept the terms at a later date by opening Docker Desktop.
    For more information, see Docker Desktop Subscription Service Agreement. It is recommended that you also read the FAQs.

Alternatively, open a terminal and run:

$ systemctl --user start docker-desktop

When Docker Desktop starts, it creates a dedicated context that the Docker CLI can use as a target and sets it as the current context in use. This is to avoid a clash with a local Docker Engine that may be running on the Linux host and using the default context. On shutdown, Docker Desktop resets the current context to the previous one.

The Docker Desktop installer updates Docker Compose and the Docker CLI binaries on the host. It installs Docker Compose V2 and gives users the choice to link it as docker-compose from the Settings panel. Docker Desktop installs the new Docker CLI binary that includes cloud-integration capabilities in /usr/local/bin/com.docker.cli and creates a symlink to the classic Docker CLI at /usr/local/bin.

After you’ve successfully installed Docker Desktop, you can check the versions of these binaries by running the following commands:

$ docker compose version

Docker Compose version v2.39.4

$ docker --version

Docker version 28.4.0, build d8eb465

$ docker version

Client:

 Version:           28.4.0

 API version:       1.51

 Go version:        go1.24.7

<...>

To enable Docker Desktop to start on sign in, from the Docker menu, select Settings > General > Start Docker Desktop when you sign in to your computer.

Alternatively, open a terminal and run:

$ systemctl --user enable docker-desktop

To stop Docker Desktop, select the Docker menu icon to open the Docker menu and select Quit Docker Desktop.

Alternatively, open a terminal and run:

$ systemctl --user stop docker-desktop

Upgrade Docker Desktop

When 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:

$ sudo apt-get install ./docker-desktop-amd64.deb

Some of the commands i did ..

❯ ls
codeWorld2  Documents  Music             OneDrive  Postman  snap       Videos
Desktop     Downloads  obsidian_backups  Pictures  Public   Templates
❯ gpg --generate-key
gpg (GnuPG) 2.4.4; Copyright (C) 2024 g10 Code GmbH
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Note: Use "gpg --full-generate-key" for a full featured key generation dialog.

GnuPG needs to construct a user ID to identify your key.

Real name: mati
Email address: mati.joseph.dev@gmail.com
You selected this USER-ID:
    "mati <mati.joseph.dev@gmail.com>"

Change (N)ame, (E)mail, or (O)kay/(Q)uit? o
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: directory '/home/amMati/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/home/amMati/.gnupg/openpgp-revocs.d/A346BE254E7EE472DBB3E83AE52A25F92AA89B48.rev'
public and secret key created and signed.

pub   ed25519 2025-11-23 [SC] [expires: 2028-11-22]
      A346BE254E7EE472DBB3E83AE52A25F92AA89B48
uid                      mati <mati.joseph.dev@gmail.com>
sub   cv25519 2025-11-23 [E] [expires: 2028-11-22]

❯ pass init A346BE254E7EE472DBB3E83AE52A25F92AA89B48
mkdir: created directory '/home/amMati/.password-store/'
Password store initialized for A346BE254E7EE472DBB3E83AE52A25F92AA89B48
    ~ ·········································································································   20:54:0
    ~ ···························································································
❯ docker images
                                                                                                        i Info →   U  In Use
IMAGE                             ID             DISK USAGE   CONTENT SIZE   EXTRA
ammati123/hello-internet:latest   4d0bb757809a       76.5MB         16.8MB        
    ~ ····················································································································
    ~ ·······································································································   21:18:40
❯ 
Powered by Forestry.md