Ajout de VSCode dans votre conteneur IRIS
L'une des façons les plus simples de mettre en place des environnements de développement reproductibles est de créer des conteneurs pour ces environnements. Je trouve que lors d'itérations rapides, il est très pratique d'héberger une instance de vscode dans mon conteneur de développement. Ainsi, j'ai créé un rapide script de conteneur pour ajouter un vscode basé sur un navigateur dans un conteneur IRIS. Cela devrait fonctionner pour la plupart des conteneurs 2021.1+. Mon référentiel de code est disponible ici
Conteneur InterSystems IRIS avec vscode et pré-connecté
Réf. | Valeur |
---|---|
Utilisateur | _SYSTEM |
Mot de passe | SYS |
Aperçu
Ce projet crée un conteneur IRIS avec une version hébergée (basée sur le web) de vscode disponible dans le même conteneur IRIS. Ceci fournit :
* Modification du code du même conteneur
* Pré-connexion à l'instance IRIS du conteneur
* Liens à partir du Portail de gestion
* Démarrage automatique de l'IDE avec le conteneur
Démarrage rapide
- Téléchargez ou
git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.git
- A la racine du projet, lancez
docker build . -t vscode-irishealth-ml:latest --no-cache
- Lancez
docker-compose up
- Vous n'utilisez pas docker compose ? Voir ici
- Naviguez vers Management Portal
- Connectez-vous avec l'utilisateur et le mot de passe figurant en haut de ce guide
- Cliquez sur VSCODE Link dans la fenêtre Favoris
- Lorsque vous y êtes invité, utilisez le même mot de passe dans le vscode pour vous connecter à l'instance IRIS.
# Nouveau dossier pour le projet
mkdir vscode-iris
cd vscode-iris
# Clonez le référentiel ici
git clone https://github.com/nickmitchko/Hosting-vscode-in-a-container.git .
# Créez une image
docker build . -t vscode-irishealth-ml:latest --no-cache
# Exécution (A) ou (B) uniquement
#
# (A) Exécution du fichier de composition
docker-compose up
# OU (B) si vous préférez un démon
docker-compose up -d
Ajoutez la persistance
Si vous cherchez une instance iris persistante, il faut commenter les lignes 16-20 du fichier docker-compose.yml. Cela permet d'ajouter un montage de stockage persistant au conteneur.
volumes:
- "./durable/:/durable/"
environnement:
- ISC_DATA_DIRECTORY=/durable/iconfig
Modification de l'image de base
Cette image est construite à partir des images zpm de la communauté des développeurs d'InterSystems (disponible ici). Ces images incluent la commande zpm qui nous permet d'installer facilement à partir du référentiel de paquets, mais la licence communautaire n'est que de 90 jours.
La balise d'image utilisée pour les constructions est la suivante :
FROM intersystemsdc/irishealth-ml-community:latest
Si vous voulez remplacer l'image, remplacez la première ligne du fichier docker par l'étiquette de l'image souhaitée (soit une instance IRIS personnalisée, soit une instance prise en charge). Par exemple :
FROM containers.intersystems.com/intersystems/irishealth-community:2021.2.0.651.0
Pas de Docker-Compose
Si vous n'utilisez pas docker compose, vous pouvez toujours exécuter le conteneur comme suit :
# Après avoir créé le conteneur
# --après la commande est nécessaire
docker run --name vscode -d \
--publish 1972:1972 \
--publish 52773:52773 \
--publish 51773:51773 \
--publish 53773:53773 \
--publish 8080:8080 \
--publish 8888:8888 \
vscode-irishealth-ml:latest \
--after "/bin/bash /install/boot.sh"