🐳 Docker x Hacktoberfest 2022 - How to Build Docker Extensions
Tags: hacktoberfest, developer, docker, hacking
Published: 2022-09-24 10:00:21

In the [last post,](https://dev.to/docker/docker-x-hacktoberfest-2022-3ng9) we shared the news that this year Docker is celebrating Hacktoberfest 2022 with the open-source developer communities. In this blog post, you will see how to get started with Docker Extensions. We have compiled tutorials, videos and reference links that you can follow to get started with Docker Extensions in a simpler way. Let's jump in.


## 🏗️How to Build Your First Docker Extension


To get started, you can create your first Docker Extension in minutes. See details in our [QuickStart guide](https://docs.docker.com/desktop/extensions-sdk/quickstart/).

In a nutshell:

- If you have not Docker Desktop installed yet, [install Docker Desktop](https://www.docker.com/products/docker-desktop/).
- in a terminal, type

```
docker extension init my-extension
```

It will prompt you for a Docker image name for your extension, and a few details. This will generate a hello-world extension with a basic UI and a connected backend service (optional).

- navigate to the generated folder, and type

```
make install-extension
```

to build and install the generated extension.

- Open Docker Desktop Dashboard and test the extension by navigating to the `Test-Extension` tab. You now have a running extension!

![First extension](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7q0tk2xl6r24brau3r3o.png)




### Please Note:

When adding an extension, you can also specify if you accept Hacktoberfest contributions in your extension, that will encourage other people to participate and improve the extension you propose.

If you have any questions, join our [Community Slack channel](https://dockercommunity.slack.com) #extensions.


## 🗣️Propose Your Docker Extension in the Hacktoberfest List

- Once you have a GitHub repo for your extension, edit the `README.md` and describe your extension, the pain point or user needs it solves.
- Push the new Git repo to your GithHub account

```
 git remote add origin https://github.com/my-account/my-extension.git
 git push -u origin main
```

- Fork https://github.com/docker/hacktoberfest-2022 repo
- In your local clone of `docker/harcktoberfest` repo, add your extension in the list (in `README.md`). Don't forget to include:
  - extension name, and a one line description
  - Github repo for the description
  - status of the Extension you add: `idea` (if you have not started to actually code the extension), `Community` (some code has been started), `functional` (functionality is implemented)
  - specify if you accept PRs from other Hacktoberfest participant (set `hacktoberfest` label on your git repo)
- commit your changes and push a branch on your local fork, and create a Pull Request in docker/harcktoberfest with your branch

## 📹Videos

| How to Build Your First Docker Extension                                                                                                                                                 | Creating Docker Extension from Scratch                                                                                                                                                        |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [![Build Your First Docker Extension](https://user-images.githubusercontent.com/313480/190869414-282ac0c5-26a7-4970-a5f2-bb0442f37495.png)](https://www.youtube.com/watch?v=Fu6BuqJ4MtE) | [![Creating Docker Extension from Scratch](https://user-images.githubusercontent.com/313480/190869394-18ce29d8-bd43-4292-afb8-467c97899864.png)](https://www.youtube.com/watch?v=HqCnOhbcobE) |

| Introducing Docker Extension                                                                                                                                                               | What are Docker Extensions                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [![Introducing Docker Extension](https://user-images.githubusercontent.com/313480/190869475-09e75525-ac6a-4bbe-9c0f-fc1e7c16b51f.png)](https://www.youtube.com/watch?v=BHKp7Sc3VVc&t=420s) | [![What are Docker Extensions](https://user-images.githubusercontent.com/313480/190869659-6018e125-e09a-479c-9eba-621c708a9a34.png)](https://www.youtube.com/watch?v=zfDSFw9Z8YY) |

## 💬Support and Community

If you do get enough interest to build a Docker Extension, the team at Docker is available to support you.
You can find us in the [Docker Forum](https://forums.docker.com/t/about-the-hacktoberfest-category/129061), post issues on our [SDK repo](https://github.com/docker/extensions-sdk), or reach us via email extensions(AT)docker.com.

## References:

- [Introduction to Docker Extensions](https://docs.docker.com/desktop/extensions/)
- [How to create your own Docker Extensions](https://docs.docker.com/desktop/extensions-sdk/)
- [Create Your First Extensions](https://docs.docker.com/desktop/extensions-sdk/tutorials/initialize/)
- [Minimal frontend extensions tutorial](https://docs.docker.com/desktop/extensions-sdk/tutorials/minimal-frontend-extension/)
- [Minimal React Extensions tutorial](https://docs.docker.com/desktop/extensions-sdk/tutorials/react-extension/)
- [Minimal Docker CLI Extensions tutorial](https://docs.docker.com/desktop/extensions-sdk/tutorials/minimal-frontend-using-docker-cli/)

## Getting Help

Have a question about Hacktoberfest and Docker Extensions? Search the Docker Forum Docker Extension tag for answers, or post a question in our [Docker Community Forum](https://forums.docker.com).