Learn to use .NET to create applications on any platform using C#, F#, and Visual Basic. Browse API reference, sample code, tutorials, and more.
Download
Download .NET
Learn to use.NET to create applications on any platform using C#, F#, and Visual Basic. Browse API reference, sample code, tutorials, and more. Install Compose on Linux systems. On Linux, you can download the Docker Compose binary from the Compose repository release page on GitHub. Follow the instructions from the link, which involve running the curl command in your terminal to download the binaries. These step-by-step instructions are also included below.
Learn
Build .NET apps with C#
Tutorial
Create your first console app
Learn
Create your first web app
Learn
Browse .NET learning paths
Overview
Azure for .NET developers
What's new
What's new in .NET docs
Get Started
Interactive introduction to C#
.NET: Free. Cross platform. Open source.
A developer platform for building all your apps: web, mobile, desktop, gaming, IoT, and more. Supported on Windows, Linux, and macOS.
Open source .NET
- .NET tutorials
- Deploy .NET apps
- .NET developer community
.NET concepts
- .NET fundamentals
- Entity Framework Core
- .NET Framework (Windows) apps
Develop .NET apps
- .NET CLI overview
- Port from .NET Framework to .NET
- .NET breaking changes
.NET architectural guides
- .NET microservices architecture guidance
- Containerized Docker app lifecycle
- Modernize .NET apps with Azure
Programming languages
You can write .NET apps in C#, F#, or Visual Basic.
Create your application
You can choose web, mobile, desktop, gaming, IoT, and more.
Web
Mobile
Desktop
Microservices
Cloud
Machine learning and AI
Game development
Internet of things (IoT)
API and language reference
Search the .NET API and language reference documentation.
.NET API reference
.NET Core API reference
.NET Framework API reference
ASP.NET Core API reference
ML.NET API reference
.NET for Apache Spark API reference
C# language reference
F# language reference
Visual Basic language reference
Are you interested in contributing to the .NET docs? For more information, see our contributor guide.
Estimated reading time: 7 minutes
You can run Compose on macOS, Windows, and 64-bit Linux.
Prerequisites
Docker Compose relies on Docker Engine for any meaningful work, so make sure youhave Docker Engine installed either locally or remote, depending on your setup.
On desktop systems like Docker Desktop for Mac and Windows, Docker Compose isincluded as part of those desktop installs.
On Linux systems, first install theDocker Enginefor your OS as described on the Get Docker page, then come back here forinstructions on installing Compose onLinux systems.
To run Compose as a non-root user, see Manage Docker as a non-root user.
Install Compose
Follow the instructions below to install Compose on Mac, Windows, Windows Server2016, or Linux systems, or find out about alternatives like using the pip
Python package manager or installing Compose as a container.
Install a different version
The instructions below outline installation of the current stable release(v1.28.6) of Compose. To install a different version ofCompose, replace the given release number with the one that you want. Composereleases are also listed and available for direct download on theCompose repository release page on GitHub.To install a pre-release of Compose, refer to the install pre-release buildssection.
Install Compose on macOS
Docker Desktop for Mac includes Compose alongwith other Docker apps, so Mac users do not need to install Compose separately.For installation instructions, see Install Docker Desktop on Mac.
Install Compose on Windows desktop systems
Docker Desktop for Windows includes Composealong with other Docker apps, so most Windows users do not need toinstall Compose separately. For install instructions, see Install Docker Desktop on Windows.
If you are running the Docker daemon and client directly on MicrosoftWindows Server, follow the instructions in the Windows Server tab.
Install Compose on Windows Server
Follow these instructions if you are running the Docker daemon and client directlyon Microsoft Windows Server and want to install Docker Compose.
Start an “elevated” PowerShell (run it as administrator).Search for PowerShell, right-click, and chooseRun as administrator. When asked if you want to allow this appto make changes to your device, click Yes.
In PowerShell, since GitHub now requires TLS1.2, run the following:
Then run the following command to download the current stable release ofCompose (v1.28.6):
Note: On Windows Server 2019, you can add the Compose executable to $Env:ProgramFilesDocker
. Because this directory is registered in the system PATH
, you can run the docker-compose --version
command on the subsequent step with no additional configuration.
Test the installation.
Install Compose on Linux systems
On Linux, you can download the Docker Compose binary from theCompose repository release page on GitHub.Follow the instructions from the link, which involve running the curl
commandin your terminal to download the binaries. These step-by-step instructions arealso included below.
For alpine
, the following dependency packages are needed:py-pip
, python3-dev
, libffi-dev
, openssl-dev
, gcc
, libc-dev
, rust
, cargo
and make
.
Run this command to download the current stable release of Docker Compose:
To install a different version of Compose, substitute
1.28.6
with the version of Compose you want to use.If you have problems installing with
curl
, seeAlternative Install Options tab above.Apply executable permissions to the binary:
Note: If the command docker-compose
fails after installation, check your path.You can also create a symbolic link to /usr/bin
or any other directory in your path.
For example:
Optionally, install command completion for the
bash
andzsh
shell.Test the installation.
Alternative install options
Install using pip
Docker With Linux Free
For alpine
, the following dependency packages are needed:py-pip
, python3-dev
, libffi-dev
, openssl-dev
, gcc
, libc-dev
, rust
, cargo
, and make
.
Compose can be installed frompypi using pip
. If you installusing pip
, we recommend that you use avirtualenv because many operatingsystems have python system packages that conflict with docker-composedependencies. See the virtualenvtutorial to getstarted.
If you are not using virtualenv,
pip version 6.0 or greater is required.
Install as a container
Compose can also be run inside a container, from a small bash script wrapper. Toinstall compose as a container run this command:
Install pre-release builds
If you’re interested in trying out a pre-release build, you can download releasecandidates from the Compose repository release page on GitHub.Follow the instructions from the link, which involves running the curl
commandin your terminal to download the binaries.
Pre-releases built from the “master” branch are also available for download athttps://dl.bintray.com/docker-compose/master/.
Pre-release builds allow you to try out new features before they are released,but may be less stable.
Upgrading
If you’re upgrading from Compose 1.2 or earlier, remove ormigrate your existing containers after upgrading Compose. This is because, as ofversion 1.3, Compose uses Docker labels to keep track of containers, and yourcontainers need to be recreated to add the labels.
If Compose detects containers that were created without labels, it refusesto run, so that you don’t end up with two sets of them. If you want to keep usingyour existing containers (for example, because they have data volumes you wantto preserve), you can use Compose 1.5.x to migrate them with the followingcommand:
Alternatively, if you’re not worried about keeping them, you can remove them.Compose just creates new ones.
Uninstallation
To uninstall Docker Compose if you installed using curl
:
To uninstall Docker Compose if you installed using pip
:
Got a “Permission denied” error?
If you get a “Permission denied” error using either of the abovemethods, you probably do not have the proper permissions to removedocker-compose
. To force the removal, prepend sudo
to either of the abovecommands and run again.