# Docker Generated on 8 Mar 2026 from [the Docker catalog page](https://marketplace.digitalocean.com/apps/docker) Docker containers combine software and related dependencies into a standardized unit for software development that includes everything it needs to run: code, runtime, system tools and libraries. This guarantees that your application will always run the same and makes collaboration as simple as sharing a container image. This 1-click enables you to create a DigitalOcean droplet pre-installed with recommended Docker tools (docker-engine, docker-compose). For reference, the [packer file](https://github.com/digitalocean/droplet-1-clicks/tree/master/docker-20-04) used to create the Docker 1-click is here, and the recommended installation steps from Docker are [here](https://docs.docker.com/install/linux/docker-ce/ubuntu/). ## Software Included | Package | Version | License | |---|---|---| | Docker CE | [28.1.1](https://docs.docker.com/release-notes/docker-ce/) | [Apache 2](https://github.com/docker/docker/blob/master/LICENSE) | | Docker Compose | [2.36.0](https://docs.docker.com/release-notes/docker-compose/) | [Apache 2](https://github.com/docker/compose/blob/master/LICENSE) | | Docker BuildX | [0.23.0](https://docs.docker.com/build/release-notes/) | [Apache 2](https://github.com/docker/buildx/blob/master/LICENSE) | ## Creating an App using the Control Panel Click the **Deploy to DigitalOcean** button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account. [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/droplets/new?image=docker-20-04) ## Creating an App using the API In addition to creating a Droplet from the Docker 1-Click App using the control panel, you can also use the [DigitalOcean API](https://docs.digitalocean.com/reference/api). As an example, to create a 4GB Docker Droplet in the SFO2 region, you can use the following `curl` command. You need to either save your [API access token](https://docs.digitalocean.com/reference/api/create-personal-access-token/index.html.md) to an environment variable or substitute it in the command below. ```shell curl -X POST -H 'Content-Type: application/json' \ -H 'Authorization: Bearer '$TOKEN'' -d \ '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image":"docker-20-04"}' \ "https://api.digitalocean.com/v2/droplets" ``` ## Getting Started After Deploying Docker Once the Docker One-Click Droplet is created, you can log into it as root. Make sure to substitute the Droplet’s public IPv4 address. `$ ssh root@your_droplet_public_ipv4` Docker -d will already be running as a service and the Docker command line tool is included in the PATH, so it’s ready to use. `$ docker version` command shows the version of Docker engine installed. Note about firewall rules: If you are using the default droplet firewall rules in DigitalOcean cloud, then you just need to follow the same practices. However, if you depend on the Linux firewall (iptables), then you need to be aware of [how Docker works with iptables](https://docs.docker.com/network/iptables/). ## After installing Docker If you are new to Docker or have not explored all its capabilities, we highly recommend the official getting started tutorial: [https://docs.docker.com/get-started/](https://docs.docker.com/get-started/) ### Check versions Execute in the ssh console: `docker version` `docker compose version` `docker buildx version` ### Language specific tutorials - [Node JS](https://docs.docker.com/language/nodejs/) - [Python](https://docs.docker.com/language/python/) - [Java](https://docs.docker.com/language/java/) - [Laravel](https://www.digitalocean.com/community/tutorials/how-to-install-and-set-up-laravel-with-docker-compose-on-ubuntu-22-04) - [Wordpress](https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-with-docker-compose) - [Go](https://docs.docker.com/language/golang/) - [C#(.NET)](https://docs.docker.com/language/dotnet/) ### Setting up a production system - [Using NGINX](https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-docker/) [NGINX Plus](https://www.nginx.com/products/nginx/), the high‑performance application delivery platform, load balancer, and web server, is available as the Docker container. - [DO Storage](https://www.digitalocean.com/community/questions/how-to-attach-digitalocean-block-storage-to-docker-container) In cloud computing, block storage is a network-based way to store data. Block storage services, like [DigitalOcean Volumes Block Storage](https://docs.digitalocean.com/products/volumes/index.html.md), provide similar behavior to traditional block storage devices, like hard drives. - [DO Registry](https://docs.digitalocean.com/products/container-registry/how-to/use-registry-docker-kubernetes/index.html.md) The DigitalOcean Container Registry (DOCR) is a private Docker image registry with additional tooling support that enables integration with your Docker environment and DigitalOcean Kubernetes clusters. DOCR registries are private and co-located in the datacenters where DigitalOcean Kubernetes clusters are operated for secure, stable, and performant rollout of images to your clusters. - [Enable monitoring](https://www.digitalocean.com/community/tutorials/how-to-monitor-docker-using-zabbix-on-ubuntu-20-04) [Zabbix](https://www.zabbix.com/) is a monitoring system that can monitor the state of almost any element of your IT infrastructure, such as networks, servers, virtual machines, and applications. - [Using Terraform](https://github.com/syntaqx/terraform-digitalocean-docker) Terraform is an IAC tool, used primarily by DevOps teams to automate various infrastructure tasks. The provisioning of cloud resources, for instance, is one of the main use cases of Terraform. It’s a cloud-agnostic, open-source provisioning tool written in the Go language and created by HashiCorp ## Update instructions ### Docker 1. Go to [https://download.docker.com/linux/ubuntu/dists/](https://download.docker.com/linux/ubuntu/dists/). 2. Select your Ubuntu version in the list. 3. Go to pool/stable/ and select the applicable architecture (amd64, armhf, arm64, or s390x). 4. Download the following deb files for the Docker Engine, CLI, containerd, and Docker Compose packages: ``` containerd.io__.deb docker-ce__.deb docker-ce-cli__.deb docker-buildx-plugin__.deb docker-compose-plugin__.deb ``` 5. Install the .deb packages. Update the paths in the following example to where you downloaded the Docker packages. ``` sudo dpkg -i ./containerd.io__.deb \ ./docker-ce__.deb \ ./docker-ce-cli__.deb \ ./docker-buildx-plugin__.deb \ ./docker-compose-plugin__.deb ``` The Docker daemon starts automatically. ### Docker Compose 1. Go to [https://docs.docker.com/compose/release-notes/](https://docs.docker.com/compose/release-notes/) 2. Find new version 3. Execute: ``` DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v/docker-compose-linux- -o $DOCKER_CONFIG/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose ```