> For the complete documentation index, see [llms.txt](https://docs.edgegap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgegap.com/docs/tools-and-integrations/container/first-docker.md).

# Your First Docker

Write your first Dockerfile for an Edgegap game server, step by step, once Docker is running on your machine.

Now that you have docker running on your computer let's create your first Dockerfile.

Before creating a container, you need to understand what a container is. A container runs natively on Linux (or in Docker desktop) and shares the host machine's kernel with other containers. It runs a discrete process, taking no more memory than any further executable, making it lightweight.

<figure><img src="https://3027732442-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2Fgit-blob-f150d345ddba740a7babd5338aca3f557cc1886c%2Fcontainer-architecture.png?alt=media" alt=""><figcaption></figcaption></figure>

Now that you've set up your environment, you can begin to develop containerized applications.

Since the documentation on how to create a container is already readily available online, we suggest you follow this excellent guide from Docker on Building and Running your image:

[Docker - Get Started Guide](https://docs.docker.com/get-started/02_our_app/)

{% hint style="info" %}
We recommend using the base image that you are comfortable ([CentOS](https://hub.docker.com/_/centos), [Ubuntu](https://hub.docker.com/_/ubuntu), [Debian](https://hub.docker.com/_/debian) or [Alpine](https://hub.docker.com//alpine)). We can run all Linux-based kernels without issues.
{% endhint %}
