Home Explore Blog CI



docker

content/guides/deno/develop.md
cb064637a9051075bd7ac39395708ac6a6348037c72e284300000003000009d3
---
title: Use containers for Deno development
linkTitle: Develop your app
weight: 20
keywords: deno, local, development
description: Learn how to develop your Deno application locally.
aliases:
- /language/deno/develop/
---

## Prerequisites

Complete [Containerize a Deno application](containerize.md).

## Overview

In this section, you'll learn how to set up a development environment for your containerized application. This includes:

- Configuring Compose to automatically update your running Compose services as you edit and save your code

## Get the sample application

Clone the sample application to use with this guide. Open a terminal, change directory to a directory that you want to work in, and run the following command to clone the repository:

```console
$ git clone https://github.com/dockersamples/docker-deno.git && cd docker-deno
```

## Automatically update services

Use Compose Watch to automatically update your running Compose services as you
edit and save your code. For more details about Compose Watch, see [Use Compose
Watch](/manuals/compose/how-tos/file-watch.md).

Open your `compose.yml` file in an IDE or text editor and then add the Compose Watch instructions. The following example shows how to add Compose Watch to your `compose.yml` file.

```yaml {hl_lines="9-12",linenos=true}
services:
  server:
    image: deno-server
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:8000"
    develop:
      watch:
        - action: rebuild
          path: .
```

Run the following command to run your application with Compose Watch.

```console
$ docker compose watch
```

Now, if you modify your `server.ts` you will see the changes in real time without re-building the image.

To test it out, open the `server.ts` file in your favorite text editor and change the message from `{"Status" : "OK"}` to `{"Status" : "Updated"}`. Save the file and refresh your browser at `http://localhost:8000`. You should see the updated message.

Press `ctrl+c` in the terminal to stop your application.

## Summary

In this section, you also learned how to use Compose Watch to automatically rebuild and run your container when you update your code.

Related information:
 - [Compose file reference](/reference/compose-file/)
 - [Compose file watch](/manuals/compose/how-tos/file-watch.md)
 - [Multi-stage builds](/manuals/build/building/multi-stage.md)

## Next steps

In the next section, you'll take a look at how to set up a CI/CD pipeline using GitHub Actions.

Chunks
36122c9b (1st chunk of `content/guides/deno/develop.md`)
Title: Developing Deno Applications with Containers
Summary
This section guides you through setting up a local development environment for a containerized Deno application using Docker Compose. It focuses on using Compose Watch to automatically update running services as you edit and save your code. The instructions include cloning a sample application, adding Compose Watch configurations to the `compose.yml` file, and testing the automatic updates by modifying the `server.ts` file. It concludes with stopping the application and providing links to related documentation.