Clonez votre propre application Web sur GitLab lors de la création d'une image Docker

J'ai créé une image Docker qui clone ma propre application à partir de GitLab au moment de la construction. Je vais le laisser comme mémo.

Environnement d'exploitation

Windows10 Pro GitLab

Références

https://qiita.com/Brutus/items/da63d23be32d505409c6

procédure

Obtenez un jeton pour votre compte GitLab

Appuyez sur "Paramètres" dans le menu supérieur droit de GitLab. image.png

Appuyez sur "Jeton d'accès" dans le menu de gauche. image.png

Entrez un nom de jeton arbitraire dans Nom, vérifiez l'API Scope et appuyez sur «Créer un jeton d'accès personnel». image.png

Si la création réussit, le jeton sera affiché, alors notez-le. image.png

Créer une image Docker

Créez Dockerfile comme suit.

Dockerfile


#Je voulais mettre l'application express de Node, j'ai donc utilisé l'image de node
FROM node:10.12

#Spécifiez le répertoire de travail
WORKDIR /src

#Décrivez les informations sur le créateur
LABEL maintainer="y.matsumoto <[email protected]>"

# -Spécifiez le répertoire à cloner avec l'option C. https://oauth2:[Jeton obtenu de GitLab]@gitlab.com/[Nom du projet]/[Nom du référentiel].git est la syntaxe de l'URL
RUN git -C / clone chat https://oauth2:[Jeton obtenu de GitLab]@gitlab.com/[Nom du projet]/[Nom du référentiel].git

#Étant donné que le système de fichiers d'exécution express se trouve dans le répertoire de l'application, copiez-le dans le répertoire de travail
RUN cp -r /[Nom du référentiel]/app/* /src

#Supprimer les fichiers inutiles après le clonage
RUN rm -rf /[Nom du référentiel]

#Package d'application dans le répertoire de travail.Puisque json est copié, npm install peut être exécuté tel quel
RUN npm install

#Configurer le serveur pour qu'il démarre lorsque le conteneur est exécuté
CMD npm start

Exécutez la commande suivante dans le répertoire contenant le Dockerfile pour exécuter Build & Container.

docker image build . --tag [Nom de balise arbitraire]
docker container run -d -p 3000:3000 [Nom de balise spécifié]

Quand j'y ai accédé avec un navigateur, il a démarré sans aucun problème! image.png

c'est tout.

J'ai créé une image docker qui a extrait la dernière version de ma propre application au moment de la construction, Je voudrais le pousser dans le registre plus tard et viser un formulaire qui peut être utilisé en le tirant avec Kubernetes.

Si vous avez des suggestions, n'hésitez pas à nous contacter!

Recommended Posts

Clonez votre propre application Web sur GitLab lors de la création d'une image Docker
Déployer des applications Web Java sur Heroku
Créer une image docker pour exécuter une application Java simple
Un mémorandum lors de l'installation de Docker et de la construction d'un conteneur Linux
Enregistrez votre propre image Docker dans ECR à l'aide de l'AWS CLI
Mesures des autorisations lors de la construction de MySQL avec Docker sur WSL2
Création d'un environnement haskell avec Docker + VS Code sur Windows10 Home
Créez une image Docker pour redoc-cli et enregistrez-la sur Docker Hub