Container Registry in Google Cloud Platform used for storing, managing and securing Docker container images.
In this tutorial we will see how to containerize Flask App with Container Registry. Lets start by following below steps.
Login to Google Cloud Console
Activate Cloud Shell to open Cloud Shell.
Create new directory with name mp_app
and navigate to mp_app
mkdir my_app
cd my_app
In mp_app
create a file with name Dockerfile
nano Dockerfile
Write below code in Dockerfile
FROM python:3
WORKDIR /app
ADD . /app
RUN pip install -r requirements.txt
EXPOSE 80
CMD ["python", "app.py"]
In mp_app
create a file with name requirements.txt
nano requirements.txt
Write below code in requirements.txt
Flask
In mp_app
create a file with name app.py
nano app.py
Write below code in app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
msg = "<h1>Hello Flask</h1>"
return msg
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
For building Docker Image run below command from mp_app
directory
docker build -t my_app-image .
For tagging Docker Image run below command, replace [project-id] with your GCP PROJECT-ID.
docker tag my_app-image gcr.io/[project-id]/my_app-image:version1.0
For pushing Docker Image to Container Registry run below command, replace [project-id] with your GCP PROJECT-ID.
docker push gcr.io/[project-id]/my_app-image:version1.0
For pulling Docker Image from Container Registry run below command, replace [project-id] with your GCP PROJECT-ID.
docker pull gcr.io/[project-id]/my_app-image:version1.0
Note: If you are facing any issue issue with this set up, post the error in comment section, we will try to help you on that.
Category: GCP