Deployer docker React app sur GCP (Google cloud platform) 

https://cloud.google.com/sdk/docs/install

Installer le SDK Google cloud

Vous pouvez télécharger la version avec Python

macOS 64 bits avec Python intégré
 (x86_64)

aller dans le dossier et exécuter cette commande

./install.sh

Initialiser le SDK

./bin/gcloud init

Se connecter a Google Cloud

gcloud auth login

Créer un projet

l'ID du projet sera donc marvel-docker

Créer un projet

N'oublier pas d'activer la facturation pour que cela fonctionne correctement

Configurer gcloud

gcloud config set project marvel-docker

marvel-docker est l'ID du projet google

Installer kubernetes

gcloud components install kubectl

Configurer Docker

gcloud auth configure-docker

Créer une application React

npx create-react-app marvel

Créer un Dockerfile

# Stage 1 - the build process
FROM node:14 as build-deps
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
RUN npm i
COPY . ./
RUN npm run build

# Stage 2 - the production environment
FROM nginx:1.12-alpine
COPY --from=build-deps /usr/src/app/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Créer une image

docker build . -t hnhack/cra-docker  

Tester l'image en local

docker run -p 8080:80 hnhack/cra-docker

Pousser l'image sur docker hub

docker login
docker push hhnack/cra-docker

Pousser l'image sur docker hub

Pousser l'image sur google cloud registry (GCR)

Pour cela, nous allons devoir ajouter un tag sur notre image docker

docker tag hnhack/cra-docker gcr.io/marvel-docker/hnhack/cra-docker

nom de l'image docker

nom de domaine
google cloud registry

id du projet google

nom de l'image docker

Pousser l'image sur google cloud registry (GCR)

Nous allons maintenant pousser notre image sur gcr.io

docker push gcr.io/marvel-docker/hnhack/cra-docker 

Pousser l'image sur google cloud registry (GCR)

On peut voir que l'image est privée contrairement au docker hub

Activer container registry sur GCP

Effectuer un build de l'image et deployer

gcloud builds submit --tag gcr.io/marvel-docker/hnhack/cra-docker --project marvel-docker
gcloud run deploy --image gcr.io/marvel-docker/hnhack/cra-docker

Effectuer un build de l'image et deployer

Selection de la région

Créer un cluster Kubernetes

Créer un cluster Kubernetes

Cliquer sur déployer un conteneur

Créer un cluster Kubernetes

Créer un cluster Kubernetes

Créer un cluster Kubernetes

Créer un cluster Kubernetes

Créer un cluster Kubernetes

Créer un cluster Kubernetes

Annexes

Suivre ce lien https://cloud.google.com/build/docs/deploying-builds/deploy-cloud-run#before_you_begin

Celui ci nous indique d'activer les API suivantes

Cloud Build, Cloud Run, Container Registry, and Resource Manager

Made with Slides.com