---
description: :Language-specific getting started guides overview
keywords: guides, docker, language, node, java, python, go, golang
title: Overview
toc_min: 1
toc_max: 2
---

The language-specific getting started guides walk you through the process of setting up your development environment and start containerizing language-specific applications using Docker. The learning modules contain best practices and guidelines that explain how to create a new Dockerfile in your preferred language, what to include in the Docker image, how to develop and run your Docker image, set up a CI/CD pipeline, and finally provides information on how to push the application you've developed to the cloud.

In addition to the language-specific modules, Docker documentation also provides guidelines to build and efficiently manage your development environment. You can find information on the best practices for writing Dockerfiles, building and managing images efficiently, gaining performance improvements by building images using BuildKit, etc. You can also find specific instructions on how to keep your images small, and how to persist application data, how to use multi-stage builds, etc.

For more information, refer to the following topics:

* [Best practices for writing Dockerfiles](../develop/develop-images/dockerfile_best-practices.md)
* [Docker development best practices](../develop/dev-best-practices.md)
* [Build images with BuildKit](../develop/develop-images/build_enhancements.md)
* [Manage images](../develop/develop-images/image_management.md)

## Language-specific getting started guides

Learn how to set up your Docker environment and start containerizing your applications. Choose a language below to get started.

<div class="component-container">
    <!--start row-->
    <div class="row" style="display: flex; align-items: center; flex-wrap: nowrap;">
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-4" style="margin: 0 10px;box-shadow: 0 3px 6px #0b214a17, 0 -2px 2px #0b214a08; height: 140px; display: flex; align-items: center">
            <a href="/language/nodejs/"><img src="/language/images/nodejs.png" alt="Develop with Node"></a>
        </div>
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-4" style="margin: 0 10px;box-shadow: 0 3px 6px #0b214a17, 0 -2px 2px #0b214a08; height: 140px; display: flex; align-items: center">
            <a href="/language/python/"><img src="/language/images/python.png" alt="Develop with Python"></a>
        </div>
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-4" style="margin: 0 10px;box-shadow: 0 3px 6px #0b214a17, 0 -2px 2px #0b214a08; height: 140px; display: flex; align-items: center">
            <a href="/language/java/"><img src="/language/images/java.png" alt="Develop with Java"></a>
        </div>
        <div class="col-xs-12 col-sm-12 col-md-12 col-lg-4" style="margin: 0 10px;box-shadow: 0 3px 6px #0b214a17, 0 -2px 2px #0b214a08; height: 140px; display: flex; align-items: center">
            <a href="/language/golang/"><img src="/language/images/golang.png" alt="Develop with Go"></a>
        </div>
    </div>
</div>

To request a guide in other programming languages, create an issue in the [Docker Docs github repository](https://github.com/docker/docker.github.io/issues/new?title=Language-specific%20guides%20request){:target="_blank" rel="noopener" class="_"}.

<br />
