From 902646428b1a67e7dae05030322f8a97f8dc5081 Mon Sep 17 00:00:00 2001 From: Oliver Frolovs Date: Mon, 14 Jun 2021 13:28:14 +0100 Subject: [PATCH] Add first half of Getting Started for Golang (#12168) Add Golang get started guide Signed-off-by: Oliver Frolovs --- _data/toc.yaml | 16 + language/golang/build-images.md | 408 +++++++++++++ language/golang/configure-ci-cd.md | 351 +++++++++++ language/golang/deploy.md | 29 + language/golang/develop.md | 749 ++++++++++++++++++++++++ language/golang/images/cdsuccess.png | Bin 0 -> 34107 bytes language/golang/images/loginerror.png | Bin 0 -> 47704 bytes language/golang/images/runworkflow.png | Bin 0 -> 63476 bytes language/golang/images/triggerontag.png | Bin 0 -> 118628 bytes language/golang/index.md | 29 + language/golang/nav.html | 8 + language/golang/run-containers.md | 216 +++++++ language/golang/run-tests.md | 117 ++++ language/images/golang.png | Bin 0 -> 15475 bytes language/index.md | 7 +- 15 files changed, 1929 insertions(+), 1 deletion(-) create mode 100644 language/golang/build-images.md create mode 100644 language/golang/configure-ci-cd.md create mode 100644 language/golang/deploy.md create mode 100644 language/golang/develop.md create mode 100644 language/golang/images/cdsuccess.png create mode 100644 language/golang/images/loginerror.png create mode 100644 language/golang/images/runworkflow.png create mode 100644 language/golang/images/triggerontag.png create mode 100644 language/golang/index.md create mode 100644 language/golang/nav.html create mode 100644 language/golang/run-containers.md create mode 100644 language/golang/run-tests.md create mode 100644 language/images/golang.png diff --git a/_data/toc.yaml b/_data/toc.yaml index bafb168d5a..63af439436 100644 --- a/_data/toc.yaml +++ b/_data/toc.yaml @@ -97,6 +97,22 @@ guides: path: /language/java/configure-ci-cd/ - title: "Deploy your app" path: /language/java/deploy/ + - sectiontitle: Go + section: + - title: "Overview" + path: /language/golang/ + - title: "Build images" + path: /language/golang/build-images/ + - title: "Run containers" + path: /language/golang/run-containers/ + - title: "Develop your app" + path: /language/golang/develop/ + - title: "Run your tests" + path: /language/golang/run-tests/ + - title: "Configure CI/CD" + path: /language/golang/configure-ci-cd/ + - title: "Deploy your app" + path: /language/golang/deploy/ - sectiontitle: Develop with Docker section: - path: /develop/ diff --git a/language/golang/build-images.md b/language/golang/build-images.md new file mode 100644 index 0000000000..2a3edd20a6 --- /dev/null +++ b/language/golang/build-images.md @@ -0,0 +1,408 @@ +--- +title: "Build your Go image" +keywords: containers, images, go, golang, dockerfiles, coding, build, push, run +description: Learn how to build your first Docker image by writing a Dockerfile +redirect_from: +- /get-started/golang/build-images/ +--- + +{% include_relative nav.html selected="1" %} + +## Prerequisites + +* Some understanding of Go and its toolchain. This is not a tutorial on Go. If you are new to the language, the [Go website](https://golang.org/){: target="_blank" rel="noopener" class="_"} is a good starting point, so go (pun intended) check it out. +* Some awareness of basic Docker concepts. If unsure, work through the orientation and setup in Get started [Part 1](/get-started/). + +## Overview + +Now that we have a good overview of containers and the Docker platform, let’s take a look at building our first image. An image includes everything you need to run an application – the code or binary, runtime, dependencies, and any other file system objects required. + +To complete this tutorial, you need the following: + +- Go version 1.16 or later. You might want to [download and install Go](https://golang.org/dl/) first. +- Docker running locally. Follow the instructions to [download and install Docker](https://docs.docker.com/desktop/). +- An IDE or a text editor to edit files. We recommend using [Visual Studio Code](https://code.visualstudio.com/){: target="_blank" rel="noopener" class="_"}. + +## Meet the example application + +To avoid losing focus on Docker's features, the sample application is a minimal HTTP server that has only three features: + +* It responds with a text message containing a heart symbol ("<3") on requests to `/`. +* It responds with `{"Status" : "OK"}` JSON to the health check request on requests to `/ping`. +* The port it listens on is configurable using the environment variable `HTTP_PORT`. The default value is `8080`. + +Thus, it somewhat mimics enough basic properties of a REST microservice to be useful for our learning of Docker. + +The source code for the application is in the [olliefr/docker-gs-ping](https://github.com/olliefr/docker-gs-ping){: target="_blank" rel="noopener" class="_"} GitHub repo. Please feel free to clone or fork it. + +For our present study, we clone it to our local machine: + +```shell +$ git clone https://github.com/olliefr/docker-gs-ping +``` + +The application's `main.go` file is fairly straightforward, if you are familiar with Go: + +{% raw %} +```go +package main + +import ( + "net/http" + "os" + + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" +) + +func main() { + + e := echo.New() + + e.Use(middleware.Logger()) + e.Use(middleware.Recover()) + + e.GET("/", func(c echo.Context) error { + return c.HTML(http.StatusOK, "Hello, Docker! <3") + }) + + e.GET("/ping", func(c echo.Context) error { + return c.JSON(http.StatusOK, struct{ Status string }{Status: "OK"}) + }) + + httpPort := os.Getenv("HTTP_PORT") + if httpPort == "" { + httpPort = "8080" + } + + e.Logger.Fatal(e.Start(":" + httpPort)) +} +``` +{% endraw %} + +## Smoke test the application + +Let’s start our application and make sure it’s running properly. Open your terminal and navigate to the directory into which you cloned the project's repo. From now on, we'll refer to this directory as the **working directory**. + +```shell +$ go run main.go +``` + +This should compile and start the server as a foreground application, outputting the banner, as illustrated in the next figure. + +``` + ____ __ + / __/___/ / ___ + / _// __/ _ \/ _ \ +/___/\__/_//_/\___/ v4.2.2 +High performance, minimalist Go web framework +https://echo.labstack.com +____________________________________O/_______ + O\ +⇨ http server started on [::]:8080 +``` + +Let's run a quick _smoke test_ on the application. **In a new terminal**, run a request using `curl`. Alternatively, you can use your favourite web browser as well. + +```shell +$ curl http://localhost:8080/ +Hello, Docker! <3 +``` + +So, the application responds with a greeting, just as the first business requirement says it should. Great. + +Having established that the server is running and is accessible, let's proceed to "dockerizing" it. + +## Create a Dockerfile for the application + +A `Dockerfile` is a text document that contains the instructions for building a Docker image. When we tell Docker to build our image by executing the `docker build` command, Docker reads these instructions and executes them one by one and creates a Docker image as a result. + +Let’s walk through the process of creating a `Dockerfile` for our application. In the root of your working directory, create a file named `Dockerfile` and open this file in your text editor. + +> **Note** +> +> The name of the file is not _that_ important but the default filename for many commands is simply `Dockerfile`. So, we’ll use that as our filename throughout this series. + +The first thing we need to do is to add a line in our Dockerfile that tells Docker what base image we would like to use for our application. + +```dockerfile +FROM golang:1.16-alpine +``` + +Docker images can be inherited from other images. Therefore, instead of creating our own base image, we’ll use the official Go image that already has all the tools and packages to compile and run a Go application. You can think of this in the same way you would think about class inheritance in object oriented programming or functional composition in functional programming. + +When we have used that `FROM` command, we told Docker to include in our image all the functionality from the `golang:1.16-alpine` image. All of our consequent commands would build on top of that "base" image. + +> **Note** +> +> If you want to learn more about creating your own base images, see [creating base images](https://docs.docker.com/develop/develop-images/baseimages/) section of the guide. + +To make things easier when running the rest of our commands, let’s create a directory _inside_ the image that we are building. This also instructs Docker to use this directory as the default _destination_ for all subsequent commands. This way we do not have to type out full file paths but can use relative paths based on this directory. + +```dockerfile +WORKDIR /app +``` + +Usually the very first thing you do once you’ve downloaded a project written in Go is to install the modules necessary to compile it. + +But before we can run `go mod download` inside our image, we need to get our `go.mod` and `go.sum` files copied into it. We use the `COPY` command to do this. + +In its simplest form, the `COPY` command takes two parameters. The first parameter tells Docker what file you would like to copy into the image. The second parameter tells Docker where you want that file to be copied to. + +We’ll copy the `go.mod` and `go.sum` file into our working directory `/app` which, owing to our use of `WORKDIR`, is the current directory (`.`) inside the image. + +```dockerfile +COPY go.mod . +COPY go.sum . +``` + +Now that we have the module files inside the Docker image that we are building, we can use the `RUN` command to execute the command `go mod download` there as well. This works exactly the same as if we were running `go` locally on our machine, but this time these Go modules will be installed into the a directory inside our image. + +```dockerfile +RUN go mod download +``` + +At this point, we have an image that is based on Go environment version 1.16 (or a later minor version, since we had specified `1.16` as our tag in the `FROM` command) and we have installed our dependencies. + +The next thing we need to do is to copy our source code into the image. We’ll use the `COPY` command just like we did with our module files before. + +```dockerfile +COPY *.go . +``` + +This `COPY` command uses a wildcard to copy all files with `.go` extension located in the current directory on the host (the directory where the `Dockerfile` is located) into the current directory inside the image. + +Now, we would like to compile our application. To that end, we use the familiar `RUN` command: + +```dockerfile +RUN go build -o /docker-gs-ping +``` + +This should be familiar. The result of that command will be a static application binary named `docker-gs-ping` and located in the root of the filesystem of the image that we are building. We could have put the binary into any other place we desire inside that image, the root directory has no special meaning in this regard. It's just convenient to use it to keep the file paths short for improved readability. + +Now, all that is left to do is to tell Docker what command to execute when our image is used to start a container. + +We do this with the `CMD` command: + +```dockerfile +CMD [ "/docker-gs-ping" ] +``` + +Here's the complete `Dockerfile`: + +```dockerfile +FROM golang:1.16-alpine + +WORKDIR /app + +COPY go.mod . +COPY go.sum . +RUN go mod download + +COPY *.go . + +RUN go build -o /docker-gs-ping + +EXPOSE 8080 + +CMD [ "/docker-gs-ping" ] +``` + +The `Dockerfile` may also contain _comments_. They always begin with a `#` symbol and make no difference to Docker. The comments are there for the convenience of humans tasked to maintain the `Dockerfile`: + +```dockerfile +# Alpine is chosen for its small footprint +# compared to Ubuntu +FROM golang:1.16-alpine + +WORKDIR /app + +# Download necessary Go modules +COPY go.mod . +COPY go.sum . +RUN go mod download + +# ... the rest of the Dockerfile is ... +# ... omitted from this example ... +``` + +## Build the image + +Now that we've created our `Dockerfile`, let’s build an image from it. The `docker build` command creates Docker images from the `Dockerfile` and a "context". A build _context_ is the set of files located in the specified path or URL. The Docker build process can access any of the files located in the context. + +The build command optionally takes a `--tag` flag. This flag is used to label the image with a string value, which is easy for humans to read and recognise. If you do not pass a `--tag`, Docker will use `latest` as the default value. + +Let's build our first Docker image! + +```shell +$ docker build --tag docker-gs-ping . +``` + +``` +[+] Building 3.6s (12/12) FINISHED + => [internal] load build definition from Dockerfile 0.1s + => => transferring dockerfile: 38B 0.0s + => [internal] load .dockerignore 0.1s + => => transferring context: 2B 0.0s + => [internal] load metadata for docker.io/library/golang:1.16-alpine 3.0s + => [1/7] FROM docker.io/library/golang:1.16-alpine@sha256:49c07aa83790aca732250c2258b59 0.0s + => => resolve docker.io/library/golang:1.16-alpine@sha256:49c07aa83790aca732250c2258b59 0.0s + => [internal] load build context 0.1s + => => transferring context: 114B 0.0s + => CACHED [2/7] WORKDIR /app 0.0s + => CACHED [3/7] COPY go.mod . 0.0s + => CACHED [4/7] COPY go.sum . 0.0s + => CACHED [5/7] RUN go mod download 0.0s + => CACHED [6/7] COPY *.go . 0.0s + => CACHED [7/7] RUN go build -o /docker-gs-ping 0.0s + => exporting to image 0.1s + => => exporting layers 0.0s + => => writing image sha256:336a3f164d0f079f2e42cd1d38f24ab9110d47d481f1db7f2a0b0d2859ec 0.0s + => => naming to docker.io/library/docker-gs-ping 0.0s + +Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them +``` + +Your exact output will vary, but provided there aren't any errors, you should see the `FINISHED` line in the build output. This means Docker has successfully built our image and assigned a `docker-gs-ping` tag to it. + +## View local images + +To see the list of images we have on our local machine, we have two options. One is to use the CLI and the other is to use [Docker Desktop](/products/docker-desktop). Since we are currently working in the terminal, let’s take a look at listing images with the CLI. + +To list images, simply run the `images` command: + +```shell +$ docker images +``` + +``` +REPOSITORY TAG IMAGE ID CREATED SIZE +docker-gs-ping latest 336a3f164d0f 39 minutes ago 540MB +postgres 13.2 c5ec7353d87d 7 weeks ago 314MB +``` + +Your exact output may vary, but you should see `docker-gs-ping` image with the `latest` tag. + +## Tag images + +An image name is made up of slash-separated name components. Name components may contain lowercase letters, digits and separators. A separator is defined as a period, one or two underscores, or one or more dashes. A name component may not start or end with a separator. + +An image is made up of a manifest and a list of layers. In simple terms, a “tag” points to a combination of these artifacts. You can have multiple tags for the image and, in fact, most images have multiple tags. Let’s create a second tag for the image we had built and take a look at its layers. + +To create a new tag for our image, run the following command. + +```shell +$ docker tag docker-gs-ping:latest docker-gs-ping:v1.0 +``` + +The Docker `tag` command creates a new tag for the image. It does not create a new image. The tag points to the same image and is just another way to reference the image. + +Now run the `docker images` command to see the updated list of local images: + +```shell +$ docker images +``` + +``` +REPOSITORY TAG IMAGE ID CREATED SIZE +docker-gs-ping latest 336a3f164d0f 43 minutes ago 540MB +docker-gs-ping v1.0 336a3f164d0f 43 minutes ago 540MB +postgres 13.2 c5ec7353d87d 7 weeks ago 314MB +``` + +You can see that we have two images that start with `docker-gs-ping`. We know they are the same image because if you look at the `IMAGE ID` column, you can see that the values are the same for the two images. This value is a unique identifier Docker uses internally to identify the image. + +Let’s remove the tag that we had just created. To do this, we’ll use the `rmi` command, which stands for "remove image": + +```shell +$ docker rmi docker-gs-ping:v1.0 +Untagged: docker-gs-ping:v1.0 +``` + +Notice that the response from Docker tells us that the image has not been removed but only "untagged". Verify this by running the images command: + +```shell +$ docker images +``` + +``` +REPOSITORY TAG IMAGE ID CREATED SIZE +docker-gs-ping latest 336a3f164d0f 45 minutes ago 540MB +postgres 13.2 c5ec7353d87d 7 weeks ago 314MB +``` + +The tag `v1.0` has been removed but we still have the `docker-gs-ping:latest` tag available on our machine, so the image is there. + +## Multi-stage builds + +You may have noticed that our `docker-gs-ping` image stands at 540MB, which you may think is a lot. You may also be wondering whether our dockerized application still needs the full suite of Go tools, including the compiler, after the application binary had been compiled. + +These are legit concerns. Both can be solved by using _multi-stage builds_. The following example is provided with little explanation because this would derail us from our current concerns, but please feel free to explore on your own later. The main idea is that we use one image to produce some artefacts, which are then placed into another, much smaller image, containing only the parts necessary for running the artefacts that we'd built. + +The `Dockerfile.multistage` in the sample application's repo has the following content: + +{% raw %} +```dockerfile +## +## Build +## + +FROM golang:1.16-buster AS build + +WORKDIR /app + +COPY go.mod . +COPY go.sum . +RUN go mod download + +COPY *.go . + +RUN go build -o /docker-gs-ping + +## +## Deploy +## + +FROM gcr.io/distroless/base-debian10 + +WORKDIR / + +COPY --from=build /docker-gs-ping /docker-gs-ping + +EXPOSE 8080 + +USER nonroot:nonroot + +ENTRYPOINT ["/docker-gs-ping"] +``` +{% endraw %} + +Since we have two dockerfiles now, we have to tell Docker that we want to build using our new Dockerfile. We also tag the new image with `multistage` but this word has no special meaning, we only do so that we could compare this new image to the one we've built previously, that is the one we tagged with `latest`: + +```shell +docker build -t docker-gs-ping:multistage -f Dockerfile.multistage . +``` + +Comparing the sizes of `docker-gs-ping:multistage` and `docker-gs-ping:latest` we see an order-of-magnitude difference! + +``` +REPOSITORY TAG IMAGE ID CREATED SIZE +docker-gs-ping multistage e3fdde09f172 About a minute ago 27.1MB +docker-gs-ping latest 336a3f164d0f About an hour ago 540MB +``` + +This is due to the fact that the ["distroless" base image](https://github.com/GoogleContainerTools/distroless) that we have used to deploy our Go application is very barebones and is meant for lean deployments of static binaries. + +For more information on multi-stage builds, please feel free to check out [other parts](/develop/develop-images/multistage-build/) of Docker documentation. This is, however, not essential for our progress here, so we'll leave it at that. + +## Next steps + +In this module, we took a look at setting up our example Go application that we will use for much of the rest of the tutorial. We also created a `Dockerfile` that we used to build our Docker image. Then, we took a look at tagging our images and removing images and tags. In the next module, we’ll take a look at how to: + +[Run your image as a container](run-containers.md){: .button .outline-btn} + +## Feedback + +Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates. + +
diff --git a/language/golang/configure-ci-cd.md b/language/golang/configure-ci-cd.md new file mode 100644 index 0000000000..b81867ace1 --- /dev/null +++ b/language/golang/configure-ci-cd.md @@ -0,0 +1,351 @@ +--- +title: "Configure CI/CD for your application" +keywords: ci, cd, ci/cd, continuous integration, continuous deployment, deployment, github, github actions, go, golang, development +description: Learn how to set up CI/CD pipeline for your application. +redirect_from: +- /get-started/golang/configure-ci-cd/ +--- + +{% include_relative nav.html selected="5" %} + +This page guides you through the process of setting up a GitHub Action CI/CD pipeline with Docker containers. Before setting up a new pipeline, we recommend that you take a look at [Ben's blog](https://www.docker.com/blog/best-practices-for-using-docker-hub-for-ci-cd/){:target="_blank" rel="noopener" class="_"} on CI/CD best practices. + +This guide contains instructions on how to: + +1. Set up continuous integration (CI) pipeline using GitHub Actions; +2. Enable Docker Hub access for continuous deployment (CD) tools; +3. Optimize your GitHub Actions-based CI/CD pipeline to reduce the number of pull requests and the total build time; and +4. Release only specific versions of your application to Docker Hub. + +> **Note** +> +> Before we begin, it must be said that Continuous Integration (CI) and Continuous Deployment (CD) each is a _huge_ subject, with many different approaches and opinions. The approach chosen in this guide is optimised for pedagogical clarity and simplicity and is not meant to be the One True Way to test and release software. + +## Choose a sample project + +Let’s get started. This guide uses a simple Go project as an example. In fact, it is the same project we got acquainted with in [Build Images](build-images.md) part of this guide. The [olliefr/docker-gs-ping](https://github.com/olliefr/docker-gs-ping){:target="_blank" rel="noopener" class="_"} repository contains the full source code and the `Dockerfile`. You can either fork it or to follow along and set up one of your own Go projects in a fashion described in this section. + +Thus, as long as you have a GitHub repo with a project and a `Dockerfile`, you can complete this part of the tutorial. + +## Set up the CI workflow + +In the previous section, we created a PAT and added it to GitHub to ensure we can access Docker Hub from any GitHub Actions workflow. But before setting out to build the images for releasing our software, let's build a CI pipeline to run the tests first. + +To set up the workflow: + +1. Go to your repository in GitHub and then click **Actions** > **New workflow**. +2. Click **set up a workflow yourself** and update the starter template to match the following: + +First, we will name this workflow: + +{% raw %} +```yaml +name: Run CI +``` +{% endraw %} + +Then, we will choose when we run this workflow. In our example, we are going to do it for every push against the main branch of our project: + +{% raw %} +```yaml +on: + push: + branches: [ main ] + workflow_dispatch: +``` +{% endraw %} + +The `workflow_dispatch` is optional. It enables to run this workflow manually from the Actions tab. + +Now, we need to specify what we actually want to happen within our workflow. A workflow run is made up of one or more _jobs_ that can run sequentially or in parallel. + +The first job we would like to set up is the one to build and run our tests. Let it be run on the latest Ubuntu instance: + +{% raw %} +```yaml +jobs: + build-and-test: + runs-on: ubuntu-latest +``` +{% endraw %} + +A job is a sequence of _steps_. For this simple CI pipeline we would like to: + +1. Set up Go compiler environment. +2. Check out our code from its GitHub repository. +3. Fetch Go modules used by our application. +4. (Optional) Build the binary for our application. +5. Build the Docker Image for our application. +6. Run the functional tests for our application against that Docker image. + +Building the binary in step 4 is actually optional. It is a "smoke test". We don't want to be building a Docker image and attempting functional testing if our application does not even compile. If we had "unit tests" or some other small tests, we would run them between steps 4 and 5 as well. + +The following sequence of `steps` achieves the goals we just set. + +{% raw %} +```yaml + steps: + - name: Install Go + uses: actions/setup-go@v2 + with: + go-version: 1.16.4 + + - name: Checkout code + uses: actions/checkout@v2 + + - name: Fetch required Go modules + run: go mod download + + - name: Build + run: go build -v ./... + + - name: Build Docker image + uses: docker/build-push-action@v2 + with: + push: false + tags: ${{ github.event.repository.name }}:latest, ${{ github.repository }}:latest + + - name: Run functional tests + run: go test -v ./... +``` +{% endraw %} + +As is usual with YAML files, be aware of indentation. The complete workflow file for reference is available in the project's repo, under the name of `.github/workflow/ci.yml`. + +This should be enough to test our approach to CI. Change the workflow file name from `main.yml` to `ci.yml` and press **Start commit** button. Fill out the commit details in your preferred style and press **Commit new file**. GitHub Actions are saved as YAML files in `.github/workflows` directory and GitHub web interface would do that for us. + +Select **Actions** from the navigation bar for your repository. Since we've enabled `workflow_dispatch` option in our Action, GitHub will have started it already. If not, select "CI/CD to Docker Hub" action on the left, and then press **Run workflow** button on the right to start the workflow. + +![GitHub Secrets](images/runworkflow.png){:width="500px"} + +Should the run fail, you can click on the failing entry to see the logs and amend the workflow YAML file accordingly. + +## Enable access to Docker Hub + +The [Docker Hub](https://hub.docker.com/) is a hosted repository service provided by Docker for finding and sharing container images. + +Before we can publish our Docker image to Docker Hub, we must grant GitHub Actions access to Docker Hub API. + +To set up the access to Docker Hub API: + +1. Create a new Personal Access Token (PAT) for Docker Hub. + + * Go to the [Docker Hub Account Settings](https://hub.docker.com/settings/security) and then click **New Access Token**. + * Let's call this token `docker-gs-ping-ci`. Input the name and click **Create**. + * Copy the token value, we'll need it in a second. + +2. Add your Docker ID and PAT as secrets to your GitHub repo. + + * Navigate to your GitHub repository and click **Settings** > **Secrets** > **New secret**. + * Create a new secret with the name `DOCKER_HUB_USERNAME` and your Docker ID as value. + * Create a new secret with the name `DOCKER_HUB_ACCESS_TOKEN` and use the token value from the step (1). + +Your GitHub repository **Secrets** section would look like the following. + +![GitHub Secrets](../../ci-cd/images/github-secrets.png){:width="500px"} + +Now it will be possible to refer to these two variables from our workflows. This will open up an opportunity to publish our image to Docker Hub. + +## Set up the CD workflow + +Now, let’s create a GitHub Actions workflow to build and store the image for our application in Docker Hub. We can achieve this by creating two Docker actions: + +1. The first action enables us to log in to Docker Hub using the secrets we stored in the GitHub Repository settings. +2. The second one is the build and push action. + +In this example, let us set the push flag to `true` as we also want to push. We’ll then add a tag to specify to always go to the latest version. Lastly, we’ll echo the image digest to see what was pushed. + +Now, we can add the steps required. Start a blank new workflow, just as we did before. Let's give it a file name of `release.yml` and amend the template body to match the following. + +{% raw %} +```yaml +name: Release to Docker Hub + +on: + push: + tags: + - "*.*.*" + +jobs: + release: + runs-on: ubuntu-latest + steps: + - name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + + - name: Install Go + uses: actions/setup-go@v2 + with: + go-version: 1.16.4 + + - name: Checkout code + uses: actions/checkout@v2 + + - name: Fetch required Go modules + run: go mod download + + - name: Build + run: go build -v ./... + + - name: Build and push Docker image + id: docker_build + uses: docker/build-push-action@v2 + with: + push: true + tags: ${{ github.repository }}:latest + + - name: Image digest + run: echo ${{ steps.docker_build.outputs.digest }} +``` +{% endraw %} + +This workflow is similar to the CI workflow, with the following changes: + +* This workflow is only triggered when a git tag of the format `*.*.*` is pushed to the repo. The tag meant to be a semantic version, such as `3.5.0` or `0.0.1`. +* The very first step is to login into Docker Hub using the two secrets that we had saved in the repository settings previously. +* The _build and push_ step now has `push: true` and since we had logged into Docker Hub this will result in the latest image being published. +* The image digest step prints out the image metadata to the log. + +Let's save this workflow and check the _Actions_ page for the repository on GitHub. Unlike the CI workflow, this new workflow cannot be triggered manually - this is how we set it up. So, in order to test it, we have to tag some commit. Let's tag the `HEAD` of the `main` branch: + +```shell +$ git tag -a 0.0.1 -m "Test release workflow" + +$ git push --tags +Enumerating objects: 1, done. +Counting objects: 100% (1/1), done. +Writing objects: 100% (1/1), 169 bytes | 169.00 KiB/s, done. +Total 1 (delta 0), reused 0 (delta 0) +To https://github.com/olliefr/docker-gs-ping.git + * [new tag] 0.0.1 -> 0.0.1 +``` + +This means our tag was successfully pushed to the main repo. If we switch to the GitHub UI, we would see that the workflow has already been triggered: + +![GitHub Secrets](images/triggerontag.png){:width="500px"} + +Plot twist! Despite having explained how to add secrets to the repository, we had forgotten to do it ourselves. And the workflow run results in error: + +![GitHub Secrets](images/loginerror.png){:width="500px"} + +That's easy to fix. We follow our own guide and add the secrets to the repository settings. But how do we re-run the workflow? We need to remove the tag and reapply it. + +To remove the tag on the `remote`: + +```shell +$ git push origin :refs/tags/0.0.1 +To https://github.com/olliefr/docker-gs-ping.git + - [deleted] 0.0.1 +``` + +And to re-apply it locally and push: + +```shell +$ git tag -fa 0.0.1 -m "Test release workflow" +Updated tag '0.0.1' (was d7d3edc) +$ git push origin --tags +Enumerating objects: 1, done. +Counting objects: 100% (1/1), done. +Writing objects: 100% (1/1), 170 bytes | 170.00 KiB/s, done. +Total 1 (delta 0), reused 0 (delta 0) +To https://github.com/olliefr/docker-gs-ping.git + * [new tag] 0.0.1 -> 0.0.1 +``` + +And the workflow is triggered again. This time it completes without issues: + +![GitHub Secrets](images/cdsuccess.png){:width="500px"} + +Since the image we've just pushed to Docker Hub is public, now it can be pulled by anyone, from anywhere: + +```shell +$ docker pull olliefr/docker-gs-ping +Using default tag: latest +latest: Pulling from olliefr/docker-gs-ping +540db60ca938: Already exists +adcc1eea9eea: Already exists +4c4ab2625f07: Already exists +c5e7595549f7: Pull complete +3df88182f7ac: Pull complete +56c9181b0012: Pull complete +04b91de9e9ed: Pull complete +7a1dde643d3d: Pull complete +f815a8b426ad: Pull complete +7a6b1ee48c34: Pull complete +ca1a2b73aa81: Pull complete +Digest: sha256:81bedd562952757322a07a26634b01e3916db375cc695843124f79641e433029 +Status: Downloaded newer image for olliefr/docker-gs-ping:latest +docker.io/olliefr/docker-gs-ping:latest +``` + +We've just build a simple (maybe even naive) CI/CD workflow. There are many ways in which it can be improved. We'll look at some of these ways in the next section. + +## Optimizing the workflow + +Next, let’s look at how we can optimize the GitHub Actions workflow through build cache. This has two main advantages: + +1. Build cache reduces the build time as it will not have to re-download all of the images, and +2. It also reduces the number of pulls we complete against Docker Hub. We need to make use of GitHub cache to make use of this. + +Let us set up a Builder with a build cache. First, we need to set up the builder, and then to configure the cache. In this example, let us add the path and keys to store this under using GitHub cache for this. + +{% raw %} +```yaml + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + + - name: Cache Docker layers + uses: actions/cache@v2 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- +``` +{% endraw %} + +And lastly, after adding the builder and build cache snippets to the top of the Actions file, we need to add some extra attributes to the build and push step. This involves: + +* Setting up the builder to use the output of the buildx step, and then +* Using the cache we set up earlier for it to store to and to retrieve + +{% raw %} +```yaml + - name: Build and push + id: docker_build + uses: docker/build-push-action@v2 + with: + builder: ${{ steps.buildx.outputs.name }} + push: false + load: true + tags: ${{ github.event.repository.name }}:latest, ${{ github.repository }}:latest + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache +``` +{% endraw %} + +Now, run the CI workflow again and verify that it uses the build cache by checking the workflow log. + +## Wrap up + +GitHub Actions are an immensely powerful way to automate your CI and CD pipelines, and [there is a lot of documentation](https://docs.github.com/en/actions) to aid you in that mission. It is not, however, the _only_ way to integrate containers into your workflow. The aim of this section was to show you some of the basic things that are possible. There is a multitude of CI and CD tools on the market and you are very welcome to investigate what integration with the container ecosystem they provide. Well defined, automated CI pipelines can save you and your team a lot of effort. + +## Next steps + +In this module, you have learnt how to set up GitHub Actions workflow to an existing dockerized Go project, optimize your workflow to improve build times and reduce the number of pull requests, and finally, we learnt how to push only specific versions to Docker Hub. + +You can also consider deploying your application to a public Cloud provider, such as Azure and AWS. + +In the next module, we’ll look into some options for doing so: + +[Deploy to the Cloud](deploy.md){: .button .outline-btn} + +## Feedback + +Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates. + +
diff --git a/language/golang/deploy.md b/language/golang/deploy.md new file mode 100644 index 0000000000..66374381f8 --- /dev/null +++ b/language/golang/deploy.md @@ -0,0 +1,29 @@ +--- +title: "Configure CI/CD for your application" +keywords: CI/CD, GitHub Actions, Go, Golang, cloud, deployment +description: Learn how to deploy your application to the Cloud. +--- + +{% include_relative nav.html selected="6" %} + +Now, that we have configured a CI/CD pipleline, let's look at how we can deploy the application to cloud. Docker supports deploying containers on Azure ACI and AWS ECS. + +## Docker and Azure ACI + +The Docker Azure Integration enables developers to use native Docker commands to run applications in Azure Container Instances (ACI) when building cloud-native applications. The new experience provides a tight integration between Docker Desktop and Microsoft Azure allowing developers to quickly run applications using the Docker CLI or VS Code extension, to switch seamlessly from local development to cloud deployment. + +For detailed instructions, see [Deploying Docker containers on Azure](/cloud/aci-integration/). + +## Docker and AWS ECS + +The Docker ECS Integration enables developers to use native Docker commands in Docker Compose CLI to run applications in Amazon EC2 Container Service (ECS) when building cloud-native applications. + +The integration between Docker and Amazon ECS allows developers to use the Docker Compose CLI to set up an AWS context in one Docker command, allowing you to switch from a local context to a cloud context and run applications quickly and easily simplify multi-container application development on Amazon ECS using Compose files. + +For detailed instructions, see [Deploying Docker containers on ECS](/cloud/ecs-integration.md). + +## Feedback + +Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates. + +
diff --git a/language/golang/develop.md b/language/golang/develop.md new file mode 100644 index 0000000000..cf9770c9f0 --- /dev/null +++ b/language/golang/develop.md @@ -0,0 +1,749 @@ +--- +title: "Use containers for development" +keywords: get started, go, golang, local, development +description: Learn how to develop your application locally. +redirect_from: +- /get-started/golang/develop/ +--- + +{% include_relative nav.html selected="3" %} + +## Prerequisites + +Work through the steps of the [run your image as a container](run-containers.md) module to learn how to manage the lifecycle of your containers. + +## Introduction + +In this module, we'll take a look at running a database engine in a container and connecting it to the extended version of the example application. We are going to see some options for keeping persistent data and for wiring up the containers to talk to one another. Finally, we'll learn how to use Docker Compose to manage such multi-container local development environments effectively. + +## Local database and containers + +The database engine we are going to use is called [CockroachDB](https://www.cockroachlabs.com/product/). It is a modern, Cloud-native, distributed SQL database. + +Instead of compiling CockroachDB from the source code or using the operating system's native package manager to install CockroachDB, we are going to use the [Docker image for CockroachDB](https://hub.docker.com/r/cockroachdb/cockroach) and run it in a container. + +CockroachDB is compatible with PostgreSQL to a significant extent, and shares many conventions with the latter, particularly the default names for the environment variables. So, if you are familiar with Postgres, don't be surprised that we are going to use some familiar environment variables names. The Go modules that work with Postgres, such as [pgx](https://pkg.go.dev/github.com/jackc/pgx), [pq](https://pkg.go.dev/github.com/lib/pq), [GORM](https://gorm.io/index.html), and [upper/db](https://upper.io/v4/) also work with CockroachDB. + +For more information on the relation between Go and CockroachDB, please refer to the [CockroachDB documentation](https://www.cockroachlabs.com/docs/v20.2/build-a-go-app-with-cockroachdb.html), although this is not necessary to continue with the present guide. + +### Storage + +The point of a database is to have a persistent store of data. [Volumes](../../storage/volumes/) are the preferred mechanism for persisting data generated by and used by Docker containers. Thus, before we start CockroachDB, let's create the volume for it. + +To create a managed volume, run : + +```shell +$ docker volume create roach +roach +``` + +We can view the list of all managed volumes in our Docker instance with the following command: + +```shell +$ docker volume list +DRIVER VOLUME NAME +local roach +``` + +### Networking + +The example application and the database engine are going to talk to one another over the network. There are different kinds of network configuration possible, and we are going to use what is called a user-defined _bridge network_. It is going to provide us with a DNS lookup service so that we can refer to our database enginer container by its host name. + +The following command creates a new bridge network named `mynet`: + +```shell +$ docker network create -d bridge mynet +51344edd6430b5acd121822cacc99f8bc39be63dd125a3b3cd517b6485ab7709 +``` + +As it was the case with the managed volumes, there is a command to list all networks set up in your Docker instance: + +```shell +$ docker network list +NETWORK ID NAME DRIVER SCOPE +0ac2b1819fa4 bridge bridge local +51344edd6430 mynet bridge local +daed20bbecce host host local +6aee44f40a39 none null local +``` + +Our bridge network `mynet` has been created successfully. The other three networks, named `bridge`, `host`, and `none` are the _default_ networks and they had been created by the Docker itself. While it is not relevant to our current discussion, you can learn more about Docker networking in the [networking overview](../../network/) section. + +### Choose good names for volumes and networks + +As the saying goes, there are only two hard things in Computer Science: cache invalidation and naming things. And off-by-one errors. + +When choosing a name for a network or a managed volume, it's best to choose a name which is indicative of the intended purpose. In this module, though, we aimed for brevity, so we settled for short, generic names. + +### Start the database engine + +Now that the housekeeping chores are done, we can run CockroachDB in a container and attach it to the volume and network we had just created. When you run the folllowing command, Docker will pull the image from Docker Hub and run it for you locally: + +```shell +$ docker run -d \ + --name roach \ + --hostname db \ + --network mynet \ + -p 26257:26257 \ + -p 8080:8080 \ + -v roach:/cockroach/cockroach-data \ + cockroachdb/cockroach:latest-v20.1 start-single-node \ + --insecure + +# ... output omitted ... +``` + +Notice a clever use of the tag `latest-v20.1` to make sure that we are pulling the latest patch version of 20.1. The diversity of available tags depend on the image maintainer. Here, our intent was to have the latest patched version of CockroachDB while not straying too far away from the known working version as the time goes by. To see the tags available for CockroachDB image, we went to [CockroachDB page on Docker Hub](https://hub.docker.com/r/cockroachdb/cockroach/tags). + +### Configure the database engine + +Now that the database engine is live, there is some configuration to do before our application can begin using it. Fortunately, it's not a lot. We must: + +1. Create a blank database. +2. Register a new user account with the database engine. +3. Grant that new user access rights to the database. + +We can do that with the help of CockroachDB built-in SQL shell. To start the SQL shell in the _same_ container where the database engine is running, type: + +```shell +$ docker exec -it roach ./cockroach sql --insecure +``` + +1. In the SQL shell, create the database that our example application is going to use: + + ```sql + CREATE DATABASE mydb; + ``` + +2. Register a new SQL user account with the database engine. We pick the username `totoro`. + + ```sql + CREATE USER totoro; + ``` + +3. Give the new user the necessary permissions: + + ```sql + GRANT ALL ON DATABASE mydb TO totoro; + ``` + +4. Type `quit` to exit the shell. + +An example of interaction with the SQL shell is presented below. + +{% raw %} +``` +oliver@hki:~$ sudo docker exec -it roach ./cockroach sql --insecure +# +# Welcome to the CockroachDB SQL shell. +# All statements must be terminated by a semicolon. +# To exit, type: \q. +# +# Server version: CockroachDB CCL v20.1.15 (x86_64-unknown-linux-gnu, built 2021/04/26 16:11:58, go1.13.9) (same version as client) +# Cluster ID: 7f43a490-ccd6-4c2a-9534-21f393ca80ce +# +# Enter \? for a brief introduction. +# +root@:26257/defaultdb> CREATE DATABASE mydb; +CREATE DATABASE + +Time: 22.985478ms + +root@:26257/defaultdb> CREATE USER totoro; +CREATE ROLE + +Time: 13.921659ms + +root@:26257/defaultdb> GRANT ALL ON DATABASE mydb TO totoro; +GRANT + +Time: 14.217559ms + +root@:26257/defaultdb> quit +oliver@hki:~$ +``` +{% endraw %} + +### Meet the example application + +Now that we have started and configured the database engine, we can swith our attention to the application. + +The example application for this module is an extended version of `docker-gs-ping` application we've used in the previous modules. You have two options: + +* You can update your local copy of `docker-gs-ping` to match the new extended version presented in this chapter; or +* You can clone the [olliefr/docker-gs-ping-roach](https://github.com/olliefr/docker-gs-ping-roach) repo. This latter approach is recommended. + +To checkout the example application, run: + +```shell +$ git clone https://github.com/olliefr/docker-gs-ping-roach.git +# ... output omitted ... +``` + +The application's `main.go` now includes database initialisation code, as well as the code to implement a new business requirement: + +* An HTTP `POST` request to `/send` containing a `{ "value" : string }` JSON must save the value to the database. + +We also have an update for another business requirement. The requirement _was_: + +* The application responds with a text message containing a heart symbol ("`<3`") on requests to `/`. + +And _now_ it's going to be: + +* The application responds with the string containing the count of messages stored in the database, enclosed in the parentheses. + + Example output: `Hello, Docker! (7)` + +The full source code listing of `main.go` follows. + +{% raw %} +```go +package main + +import ( + "context" + "database/sql" + "fmt" + "log" + "net/http" + "os" + + "github.com/cenkalti/backoff/v4" + "github.com/cockroachdb/cockroach-go/v2/crdb" + "github.com/labstack/echo/v4" + "github.com/labstack/echo/v4/middleware" +) + +func main() { + + e := echo.New() + + e.Use(middleware.Logger()) + e.Use(middleware.Recover()) + + db, err := initStore() + if err != nil { + log.Fatalf("failed to initialise the store: %s", err) + } + defer db.Close() + + e.GET("/", func(c echo.Context) error { + return rootHandler(db, c) + }) + + e.GET("/ping", func(c echo.Context) error { + return c.JSON(http.StatusOK, struct{ Status string }{Status: "OK"}) + }) + + e.POST("/send", func(c echo.Context) error { + return sendHandler(db, c) + }) + + httpPort := os.Getenv("HTTP_PORT") + if httpPort == "" { + httpPort = "8080" + } + + e.Logger.Fatal(e.Start(":" + httpPort)) +} + +type Message struct { + Value string `json:"value"` +} + +func initStore() (*sql.DB, error) { + + pgConnString := fmt.Sprintf("host=%s port=%s dbname=%s user=%s password=%s sslmode=disable", + os.Getenv("PGHOST"), + os.Getenv("PGPORT"), + os.Getenv("PGDATABASE"), + os.Getenv("PGUSER"), + os.Getenv("PGPASSWORD"), + ) + + var ( + db *sql.DB + err error + ) + openDB := func() error { + db, err = sql.Open("postgres", pgConnString) + return err + } + + err = backoff.Retry(openDB, backoff.NewExponentialBackOff()) + if err != nil { + return nil, err + } + + if _, err := db.Exec( + "CREATE TABLE IF NOT EXISTS message (value STRING PRIMARY KEY)"); err != nil { + return nil, err + } + + return db, nil +} + +func rootHandler(db *sql.DB, c echo.Context) error { + r, err := countRecords(db) + if err != nil { + return c.HTML(http.StatusInternalServerError, err.Error()) + } + return c.HTML(http.StatusOK, fmt.Sprintf("Hello, Docker! (%d)\n", r)) +} + +func sendHandler(db *sql.DB, c echo.Context) error { + + m := &Message{} + + if err := c.Bind(m); err != nil { + return c.JSON(http.StatusInternalServerError, err) + } + + err := crdb.ExecuteTx(context.Background(), db, nil, + func(tx *sql.Tx) error { + _, err := tx.Exec( + "INSERT INTO message (value) VALUES ($1) ON CONFLICT (value) DO UPDATE SET value = excluded.value", + m.Value, + ) + if err != nil { + return c.JSON(http.StatusInternalServerError, err) + } + return nil + }) + + if err != nil { + return c.JSON(http.StatusInternalServerError, err) + } + + return c.JSON(http.StatusOK, m) +} + +func countRecords(db *sql.DB) (int, error) { + + rows, err := db.Query("SELECT COUNT(*) FROM message") + if err != nil { + return 0, err + } + defer rows.Close() + + count := 0 + for rows.Next() { + if err := rows.Scan(&count); err != nil { + return 0, err + } + rows.Close() + } + + return count, nil +} +``` +{% endraw %} + +The repository also includes the `Dockerfile`, which is almost exactly the same as the multi-stage `Dockerfile` introduced in the previous modules. It uses official Docker Go image to build the application and then builds the final image by placing the compiled binary into the much slimmer, "distroless" image. + +Regardless of whether we had updated the old example application, or checked out the new one, this new Docker image has to be built to reflect the changes to the application source code. + +### Build the application + +We can build the image with the familiar `build` command: + +```shell +$ docker build --tag docker-gs-ping-roach . +``` + +### Run the application + +Now, let’s run our container. This time we’ll need to set some environment variables so that our application would know how to access the database. For now, we’ll do this right in the `docker run` command. Later we will see a more convenient method with Docker Compose. + +> **Note** +> +> Since we are running our CockroachDB cluster in "insecure" mode, the value for the password can be anything. +> +> **Don't run in insecure mode in production, though!** + +```shell +$ docker run -it --rm -d \ + --network mynet \ + --name rest-server \ + -p 80:8080 \ + -e PGUSER=totoro \ + -e PGPASSWORD=myfriend \ + -e PGHOST=db \ + -e PGPORT=26257 \ + -e PGDATABASE=mydb \ + docker-gs-ping-roach +``` + +There are a few points to note about this command. + +* We map container port `8080` to host port `80` this time. Thus, for `GET` requests we can get away with _literally_ `curl localhost`: + + ```shell + $ curl localhost + Hello, Docker! (0) + ``` + + Or, if you prefer, a proper URL would work just as well: + + ```shell + $ curl http://localhost/ + Hello, Docker! (0) + ``` + +* The total number of stored messages is `0` for now. This is fine, because we had not posted anything to our application yet. +* We refer to the database container by its hostname, which is `db`. This is what we had the `--name db` for when we started the database container. + +* The actual password does not matter, but it must be set to something to avoid confusing the example application. +* The container we've just run is named `rest-server`. These names are useful for managing the container lifecycle: + + ```shell + # Don't do this just yet, it's only an example: + $ docker container rm --force rest-server + ``` + +### Test the application + +In the previous section, we have already tested querying our application with `GET` and it returned zero for the stored message counter. Now, let's post some messages to it: + +```shell +$ curl --request POST \ + --url http://localhost/send \ + --header 'content-type: application/json' \ + --data '{"value": "Hello, Docker!"}' +``` + +The application responds with the contents of the message, which means it had been saved in the database: + +```json +{"value":"Hello, Docker!"} +``` + +Let's send another message: + +```shell +$ curl --request POST \ + --url http://localhost/send \ + --header 'content-type: application/json' \ + --data '{"value": "Hello, Oliver!"}' +``` + +And again, we get the value of the message back: + +```shell +{"value":"Hello, Oliver!"} +``` + +Let's see what the message counter says: + +```shell +$ curl localhost +Hello, Docker! (2) +``` + +Hey, that's exactly right! We sent two messages and the database kept them. Or has it? Let's stop and remove all our containers, but not the volumes, and try again. + +First, let's stop the containers: + +```shell +$ docker container stop rest-server roach +rest-server +roach +``` + +Then, let's remove them: + +```shell +$ docker container rm rest-server roach +rest-server +roach +``` + +Verify that they are gone: + +```shell +$ docker container list --all +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +``` + +And start them again, database first: + +```shell +docker run -d \ + --name roach \ + --hostname db \ + --network mynet \ + -p 26257:26257 \ + -p 8080:8080 \ + -v roach:/cockroach/cockroach-data \ + cockroachdb/cockroach:latest-v20.1 start-single-node \ + --insecure +``` + +And the service next: + +```shell +docker run -it --rm -d \ + --network mynet \ + --name rest-server \ + -p 80:8080 \ + -e PGUSER=totoro \ + -e PGPASSWORD=myfriend \ + -e PGHOST=db \ + -e PGPORT=26257 \ + -e PGDATABASE=mydb \ + docker-gs-ping-roach +``` + +Lastly, let's query our service: + +```shell +$ curl localhost +Hello, Docker! (2) +``` + +Great! The count of records from the database is correct although we had not only _stopped_ the containers, but also removed them before starting new instances. The difference is in the managed volume for CockroachDB, which we had reused. The new CockroachDB container has read the database files from the disk, just as it normally would if it were running outside the container. + +Such is the power of managed volumes. Use it wisely. + +### Wind down everything + +Remember, that we are running CockroachDB in "insecure" mode. Now that we had built and tested our application, it's time to wind everything down before moving on. You can list the containers that you are running with the `list` command: + +```shell +$ docker container list +``` + +Now that you know the container IDs, you can use `docker container stop` and `docker container rm`, as demonstrated in the previous modules. + +Please make sure that you stop the CockroachDB and `docker-gs-ping-roach` containers before moving on. + +## Better productivity with Docker Compose + +At this point you might be wondering if there is a way to avoid having to deal with long lists of argument to the `docker` command. The toy example we used in this series requires five environment variables to define the connection to the database. A real application might need many, _many_ more. Then there is also a question of dependencies – ideally, we would like to make sure that the database is started _before_ our application is run. And spinning up the database instance may require another Docker command with many options. But there is a better way to orchestrate these deployments for local development purposes. + +In this section, we’ll create a Docker Compose file to start our `docker-gs-ping-roach` application and CockroachDB database engine with a single command. + +### Configure Docker Compose + +In our application's directory, create a new text file named `docker-compose.yml` with the following content. + +{% raw %} +```yaml +version: '3.8' + +services: + docker-gs-ping-roach: + depends_on: + - roach + build: + context: . + container_name: rest-server + hostname: rest-server + networks: + - mynet + ports: + - 80:8080 + environment: + - PGUSER=${PGUSER:-totoro} + - PGPASSWORD=${PGPASSWORD:?database password not set} + - PGHOST=${PGHOST:-db} + - PGPORT=${PGPORT:-26257} + - PGDATABASE=${PGDATABASE-mydb} + deploy: + restart_policy: + condition: on-failure + roach: + image: cockroachdb/cockroach:latest-v20.1 + container_name: roach + hostname: db + networks: + - mynet + ports: + - 26257:26257 + - 8080:8080 + volumes: + - roach:/cockroach/cockroach-data + command: start-single-node --insecure + +volumes: + roach: + +networks: + mynet: + driver: bridge +``` +{% endraw %} + +This Docker Compose configuration is super convenient as we do not have to type all the parameters to pass to the `docker run` command. We can declaratively do that in the Docker Compose file. The [Docker Compose documentation pages](../../compose/index.md) are quite extensive and include a full reference for the Docker Compose file format. + +### The `.env` file + +Docker Compose will automatically read environment variables from a `.env` file if it is available. Since our Compose file requires `PGPASSWORD` to be set, we add the following content to the `.env` file: + +``` +PGPASSWORD=whatever +``` + +The exact value does not really matter for our example, because we run CockroachDB in `insecure` mode, but we have to set the variable to _some_ value to avoid getting an error. + +### Merging Compose files + +The file name `docker-compose.yml` is the default file name which `docker-compose` command recognises if no `-f` flag is provided. This means you can have multiple Docker Compose files if your environment has such requirements. Furthermore, Docker Compose files are... composable (pun intended), so multiple files can be specified on the command line to merge parts of configuration together. The following list is just a few examples of scenarios where such feature would be very useful: + +* Using a bind mount for the source code for local development but not when running the CI tests; +* Switching between using a pre-built image for the frontend for some API application vs creating a bind mount for source code; +* Adding additional services for integration testing; +* And many more... + +We are not going to cover any of these advanced use cases here. + +### Variable substitution in Docker Compose + +One of the really cool features of Docker Compose is [variable substitution](../../compose/compose-file/compose-file-v3/#variable-substitution). You can see some example in our Compose file, `environment` section. By means of example: + +* `PGUSER=${PGUSER:-totoro}` means that inside the container, the environment variable `PGUSER` shall be set to the same value as it has on the host machine where Docker Compose is run. If there is no environment variable with this name on the host machine, the variable inside the container gets the default value of `totoro`. +* `PGPASSWORD=${PGPASSWORD:?database password not set}` means that if the environment variable `PGPASSWORD` is not set on the host, Docker Compose will display an error. This is OK, because we don't want to hard-code default values for the password. We set the password value in the `.env` file, which is local to our machine. It is always a good idea to add `.env` to `.gitignore` to prevent the secrets being checked into the version control. + +Other ways of dealing with undefined or empty values exist, as documented in the [variable substitution](../../compose/compose-file/compose-file-v3/#variable-substitution) section of the Docker documentation. + +### Validating Docker Compose configuration + +Before you apply changes made to a Compose configuration file, there is an opportunity to validate the content of the configuration file with the following command: + +```shell +$ docker-compose config +``` + +When this command is run, Docker Compose would read the file `docker-compose.yml`, parse it into a data structure in memory, validate where possible, and print back the _reconstruction_ of that configuration file from its internal representation. If this is not possible due to errors, it would print an error message instead. + +### Build and run the application using Docker Compose + +Let’s start our application and confirm that it is running properly. + +```shell +$ docker-compose up --build +``` + +We pass the `--build` flag so Docker will compile our image and then starts it. + +> **Note** +> +> Docker Compose is a useful tool, but it has its own quirks. For example, no rebuild is triggered on update to the source code unless the `--build` flag is provided. It is a very common pitfall to edit one's source code, and forget to use the `--build` flag when running `docker-compose up`. + +Since our set-up is now run by Docker Compose, it has assigned it a "project name", so we got a new volume for our CockroachDB instance. This means that our application would fail to connect to the database, because the database does not exist in this new volume. The terminal would display an authentication error for the database: + +``` +# ... omitted output ... +rest-server | 2021/05/10 00:54:25 failed to initialise the store: pq: password authentication failed for user totoro +roach | * +roach | * INFO: Replication was disabled for this cluster. +roach | * When/if adding nodes in the future, update zone configurations to increase the replication factor. +roach | * +roach | CockroachDB node starting at 2021-05-10 00:54:26.398177 +0000 UTC (took 3.0s) +roach | build: CCL v20.1.15 @ 2021/04/26 16:11:58 (go1.13.9) +roach | webui: http://db:8080 +roach | sql: postgresql://root@db:26257?sslmode=disable +roach | RPC client flags: /cockroach/cockroach --host=db:26257 --insecure +roach | logs: /cockroach/cockroach-data/logs +roach | temp dir: /cockroach/cockroach-data/cockroach-temp349434348 +roach | external I/O path: /cockroach/cockroach-data/extern +roach | store[0]: path=/cockroach/cockroach-data +roach | storage engine: rocksdb +roach | status: initialized new cluster +roach | clusterID: b7b1cb93-558f-4058-b77e-8a4ddb329a88 +roach | nodeID: 1 +rest-server exited with code 0 +rest-server | 2021/05/10 00:54:25 failed to initialise the store: pq: password authentication failed for user totoro +rest-server | 2021/05/10 00:54:26 failed to initialise the store: pq: password authentication failed for user totoro +rest-server | 2021/05/10 00:54:29 failed to initialise the store: pq: password authentication failed for user totoro +rest-server | 2021/05/10 00:54:25 failed to initialise the store: pq: password authentication failed for user totoro +rest-server | 2021/05/10 00:54:26 failed to initialise the store: pq: password authentication failed for user totoro +rest-server | 2021/05/10 00:54:29 failed to initialise the store: pq: password authentication failed for user totoro +rest-server exited with code 1 +# ... omitted output ... +``` + +Because of the way we set up our deployment using `restart_policy`, the failing container is being restarted every 20 seconds. So, in order to fix the problem, we need to log into the database engine and create the user, we've done it before in the [] + +This is not a big deal. All we have to do is to connect to CockroachDB instance and run the three SQL commands to create the database and the user, as described above in the _Configure the database engine_ section above. + +So we login into the database engine from another terminal: + +```shell +$ docker exec -it roach ./cockroach sql --insecure +``` + +And execute the same commands as before to create the database `mydb`, the user `totoro`, and to grant that user necessary permissions. Once we do that (and the example application container is automatically restarted), the `rest-service` stops failing and restarting and the console goes quiet. + +It would have been possible to connect the volume that we had previously used, but for the purposes of our example it's more trouble than it's worth and it also provided an opportunity to show how to introduce resilience into our deployment via the `restart_policy` Compose file feature. + +### Testing the application + +Now let’s test our API endpoint. In the new terminal, run the following command: + +```shell +$ curl http://localhost/ +``` + +You should receive the following response: + +```json +Hello, Docker! (0) +``` + +### Shutting down + +To _stop_ the containers started by Docker Compose, press ctrl+c in the terminal where we run `docker-compose up`. To _remove_ those containers after they had been stopped, run `docker-compose down`. + +### Detached mode + +You can run containers started by the `docker-compose` command in detached mode, just as you would with the `docker` command, by using the `-d` flag. + +To start the stack, defined by the Compose file in detached mode, run: + +```shell +$ docker-compose up --build -d +``` + +Then, you can use `docker-compose stop` to stop the containers and `docker-compose down` to remove them. + +## Further exploration + +We would suggest running `docker-compose` to see what other commands are available. + +## Wrap up + +There are some tangential, yet interesting points that were purposefully not covered in this chapter. For the more adventurous reader, this section offers some pointers for further study. + +### Persistent storage + +A _managed volume_ isn't the only way to provide your container with persistent storage. It is highly recommended to get acquainted with available storage options and their use cases, covered in the following part of Docker documentation: [Manage data in Docker](../storage/index.md). + +### CockroachDB clusters + +We run a single instance of CockroachDB, which was enough for our demonstration. But it is possible to run a CockroachDB _cluster_, which is made of multiple instances of CockroachDB, each instance running in its own container. Since CockroachDB engine is distributed by design, it would have taken us surprisingly little change to our procedure to run a cluster with multiple nodes. + +Such distributed set-up offers interesting possibilities, such as applying _Chaos Engineering_ techniques to simulate parts of the cluster failing and evaluating our application's ability to cope with such failures. + +If you are interested in experimenting with CockroachDB clusters, check out: + +* [Start a CockroachDB Cluster in Docker](https://www.cockroachlabs.com/docs/v20.2/start-a-local-cluster-in-docker-mac.html) article; and +* Documentation for Docker Compose keywords [`deploy`](../../compose/compose-file/compose-file-v3/#deploy) and [`replicas`](../../compose/compose-file/compose-file-v3/#replicas). + +### Other databases + +Since we did not run a cluster of CockroachDB instances, you might be wondering whether we could have used a non-distributed database engine. The answer is 'yes', and if we were to pick a more traditional SQL database, such as [PostgreSQL](https://www.postgresql.org/), the process described in this chapter would have been very similar. + +## Next steps + +In this module, we set up a containerised development environment with our application and the database engine running in different containers. We also wrote a Docker Compose file which links the two containers together and provides for easy starting up and tearing down of the development environment. + +In the next module, we’ll take a look at one possible approach to running functional tests in Docker. See: + +[Run your tests](run-tests.md){: .button .outline-btn} + +## Feedback + +Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates. + +
diff --git a/language/golang/images/cdsuccess.png b/language/golang/images/cdsuccess.png new file mode 100644 index 0000000000000000000000000000000000000000..59c13c8948e755c5389e30d338ec032171c0ae4c GIT binary patch literal 34107 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 literal 0 HcmV?d00001 diff --git a/language/golang/images/runworkflow.png b/language/golang/images/runworkflow.png new file mode 100644 index 0000000000000000000000000000000000000000..6924a15a8fa7909b73c0e72e91b90c84e9c6a3cd GIT binary patch literal 63476 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�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 H6!5 diff --git a/language/golang/nav.html b/language/golang/nav.html new file mode 100644 index 0000000000..25d734bb56 --- /dev/null +++ b/language/golang/nav.html @@ -0,0 +1,8 @@ + diff --git a/language/golang/run-containers.md b/language/golang/run-containers.md new file mode 100644 index 0000000000..7be3e27147 --- /dev/null +++ b/language/golang/run-containers.md @@ -0,0 +1,216 @@ +--- +title: "Run your image as a container" +keywords: get started, go, golang, run, container +description: Learn how to run the image as a container. +redirect_from: +- /get-started/golang/run-containers/ +--- + +{% include_relative nav.html selected="2" %} + +## Prerequisites + +Work through the steps to dockerize a Go application in [Build your Go image](build-images.md). + +## Overview + +In the previous module we created a `Dockerfile` for our example application and then we created our Docker image using the command `docker build`. Now that we have the image, we can run that image and see if our application is running correctly. + +A container is a normal operating system process except that this process is isolated and has its own file system, its own networking, and its own isolated process tree separate from the host. + +To run an image inside of a container, we use the `docker run` command. It requires one parameter and that is the image name. Let’s start our image and make sure it is running correctly. Execute the following command in your terminal. + +```shell +$ docker run docker-gs-ping +``` + +``` + ____ __ + / __/___/ / ___ + / _// __/ _ \/ _ \ +/___/\__/_//_/\___/ v4.2.2 +High performance, minimalist Go web framework +https://echo.labstack.com +____________________________________O/_______ + O\ +⇨ http server started on [::]:8080 +``` + +When you run this command, you’ll notice that you were not returned to the command prompt. This is because our application is a REST server and will run in a loop waiting for incoming requests without return control back to the OS until we stop the container. + +Let’s make a GET request to the server using the curl command. + +```shell +$ curl http://localhost:8080/ +curl: (7) Failed to connect to localhost port 8080: Connection refused +``` + +Our curl command failed because the connection to our server was refused. Meaning that we were not able to connect to localhost on port 8080. This is expected because our container is run in isolation which includes networking. Let’s stop the container and restart with port 8080 published on our local network. + +To stop the container, press ctrl-c. This will return you to the terminal prompt. + +To publish a port for our container, we’ll use the `--publish` flag (`-p` for short) on the docker run command. The format of the `--publish` command is `[host_port]:[container_port]`. So if we wanted to expose port `8080` inside the container to port `3000` outside the container, we would pass `3000:8080` to the `--publish` flag. + +Start the container and expose port `8080` to port `8080` on the host. + +```shell +$ docker run --publish 8080:8080 docker-gs-ping +``` + +Now let’s rerun the curl command from above. + +```shell +$ curl http://localhost:8080/ +Hello, Docker! <3 +``` + +Success! We were able to connect to the application running inside of our container on port 8000. Switch back to the terminal where your container is running and you should see the `GET` request logged to the console. + +Press **ctrl-c** to stop the container. + +## Run in detached mode + +This is great so far, but our sample application is a web server and we should not have to have our terminal connected to the container. Docker can run your container in detached mode, that is in the background. To do this, we can use the `--detach` or `-d` for short. Docker will start your container the same as before but this time will “detach” from the container and return you to the terminal prompt. + +```shell +$ docker run -d -p 8080:8080 docker-gs-ping +d75e61fcad1e0c0eca69a3f767be6ba28a66625ce4dc42201a8a323e8313c14e +``` + +Docker started our container in the background and printed the container ID on the terminal. + +Again, let’s make sure that our container is running properly. Run the same `curl` command: + +```shell +$ curl http://localhost:8080/ +Hello, Docker! <3 +``` + +## List containers + +Since we ran our container in the background, how do we know if our container is running or what other containers are running on our machine? Well, we can run the `docker ps` command. Just like on Linux, to see a list of processes on your machine we would run the `ps` command. In the same spirit, we can run the `docker ps` command which will show us a list of containers running on our machine. + +```shell +$ docker ps +``` + +``` +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +d75e61fcad1e docker-gs-ping "/docker-gs-ping" 41 seconds ago Up 40 seconds 0.0.0.0:8080->8080/tcp inspiring_ishizaka +``` + +The `ps` command tells a bunch of stuff about our running containers. We can see the container ID, the image running inside the container, the command that was used to start the container, when it was created, the status, ports that are exposed, and the name of the container. + +You are probably wondering where the name of our container is coming from. Since we didn’t provide a name for the container when we started it, Docker generated a random name. We’ll fix this in a minute but first we need to stop the container. To stop the container, run the `docker stop` command which does just that, stops the container. You will need to pass the name of the container or you can use the container ID. + +```shell +$ docker stop inspiring_ishizaka +inspiring_ishizaka +``` + +Now rerun the `docker ps` command to see a list of running containers. + +```shell +$ docker ps +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +``` + +## Stop, start, and name containers + +Docker containers can be started, stopped and restarted. When we stop a container, it is not removed but the status is changed to stopped and the process inside of the container is stopped. When we ran the `docker ps` command, the default output is to only show running containers. If we pass the `--all` or `-a` for short, we will see all containers on our system, that is stopped containers and running containers. + +```shell +$ docker ps -a +``` + +``` +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +d75e61fcad1e docker-gs-ping "/docker-gs-ping" About a minute ago Exited (2) 23 seconds ago inspiring_ishizaka +f65dbbb9a548 docker-gs-ping "/docker-gs-ping" 3 minutes ago Exited (2) 2 minutes ago wizardly_joliot +aade1bf3d330 docker-gs-ping "/docker-gs-ping" 3 minutes ago Exited (2) 3 minutes ago magical_carson +52d5ce3c15f0 docker-gs-ping "/docker-gs-ping" 9 minutes ago Exited (2) 3 minutes ago gifted_mestorf +``` + +If you’ve been following along, you should see several containers listed. These are containers that we started and stopped but have not removed yet. + +Let’s restart the container that we have just stopped. Locate the name of the container and replace the name of the container below in the restart command: + +```shell +$ docker restart inspiring_ishizaka +``` + +Now, list all the containers again using the `ps` command: + +```shell +$ docker ps --all +``` + +``` +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +d75e61fcad1e docker-gs-ping "/docker-gs-ping" 2 minutes ago Up 5 seconds 0.0.0.0:8080->8080/tcp inspiring_ishizaka +f65dbbb9a548 docker-gs-ping "/docker-gs-ping" 4 minutes ago Exited (2) 2 minutes ago wizardly_joliot +aade1bf3d330 docker-gs-ping "/docker-gs-ping" 4 minutes ago Exited (2) 4 minutes ago magical_carson +52d5ce3c15f0 docker-gs-ping "/docker-gs-ping" 10 minutes ago Exited (2) 4 minutes ago gifted_mestorf +``` + +Notice that the container we just restarted has been started in detached mode and has port `8080` exposed. Also, note that the status of the container is “Up X seconds”. When you restart a container, it will be started with the same flags or commands that it was originally started with. + +Let’s stop and remove all of our containers and take a look at fixing the random naming issue. + +Stop the container we just started. Find the name of your running container and replace the name in the command below with the name of the container on your system: + +```shell +$ docker stop inspiring_ishizaka +inspiring_ishizaka +``` + +Now that all of our containers are stopped, let’s remove them. When a container is removed, it is no longer running nor is it in the stopped state. Instead, the process inside the container is terminated and the metadata for the container is removed. + +To remove a container, run the `docker rm` command passing the container name. You can pass multiple container names to the command in one command. + +Again, make sure you replace the containers names in the below command with the container names from your system: + +```shell +$ docker rm inspiring_ishizaka wizardly_joliot magical_carson gifted_mestorf +``` + +``` +inspiring_ishizaka +wizardly_joliot +magical_carson +gifted_mestorf +``` + +Run the `docker ps --all` command again to verify that all containers are gone. + +Now let’s address the pesky random name issue. Standard practice is to name your containers for the simple reason that it is easier to identify what is running in the container and what application or service it is associated with. Just like good naming conventions for variables in your code makes it simpler to read. So goes naming your containers. + +To name a container, we must pass the `--name` flag to the `run` command: + +```shell +$ docker run -d -p 8080:8080 --name rest-server docker-gs-ping +3bbc6a3102ea368c8b966e1878a5ea9b1fc61187afaac1276c41db22e4b7f48f +``` + +```shell +$ docker ps +``` + +``` +CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES +3bbc6a3102ea docker-gs-ping "/docker-gs-ping" 25 seconds ago Up 24 seconds 0.0.0.0:8080->8080/tcp rest-server +``` + +Now, we can easily identify our container based on the name. + +## Next steps + +In this module, we learned how to run containers and publish ports. We also learned to manage the lifecycle of containers. We then discussed the importance of naming our containers so that they are more easily identifiable. In the next module, we’ll learn how to run a database in a container and connect it to our application. See: + +[How to develop your application](develop.md){: .button .outline-btn} + +## Feedback + +Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs ](https://github.com/docker/docker.github.io/issues/new?title=[Golang %20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates. + +
diff --git a/language/golang/run-tests.md b/language/golang/run-tests.md new file mode 100644 index 0000000000..5fe3f4c913 --- /dev/null +++ b/language/golang/run-tests.md @@ -0,0 +1,117 @@ +--- +title: "Run your tests using Go test" +keywords: build, go, golang, test +description: How to build and run your Go tests in a container +redirect_from: +- /get-started/golang/run-tests/ +--- + +{% include_relative nav.html selected="4" %} + +Testing is an essential part of modern software development. Yet, testing can mean a lot of things to different development teams. In the name of brevity, we'll only take a look at running isolated, high-level, functional tests. + +## Test structure + +Each test is meant to verify a single business requirement for our example application. The following test is an excerpt from `main_test.go` test suite in our example application. + +{% raw %} +```go +func TestRespondsWithLove(t *testing.T) { + + pool, err := dockertest.NewPool("") + require.NoError(t, err, "could not connect to Docker") + + resource, err := pool.Run("docker-gs-ping", "latest", []string{}) + require.NoError(t, err, "could not start container") + + t.Cleanup(func() { + require.NoError(t, pool.Purge(resource), "failed to remove container") + }) + + var resp *http.Response + + err = pool.Retry(func() error { + resp, err = http.Get(fmt.Sprint("http://localhost:", resource.GetPort("8080/tcp"), "/")) + if err != nil { + t.Log("container not ready, waiting...") + return err + } + return nil + }) + require.NoError(t, err, "HTTP error") + defer resp.Body.Close() + + require.Equal(t, http.StatusOK, resp.StatusCode, "HTTP status code") + + body, err := io.ReadAll(resp.Body) + require.NoError(t, err, "failed to read HTTP body") + + // Finally, test the business requirement! + require.Contains(t, string(body), "<3", "does not respond with love?") +} +``` +{% endraw %} + +As you can see, this is a high-level test, unconcerned with the implementation details of our example application. + +* the test is using [`ory/dockertest`](https://github.com/ory/dockertest) Go module; +* the test assumes that the Docker engine instance is running on the same machine where the test is being run. + +The second test in `main_test.go` has almost identical structure but it tests _another_ business requirement of our application. You are welcome to have a look at all available tests in [`docker-gs-ping/main_test.go`](https://github.com/olliefr/docker-gs-ping/blob/main/main_test.go). + +## Run tests locally + +In order to run the tests, we must make sure that our application Docker image is up-to-date. + +```shell +docker build -t docker-gs-ping:latest . +``` + +``` +[+] Building 3.0s (13/13) FINISHED +... +``` + +In the above example we've omitted most of the output, only displaying the first line indicating that the build was successful. + +Note, that the image is tagged with `latest` which is the same label we've chosen to use in our `main_test.go` tests. + +Now that the Docker image for our application had been built, we can run the tests that depend on it: + +```shell +go test ./... +ok github.com/olliefr/docker-gs-ping 2.564s +``` + +That was a bit... underwhelming? Let's ask it to print a bit more detail, just to be sure: + +```shell +go test -v ./... +``` + +``` +=== RUN TestRespondsWithLove + main_test.go:47: container not ready, waiting... +--- PASS: TestRespondsWithLove (5.24s) +=== RUN TestHealthCheck + main_test.go:83: container not ready, waiting... +--- PASS: TestHealthCheck (1.40s) +PASS +ok github.com/olliefr/docker-gs-ping 6.670s +``` + +So, the tests do, indeed, pass. Note, how retrying using exponential back-off helped avoiding failing tests while the containers are being initialised. What happens in each test is that `ory/dockertest` module connects to the local Docker engine instance and instructs it to spin up a container using the image, identified by the tag `docker-gs-ping:latest`. Starting up a container may take a while, so our tests retry accessing the container until the container is ready to respond to requests. + +## Next steps + +In this module, we've seen an example of using Docker for isolated functional testing of an example Go application. There are many different ways to test an application and we have only considered the high-level, functional testing. This, however, feeds naturally into the next topic, where we are going to set up our tests to run in an automated pipeline. + +In the next module, we’ll take a look at how to set up a CI/CD pipeline using GitHub Actions. See: + +[Configure CI/CD](configure-ci-cd.md){: .button .outline-btn} + +## Feedback + +Help us improve this topic by providing your feedback. Let us know what you think by creating an issue in the [Docker Docs](https://github.com/docker/docker.github.io/issues/new?title=[Golang%20docs%20feedback]){:target="_blank" rel="noopener" class="_"} GitHub repository. Alternatively, [create a PR](https://github.com/docker/docker.github.io/pulls){:target="_blank" rel="noopener" class="_"} to suggest updates. + +
diff --git a/language/images/golang.png b/language/images/golang.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d98c3bde8f96b092a27a2b262117d66e6501c7 GIT binary patch literal 15475 zcmeHu^;eW%)bB9lfCvmJpnx<;Nh94UHHdUbt0*bmh}1}TH-m(N(w)*FrIetwfOK=u zeBbvUxIf%q?vl0OVa;>SK6{^CpR@OwaIMEmg!t6>5D0`&MOj`40>NU2Krm5wIN*~q zm0c3>fW1~WaDhO$8PUHO9)(iw5C}a)MP3Hsk+D6m>1?F*h1Glxf8@7mAc9oA&@k}S zMuPMsbc~a?89K3YFU2shlstg?aOM}jYE+iRejj;FU7%v`XHt%oBsNIXN!I0oFUhT= zvJ)}p?ZqXfc)a;Y!H&X z&4Nvqyw!ba(WzlBYt-J!;v=GZGvzwB?Zx?_4*sOg1F*9vFZ=GRZ$;iyp4H^&<~J#b zTI0JfkLo-VJ%i^z&cC|LPl{-h2IF1_)M!aPW{{5_VpDU<=3wI%7!2ursV7DIGL#59 z^{R39Hpk(IfGZd?#2nYYy#>aAq*-7eoHfB`8}{W3=zXatO$(#P`J5V7ao8C+kH-vI z;`|cy?s_fSi9^-@-sSzffA43v>8}-g#tlX-Hpo02B^3Z%8%rH2yGO zN&eA}j)>FPxwKXVV)C;IVJ@qDy=1}bjtu#Du!4Z~mPb!%-0CWfl`Ue$deUVsiUr7F zCtGWL^kzG|UNo48_;E}*nS6#w(pbip>*Pnz@J%qF#Bh_`$$@X=b_l7Ji~^R?&KDHx z9Fu$^Ac?SjF5|zNA&9%)ij`48d7u{Dn;Xv+vm5F60P`ZPHX4KFr8b1||@}7)3v-VR-pyynPthI$J1-mjZ8+#t4j% zj~$7gUXVrNOZ7LuSh4C&>5K2n*_EnF0_VKTh1!<)PuNA=B8j^JFprTSeDD>~dMf3l zhWlggT8;(brhN-+s)5?0=(P^KhsO+|q$n0@7I9`>IvtVRJ1nzsFsaZL=fZfFKXko} z1^GwyixQO##?FLOwF^-sE!eU?RR>GY3I^KH@#lFY9eDVz@u&t#FOOgHY#7o)fYm{0 zHvZF7eeS!Q6Z}CsSIb_{oPnn4jm1z-7J-@yu5Fbu^$`(xnqS`nF?dTa&pNaTIgTYm zNs%sOAB-wY3!hn68qpD;@*RR+gN=}N9hh{&XQG|VaThLy744jasJ37r z=HoFZK+JVYV}FODZ(;#sJqJRp^eqf`=Hs%}Kg7Q$HK!M5>ofOnDGiZ)&4)O!k2<&+05a-B24 zCZakj7=3gXjdzrJNqWVx7k}X}D6#?uUT>(ow{D$|uXp6THWTHELEUY#ED<-nO^{oq zMiuAP`}$DWjLMDoJ|DKHdI9((?r;$sUKKwi?q*d-6|4$_;KcUlT!da5G2(kSYAT5e zB+ zRYF8~V0|2w;!hj~9L5C5lKH&z+npJ(=O5+_ZE&GKB3285E90_OXGJ8 zRJD{ouIDvuBNvst(MM($E32z#Ok8$zWmL4NG?NNwD-~AHwo)_W9f@6W?@KpeuL}oa zS*-}SV_l5uLIZeIe=o14b;~^QGvrxayZ1F)peE$QRh8*rXsJ&;nB6+|;P$64APj2I zttq=8q;M+vJw)541*OdXz67RpElZCv`@CVGSrk8F`N{1T6-^jKvU(=${$VpIw_#H( z<9yZMF&^4~}#3lRxiB zrsd~|@l3d_>;a*3v?(sMqSpku_Zxq2cF|(%dHvwh4}wX$_+aM9Kw%~0mdz<?JFnSI;z4%_CEO^XV5+HW!90x7r%F=E-w$-y`N0xp@`!u9!viv)`{^1VZ z%T+YJ!Vu~>C@j*qWTJY!5(b9qW=+nKhRp+Srv6B-+;ljYYgnn)%z~iD(Ae}|MmTLp zb&9rNj6wpj1PXb={j|puy`eC>1s;%yJ{-x|C91*#gpBc+a_%VHU0F{mqeQ z1mOcw0qmQH^_94-U4Ob`z1Z*-VKGOAS|HYFSn0W1jS3rv)U1ebb z5e59;Dbso|j7-bS?jMU`rwB*`#*)=+YXW)j7TwhKjMv60G1+=je~5es zalAxcEdT2J0anYBr`17SdAbn738T?DDxU<+6TR>3=}v_ zZ=H%fOO*ML40fxdFwQOzYmaLrr~*%dQW>I|W0>a*_z8OXM;f}l?Ap)&-SImFXOvFr z5r51P*u{jQJ1@=Y;`P)DXr$(9Fm73lODEa`ec?}X>8s`i%0;!*?ShTp5TXxY5O?v` zYzD@Py_r`sP2{(o1V(BSAlBg8dh+`NyKj-n%2Uer|YpH0Y?rz_g z`9YiNABU;i{^ujVdgY|jL4+DfT`XQq9-=*OIFfN3oh5dOiT8&I z?#nXco9|XlWke3Gv>!|*rRJDzYAd_WxO)yACX()Z|&3Ev?2sg!->FkkTc z$T?eQRhgZ5$A96=^`65g)4@i$g~zqVCirD(PVrNw$;^Kq7q{kLWw_nXDH)eiJG=Ng z4P$0|{5`RLKP)u-5=`i95C`G{dYf~F^vij_LJ?_^?VoK2Jo(x$In&>SE zSQZ#EK^9FiT)yMdWKGBsakowxo%iDNClOo%dmqLi<-Ihyu9i8H?d&e4U+VR;dQ^W> zH^)~Fre~~I#_{en4Y;t%Bq@l3<-6^N_Zt{QHCK)aBjVhxvEb^=4?H!^_Oak@9*b{a zm7Y%7Na4(a&G3oCl>rA)KhdSc%?(6y`rbM07Bg<>0?(a`ZHkA!ivkH&Cdv0NB zKTL#^$-Q~Sa_rcglC4PC@Iwft1z=4|4S{EoyqLE)owm!1d=9#C?N6H=b;pS)|KSi) z1^n_Czc)hQWHMml)Gk$X1P6A_5|8PGMVH*hfsf7gaDRK_GV&$jr=*1c!8gi+{%{u> z%x=%|$(}B_sutGJb;{EjIw6AVJQ!n(<<`?MMisstA${SZEgGWhDAY2?ci;0*zB`v! zwT0<#hxNS4JCAa(NmXN-9qSvkRC_~YZ%PdIC^y7HNxF?=DVakZDJ56(X&!{kBq4uY zKIy`%(x7sp4|H(44jb`E4S`z?LEnXky1#zh_)v|gnd)low}7D9Gop>^3hm|BLcdRg z-xB|z&3_QbYe~PM+#8CT-@d9b9TaSO5Th0JqEHH=Pa&<&w*B6~aL*sXVi@(NRIEex zMjFME_3K)OxvTf%4S^mPMK7%&RNu{Z*QPn8)xnool_`N z_xF5`&p(}#Dha+_scx;_(h%$-W9Sm9H6#BmHl*$KBZ}!t()hc;z?78l^}vD27N+zU z0SZgilMUn+aVbY%@~6vLPg)uOBS!}tAII1mN?{`gc~`vEcRJTQ<4zB2iK0H-_^KzG z>LXpOHUzG;h;y;(ou_$qzgp;jJ?m{MMN%0oCNpA_a?#B;dXG}xkKE%-Ec?OKm)_=T zY5&1YbSk0nS+2Y%?IOJzd*JOK^+mASXM!O=!d8=JFJeIUx`GKzso5Q_CTRYSSl))I z^XIU8CtV93@d;-svSARH7*#m_k+u0cL@mQX#L{stOWVQydTOCqRMk8Uqg~#8u0xwD z7fYJhq^a61-kt8xC#+Jolsc8&l}|PEFNV0P-Lh9%n;9RjOx1m;3(e;Ru^F;+Ig+$O zoyz7K=wIumw`Tn{J0F;Uv&nP!^O&ufA?O)g-Kv|57JFY0jAxhp$oP|&ni&8&q-}afySJf%XF+B-EW9w-`NZ^ zZMnsh2ijwY`1~{`G{lo&h7=Xr%G`4t4_Z9imIbkL;;_(jog-hv?A^eW>^mM2a%C$S zbHniK84U-&Qn81M{yv?%+878`h`M~Dybu-~n`Y_By9?YzVu}waCTB}OloqhLgTaBR zUWT?KFFq-U9TQ6BLaa7dgi2TS63?O&%3+2zrEUQgLM-c($`S6dTI}`GeftWjF~B7o zs>P1Mi=hWMs9LJ*6ZTR^_{;UgAXKc{FA<``&LLy^c@Pf3ajxq9By4|co%i7fHJG#h zr90Vwlo+~XzzPqg1aq>}0brV!C-gph&*;m%U#tT)w?Z*>80>ZGm&D<%B}Kn2Sghr| zVrDt=1F=Wo&@b}v{S+?59ExIE#$#G?`tLyv*2VmerfP*d;lNk-EV@e$3+ zN*6L0cDF4)8UFaNrDJymONUCWsO7*sKzZYR7rj5*I8shzI^gZ8$}_doF9K4cvb^Pw z%*4;q{Qit{=})^KC{0%i>Ty`BvT27SIQ-%$sHwNc3LNXd8)M$N`i)5Js;O}M6qaeg zs=g~vPPsT5_N0}jK>KKjyLzT+d6#yvM7q{Evp9UaJQOF|JL#)q0*>=UJtef=bWn4` zD_M=4?rhx1622(BcQ2ATfeoChkIdTqUii|QtF1eNx<|9~&_cnm05W*K;7kQ`VMF9g zyCiqiREaS`8egt_`}o}zsana~d(y6qe2p;^PA@Qz^HFw&$d^^s05`{?Zm7ak!=qr# z_=)b1m{5EACwE+hr==amTFl%1E{E0Ef}hdQwte>#=U@h!X4Bft@Xhtdy40|vN9);- zhxH)x8BJ9q!o=P$4T%!HoqPUDe6v!EzXY+~W2p5_&sB2#U>Qb`nmlmi#j@wh%lz*_ z;QP5q8!%I-MCQ>9!oy9ZYlSQyX=x zNMa=qd=Jfdi+!VCz?0=3a2j`Gk6>|Hv%7=2DQxH`kQ40U!>B78K3K?!qoKN2x1O(| z)P8ftrN#VLdXwKZPL?mxm3ZJIAVb*T%6nSz9n<&$mYG0x z9lfs5IG?_rX3+=|pNt`!O2P+Rqq_HBvBGsc5Us@G5#kN8?qye5NHqgjU~O02BjwW2 zPtH3%go-(0F*YR$eLt)@_?@p|*PFWM&wOLsWwjE!P7zU8tTCg9RQrqq*0-*FZmMJN zCaln)mw(Zm;(r*5`>8m)t1dy|rZ*H&JCHQ_i5INu%Y19I>XL8>jD+B-+Fr~@@mHu> zkNNvd4f{;dtI6v2xIS~W57dG#z2->mnZ68?5|nt-L2y>@!b!}i8!AT%ye`be^_eln zrN7v~PX&m7{vzSC3%ij2nIjwSR2p|$UH|*XEmQoxH$x-ZQI89|+Q!T6tw1t+9e~ie znVX634_bWu;MZobpRl?#o6LVCoyxz}IU4TTWxKnW+V1HDv^EN`s7voD{P$A(T9})_ zubGM7c9l)B)^zYFAqNH$S!YQCmHq^QpB_9$P)Qhq!;}CKi2@0xzWPytD)eEID%4yW z43pTH6K^Q0#L#2Lm?c%^Eqs)(@drq8ftEre431)=e~xtI6%>B0B>`f^bqIXL!JSek z5zDIbXq3zx)M^5*nt5&V>!16eKm9c{Mi>wXPAtc^tlr{7JF=*_fbFB)QXQ|NReq%- zK-hadiBn0qXVTgJ&>p7}<5WyZ_#J&hju)DcNCRI5OC|JAQrWf35le6~)F(5a2Eqtx zGuujqUGJtMJ>zpjOyOEsiE#PTg%aIIfFnP^QGLZxv;>QuO4HB@IW%n#-q-N#X}P1H zl?EF|72P9>75k&P4;-+*Yz|mSz-vBD^ip+qEyRaHfp|Go?)u@D{2}PNV4p(dqgd8E zO*l(G5URw#3uBAj7d<<8GitUxH!m02&P`C&eV-ZuG>$mmb(Gg-PMmi>YJM)Ady7!` zCpJ~478D0QOj>${lYws)FtFF6VKgy9Lv;Y?e}{eg?LU|@pq z{4B7G2^oBI!F9XG#cYe_0rO_t@u&SDI4@a*sxvE#_Ki7lzqWMKS z5_db9r_nEKYa~D*w0F>V0TKd=x86L;rs-9Y-+f|0%S$#LAS;TsEbnRY3zyk^FhL8N zB@J_TNzg_Xr-sUIN-_3@IG^5^Bg^fo!ioY;(KeC6*`AfaIlDPIE-MoQYvVShDU^XR zKV(h_z;qkXGwZ*ZIu-0*4q#Qu{5CI2gbgqc)QKgzBGvXODhoZT)80{30w!EIp#}{w zS%0R$9|8xJ=O6adK3?!0FTGaMRQKjV8pyUR8y~Np<{4Phf;-B{C_(!nL=TjnHv5#v z@N==YRn{)GViV!Au-i$pToQIU;=);XWDrw?TMb3Rx-?(_g9!#ISw7~-vZ5HPQ0(uo z9OdgB-g;Mcsx*d#fUArKsKB5}{%(3lA@77>4rE(ZD*WdLYb+m_spNcDiH=Cs?ZF_H zInh*lXJh#v!bwoSyx4f}I7d^hazqXXML!n}D0|`vcftTtkYs`Cs2%LVF+jzT3v`{m zdUo487-u`rr~)b26Pj1*Y^k%ci__^+?$ZN6(Y7KxbJ!@5-}mXOTf3&!hfTny%&~xx z^d~w(wp9wd_5hrD3@WC#9mFXLRiPZ99l#^5R20+kLh1VL+G_M5+6ZOzhJK9;=Dgzf zU~ij%F{kv0$KDHNNk$`sHb6jHLZHru1L+vm`S*Xvzl`*2G|?iO4tfZjsiztg#{Pp5 z+lm{Dbtr>Fa9|7%Wkz)WB`nJ6aHO3UY$^Q?K%zS%hz}ZxXcyp?g()VU6N@(R-PZUI z^3db*Jomt_zzF3y%d~mnOaFI}?S02sG!#thlVzUXVQ&q^uct_eJ^R6TFA%T4)LROr788zc7-upcxQ(}%`ivmKt=|3pe-p_0G|8oL--JBNr zdJlnO>RDS?v_LO0(d|jy&3!&G`O&wq*A0gUmnw^qmKGGgA75-)M=z}dBmk;l+mG4! zqVv!zUAi}?ocyl80qIa`$flZzy+BI_!%gIfc2>XE*mt)lTE*uzxt(Xrb6*JLcB&!djtM=~qkx*6-QGikzpvho-#y7zGV__42t9ia6pdd1;P4xYoQW}YWEeNs z`qwUg7qSa<7#iYYWlUg;0fH!%nn5PkU;V6FUnAO}J${}qqe%PHoVB!ntHVwM*nliL zxaae<0jxTx;~#4ljg{)jEn=;Ne5tOKD4z?2z0l_3%bebjd_!#=77Hxe1A*Fie(_99 zHvGT2F3+1-tj89=@K3MB^0l*@C8C<$v{hp%nSgszY?m9jw6SeMOl-BC^+?N)Lt_`7{5`fbGOtzFC-*yP%!BOmMmJ}Tc zex=Wx*l_*w_j1HTHk{zhFq6$l%a@=$T~5T5RV#@{_Q$P3@a@|I{8Ucg*RqF%+@Uh$ z=&Yv6Mxqq%8VdYHmJY_@WPx<(eG-~1egAEAgetJRW2Qu+LivV=rF?Tgrg{S%Qu3)| zq2ZkR{%`Bw{HnYM@>u5_RV{Dj1R)_AH#VHQQ#*YcnKr3G9~*iA>Mo^6G9{q^tMHQO9#SklZjW2z=k0!IuNwWL!&lBwwGB)Qjjr7;-Zz=uBf@yA9?DR*hXeR>8r8RF(Sv=O)zSH>n zRmMDbn1TeM7rQu@*{1)qo&L^?8l3$9mMKl@>m0FfSMI@r3v6pN94A2wmo9`|^o3r? zqwA8dMRMgO{U%Nynw9>{mJUj4CRa}Y7vAEtW=G23D<~pV5US`w(dYZl%qe}ED9bYw zdXnWE!P6|4<0+@=hcEQpn_v1qc(`&>tOKONEF2yY?%|;s!6Nlk2@H8IwQ`yLWYMGN ze8r~X;owuyFKyiCS3@yzfb*LNwUWsG{ggg=4sQzOuKMgDo13yp;p}?4yTAK1#VW>d z71a_=X6yBtwS|HCO^9^F(zVOy)Kuvo(^lR%AGLz>dejDAY;5@owbU0$ic~Q$vevQL zv{n)aq6ttz_BP6@bkRW66qt|!OB}_quhvOZxNt^gBT$s(@f!a|c5nI=F4MDV`>gYC z=hE^jzLEmfgZekMm!XTX4W)oXu}Qe+W^mr338h$cx%VYD{O^~6j3G@=@A6Naic+f} z&1lodHuDF{UjZl7v>nT?T?7rKk*Uv~JAX&y%$Ps=K4`m4Xia8M5pndTFN#AkUYDm@ zAD^EMF7Dz0Ji-f65{bxB_cBL5x7ujEchA5%B%f_}`_}tnknTX~Jyf)e%0GRiBpy_@ zEoPzz&CFPQ(J@zpP7pjgA}5Vt1|1gs4>0vxoq4Ud z(j`gPu094&;jR#at^}8U?XZRI#vvz9|0N>nTDiSdcdwVUV8!}MZEbj`=_@7PxSvvd8+4G1OE=0|2Y#PfH>VK% zrp^PQPQ;yYU|(EM!?+~P!}z;>(@~+2(Fu{`+$sD(H}%U}DP=iP5BGU`fR5mFB{cm0 zJdEjkKA1+oaci$N+BSAa*G1H%rMBR?1BWCk=m|iDUN)JE}qDNd{qcVK(fkqRr0Q+H{P9GH*xS) zIg#Zv$8lq~)aNN_(5n>zv$KoY+r2`-XrkKlS`EPEiFL{=x?=IoSPljuhOSk!N#Y~V z{R+$T4|C@}0$Y+py85~!x->+qW!GzNTSSH0-Y4C;kAeTkvcMAa+W8iTB{F3 z&DVI6?O8w88jQ9oOI7-`zv!WFjHtl<9hfd4?3-2g7LOBs{lnNT;rggH_L~3AuNfSE z;O!m{&I1Dpr*1v|jOAT7i?3r_+OeFgv0lZ%_S?w4WjN&=XhhL+jOdo#p3UnZUHU#v zuy1oq)qjZ?F?f-OzuW0d%<*~|6GXF%t1!(ufJcaf!x&Yvg47;jx5rMAO$3|8J-Na& zv=uFLUml%DUV3cf1i|CL(kSh}3fMq%E7j|`x1FSpEAp1eK;)w~+80C%XmE&$E0$?T z!Xtv+b7)Ejy9fHeDQ^{|s^0sN`15tYD_n9NWV|ok=s3vZ1A@3Yl;W!G9*bF5G33{< z92Cd3@;z1~SW~?#k8Y-&&X*~O;%~z;rraiGxDjK2EyzGc)?-BCHYiEBe|*K=tECMH z=BY(gSyUtV+(`h{m!!0p(Cw8TKE2xj?cv2xT&0;p>)ngr7!d;*xF0!B z;DiANyFR8vLIl6~sBiioRGbxKZp+fQ#{>3)o*v2__?dJG+BbWV=U(2{-G61K!Lu!1ZX~Wc9X|qjL5p|(<9%_ z$e#rGH8S+=053xBj3aJG=)1i+2fJ8`dmEui-_C>{uWDwu;3=te6uNkkG`z6#hE3p zohm#A^h!)z)P8$|^aN6POxF&e2cDXrLnRD_Ip^p=bEHA@Dmmh2bykMTwvx^Q8MOTp z8m@Vdd<+O4`e{9k*thhcRC@Wxpmt38>cvtFB~W4egL4a=Vbk5OwAiy_xMAC1ukmfi zh~n$ghirPG;a92o^aQ>oUZAc!h>=x@oB^kC{4g;499BJ(FGxxi@ z79P9Ua7|le5brcN2_{MhWq`a~@@`(4>KjPoeh$iE@v9|h4Sz^F!MZac6?7jg#=)2p z!0OW3^A4cA$rnP6aP>AjaIq$uQ%)UyE+PkP2a9@3V7QP)t+EVR)V@tY7ydbb<9Rne zj`X}@WC5qd#bVJ->!Vi`ML+9s6wvMV!8|(mB7gY+0i~l}s|A6RRSOa1b1eZN@9zia zKecyuMnFmR$mJWrjTpE07=|o3n%I)StpgJD<&dVEv4giG8O_7*SemOS2|Y`}rJNiF zimScU73w?V1i0?bnJ7jq6hej#V>G2^eOGNV+xu9cZ+2^NBNWqYa>UFQ9pH$yNx^c# z<9V$_ET-Pq0$sCPK_bpL{<&g74j>{@Pk~yU#O|9~p}?mC74&V7`}4z2xrj9Ad?9bgj%Bxw^>ivr z3Zh4wFb#bXB{D%(H^mGW1qH(|`b2=f zhPGJX5Om96^uPd>CPJB`6VUigSeDdO8L+m^WHRvP=iA#s^?JdTsu-K4oXD@EzG9Z{ zt3TV!fb=tJK)T}B9eLU8^TnC3eHlFv_*xe{ey^g*?(n{87X~VxF%s+b-BiXU^-S*1 z;xCy{pvS%)Wh~L=!89Lv@0$coMKe)S?9*v$qu6eB)}pb z4nlRUnm@Rs>91vHnp# zj=UDmdi({8L_j0PFeANORE-$p4mh2}l$WpEg+_Q>4KM2%elvsJUy{;s8N6Oo##Rv8 zp&K;tl9w(5B*=csNIO~CI>V=p2)rIeRs|zuoZ?p5r|C7fY@QD{IBZ1Aq1!5C?0?kn z8JrSriv4+DINAx(A&OwM*tByLa!JDHW=jUDTYkxP`948&_k$GjFCW*c6h4EwPicgu zcLiK$d&lqjFg!z60T4p4-aVRmaBf!Lv-=*h>`p3OK-_WWfR`j2p>O1ph^oA)TNu>0 zA9fD8#Q|(L2WAv`qoLOwiO`OmB1 zI%uO(R{qc5{=Gm4ntxmJ&lo_Q`TyQO{D0hze7mp1x{l03o4ty{WBCeM^Pv9&2e%VS literal 0 HcmV?d00001 diff --git a/language/index.md b/language/index.md index 1ffeefc43b..a1c8baa1eb 100644 --- a/language/index.md +++ b/language/index.md @@ -1,6 +1,6 @@ --- description: :Language-specific getting started guides overview -keywords: guides, docker, language, node, java, python +keywords: guides, docker, language, node, java, python, go, golang title: Overview toc_min: 1 toc_max: 2 @@ -41,6 +41,11 @@ Learn how to set up your Docker environment and start containerizing your applic Develop with Java +
+
+ Develop with Go +
+