---
# System prepended metadata

title: Build Backend Image

---

Hello, here are the documentation to build backend Docker image using Dockerfile.

**1. Preparing source code**
using backend source code the followed link below
[https://github.com/adaptivenetworklab/AN_OPEN_NETRA_BE](https://github.com/adaptivenetworklab/AN_OPEN_NETRA_BE)

**2. Create Dockerfile**
create Dockerfile that contain base image and several command to modify the image and inserted the frontend source code
```
FROM python:3

ENV PYTHONUNBUFFERED 1

COPY requirements.txt .

RUN pip install -r requirements.txt

RUN django-admin startproject AN_OPEN_NETRA_BE

COPY . /AN_OPEN_NETRA_BE

WORKDIR /AN_OPEN_NETRA_BE

ENV KUBECONFIG=/AN_OPEN_NETRA_BE/kube-config

EXPOSE 8000

CMD [ "python", "manage.py", "runserver", "0.0.0.0:8000" ]
```
newest update Dockerfile using ubuntu base image
```
FROM ubuntu:jammy

# install requirement dependencies
RUN apt update
RUN apt install python3 python3-pip curl -y
COPY requirements.txt .
RUN pip install -r requirements.txt
ENV TZ=Asia/Bangkok
COPY . .

# kubectl install
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd6>RUN chmod +x ./kubectl
RUN mv ./kubectl /usr/local/bin/kubectl
ENV KUBECONFIG=/kube-config

#helm install
RUN curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
RUN chmod +x get_helm.sh && ./get_helm.sh

#running service
EXPOSE 8000
CMD [ "python3", "manage.py", "runserver", "0.0.0.0:8000" ]
```

**3. Build image**
after the Dockerfile is ready, now build the Dockerfile using the command below:
```
$ docker build -t openetra/be .
```

the command will build the image with image output tag or name is openetra/be and we should specify the location of Dockerfile that is .


**4. Run image**
when the image from Dockerfile is ready, we can use the image to run the container with the command below:
```
$ docker run -it --name be -p 8088:8080 openetra/be
```
the output of running docker image has shown below:
![image](https://hackmd.io/_uploads/HkJDXvB5T.png)
