Installer Oracle sous MacOs avec Docker

Dans le cadre des cours donnés par l’ISEP, je suis amené cette année à travailler sur les bases de données. Celle que nous utiliserons dans le cadre de nos cours n’est autre qu’Oracle. Et si une base nous est accessible sur le réseau de l’école, il est bien plus pratique de pouvoir emmener la sienne partout. C’est pourquoi nous avons décidé d’installer la base sur nos ordinateurs. Et si la procédure est aisée sur Windows et Linux, il faudra être un peu plus astucieux pour le faire sur un mac.

Pré-requis

Pour installer Oracle sur notre mac, nous utiliserons Docker ainsi que Virtualbox. L’avantage de cette installation sera de fournir un environnement dédié à notre base, et de pouvoir s’en séparer facilement si nous voulons la désinstaller un jour.

Pour commencer nous devons donc télécharger :

  • Virtualbox, qui nous permettra de créer des machines virtuelles (optionnel)
  • Docker, pour créer des conteneurs
  • SQLdevelopper , pour administrer notre base (un compte Oracle vous sera demandé)

En avant pour Oracle

Après avoir installé ces trois logiciels, il suffit d’ouvrir un terminal et de vérifier que Docker est bien installé via la commande

docker version

Si tout se passe bien, il est temps de créer notre machine virtuelle, j’ai choisi ici de l’appeler « dev » mais sentez vous libre de changer cette appellation. Nous créerons la machine virtuelle via Docker en utilisant un driver virtualbox. Cette opération est en faite nécessaire car  nous avons besoin d’une machine Linux pour faire tourner notre base. Lancez donc la commande suivante

docker-machine create --driver virtualbox dev
eval $(docker-machine env dev)

Cela devrait prendre quelques instants. En ouvrant l’interface virtualbox on pourra voir la machine apparaitre, cela ne nous sert pas pour la suite mais rendra concrète à vos yeux l’interconnexion de Docker avec Virtualbox.

Pour effectuer notre installation sans vm et sans virtualbox, il suffit de retirer le –driver virtualbox de la commande, ce qui donne

docker-machine create dev
eval $(docker-machine env dev)

La seconde commande elle configure votre terminal en cours pour travailler avec votre machine en exportant les variables nécessaires.

Maintenant récupérons notre image et instancions le container

docker pull wnameless/oracle-xe-11g
docker run -d -p 49160:22 -p 49161:1521 --name oracle wnameless/oracle-xe-11g

docker run sert à instancier le container, concrètement ici, notre base. L’argument -d permet de détacher le container pour qu’il tourne en tâche de fond et de n’en récupérer que l’id, et -p d’exposer certains ports, ceux de notre base dans notre cas.

Voilà, tout est fin prêt. Il est maintenant temps de nous connecter à notre base, pour cela, nous commençons par récupérer l’adresse ip de notre machine. Cette information apparaît notamment lorsque l’on lance la commande suivante :

docker-machine ls

Elle est de la forme « tcp://111.111.111.111:4444 », l’ip que nous utiliserions par la suite ici serait donc 111.111.111.111.
Dans SQLdevelopper maintenant, en haut a gauche de la fenêtre se trouve un plus vert. En cliquant dessus nous allons pouvoir enregistrer les informations de connexion à notre base :

Nom de connexion : Ce que vous voulez, pour moi DockerMac
Nom d'utilisateur : system
Mot de passe : oracle
Nom d'hôte : <ip de la machine> //peut venir a changer lors d'une prochaine mise en route de la vm
Port : 49161
SID : xe

Enregistrez, cliquez sur connexion, et vous voilà fin prêts à utiliser votre base 🙂


Et pour éteindre tout ça ?

docker stop oracle
docker-machine stop dev

Pour rallumer :

docker-machine start dev
eval $(docker-machine env dev
docker start oracle

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.