Vous êtes ici : » Accueil» Docker » Comment faire pour télécharger une image Docker du serveur MySQL

Comment faire pour télécharger une image Docker du serveur MySQL

(Dernière mise à jour le: 4 octobre 2021)

Télécharger une image Docker du serveur MySQL

Important

Pour les utilisateurs de MySQL Enterprise Edition : A un abonnement est requis pour utiliser les images Docker pour MySQL Edition pour entreprise. Les abonnements fonctionnent avec un Bring Your Own Modèle de licence ; voir Comment acheter MySQL Produits et services pour plus de détails.

Le téléchargement de l’image du serveur dans une étape distincte n’est pas strictement nécessaire; cependant, effectuer cette étape avant de créer votre Le conteneur Docker garantit que votre image locale est à jour. À téléchargez l’image MySQL Community Edition, exécutez cette commande :

docker pull mysql/mysql-server:tag

Les tagest l’étiquette de l’image version que vous souhaitez extraire (par exemple, 5.6, 5.7, 8.0, ou latest). Si :tagest omis, le latestl’étiquette est utilisée, et le image pour la dernière version GA de MySQL Community Server est téléchargé. Reportez-vous à la liste des balises pour les versions disponibles sur les serveur mysql/mysql page dans le Docker Hub .

Pour télécharger l’image MySQL Community Edition depuis Oracle Container Registry (OCR), exécutez cette commande :

docker pull container-registry.oracle.com/mysql/mysql-server:tag

Pour télécharger l’image MySQL Enterprise Edition depuis l’OCR, vous devez d’abord accepter le contrat de licence sur l’OCR et vous connecter dans le référentiel de conteneurs avec votre client Docker :

  • Visitez l’OCR à https://container-registry.oracle.com/ et choisissez MySQL .

  • Sous la liste des référentiels MySQL, choisissez enterprise-server.

  • Si vous n’êtes pas encore connecté à l’OCR, cliquez sur le bouton de bouton connexion à droite du page, puis saisissez les informations d’identification de votre compte Oracle lorsque invité à.

  • Suivez les instructions à droite de la page pour accepter le contrat de licence.

  • Connectez-vous à l’OCR avec votre client Docker (le dockercommande) à l’aide de la docker logincommander:

    # docker login container-registry.oracle.com 
    Username: Oracle-Account-ID
    Password: password
    Login successful.

Téléchargez l’image Docker pour MySQL Enterprise Edition à partir du OCR avec cette commande :

docker pull  container-registry.oracle.com/mysql/enterprise-server:tag

Il existe différents choix pour tag, correspondant aux différentes versions des images MySQL Docker fournis par l’OCR :

  • 8.0, 8.0.x ( xest le dernier numéro de version dans la série 8.0), latest: MySQL 8.0, la dernière AG

  • 5.7, 5.7.y ( yest le dernier numéro de version dans la série 5.7) : MySQL 5.7

Pour télécharger l’image MySQL Enterprise Edition depuis Mon Oracle assistance Site Web d’ , accédez au site Web, connectez-vous à votre compte Oracle et effectuez ces étapes une fois que vous êtes sur le page de destination :

  • Sélectionnez l’ Correctifs et mises à jour onglet .

  • Accédez à la recherche de correctifs région de et, sur l’ Rechercher onglet , passez à l’onglet Produit ou Famille (Avancé) Sous-onglet .

  • Entrez « MySQL Server » pour le produit Champ de , et le numéro de version dans la version champ.

  • Utilisez les listes déroulantes pour les filtres supplémentaires à sélectionner Description — contient , et entrez ” Docker ” dans le champ de texte.

    La figure suivante montre les paramètres de recherche pour le Image MySQL Enterprise Edition pour MySQL Server 8.0 :

    Comment faire pour télécharger une image Docker du serveur MySQL
  • Cliquez sur le Rechercher bouton et, à partir de la liste des résultats, sélectionnez la version souhaitée et cliquez sur le Télécharger bouton .

  • Dans la Téléchargement de boîte de dialogue fichier qui apparaît, cliquez et téléchargez le .zipfichier pour l’image Docker.

Décompressez le fichier téléchargé .ziparchiver pour obtenir le tarball à l’intérieur ( mysql-enterprise-server-version.tar), puis chargez l’image en exécutant cette commande :

docker load -i mysql-enterprise-server-version.tar

Vous pouvez répertorier les images Docker téléchargées avec cette commande :

$> docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
mysql/mysql-server   latest              3157d7f55f8d        4 weeks ago         241MB

Démarrer une instance de serveur MySQL

Pour démarrer un nouveau conteneur Docker pour un serveur MySQL, utilisez le commande suivante :

docker run --name=container_name  --restart on-failure -d image_name:tag

Le nom de l’image peut être obtenu en utilisant le docker images commande , comme expliqué dans Téléchargement d’une image Docker du serveur MySQL .

Les –nameoption, pour fournir un nom personnalisé pour votre conteneur de serveur, est facultatif ; si aucun nom de conteneur n’est fourni, un résultat aléatoire est généré.

Les –restart L’option sert à configurer le redémarrage politique pour votre conteneur ; il doit être mis à la valeur on-failure, pour activer la prise en charge du serveur redémarrer dans une session client (ce qui arrive, par exemple, lorsque l’ RESTART instruction est exécuté par un client ou pendant la configuration d’un instance de cluster InnoDB ). Avec le support pour le redémarrage activé, l’exécution d’un redémarrage au sein d’une session client entraîne le serveur et le conteneur pour arrêter puis redémarrer. La prise en charge du redémarrage du serveur est disponible pour MySQL 8.0.21 et versions ultérieures.

Par exemple, pour démarrer un nouveau conteneur Docker pour MySQL Serveur de communauté, utilisez cette commande :

docker run --name=mysql1 --restart on-failure -d mysql/mysql-server:8.0

Pour démarrer un nouveau conteneur Docker pour MySQL Enterprise Server avec une image Docker téléchargée depuis l’OCR, utilisez cette commande :

docker run --name=mysql1 --restart on-failure -d container-registry.oracle.com/mysql/enterprise-server:8.0

Pour démarrer un nouveau conteneur Docker pour MySQL Enterprise Server avec une image Docker téléchargée depuis My Oracle Support, utilisez ceci commander:

docker run --name=mysql1 --restart on-failure -d mysql/enterprise-server:8.0

Si l’image Docker du nom et de la balise spécifiés n’a pas été téléchargé par un antérieur pull docker ou docker run commande , l’image est maintenant téléchargé. L’initialisation du conteneur commence et le conteneur apparaît dans la liste des conteneurs en cours d’exécution lorsque vous exécutez la docker ps commande . Par exemple:

$> docker ps
CONTAINER ID   IMAGE                COMMAND                  CREATED             STATUS                              PORTS                NAMES
a24888f0d6f4   mysql/mysql-server   "/entrypoint.sh my..."   14 seconds ago      Up 13 seconds (health: starting)    3306/tcp, 33060/tcp  mysql1

L’initialisation du conteneur peut prendre un certain temps. Quand le serveur est prêt à l’emploi, le STATUSdu conteneur en sortie du docker ps la commande change de (health: starting)à (healthy).

Les -doption utilisée dans le docker La run commande ci-dessus fait que le conteneur s’exécute dans le Contexte. Utilisez cette commande pour surveiller la sortie du récipient:

docker logs mysql1

Une fois l’initialisation terminée, la sortie de la commande va contenir le mot de passe aléatoire généré pour l’utilisateur root ; vérifiez le mot de passe avec, par exemple, cette commande :

$> docker logs mysql1 2>&1 | grep GENERATED
GENERATED ROOT PASSWORD: Axegh3kAJyDLaRuBemecis&EShOs

Connexion au serveur MySQL depuis le conteneur

Une fois le serveur prêt, vous pouvez exécuter le mysql client dans le serveur MySQL conteneur que vous venez de démarrer et connectez-le au serveur MySQL. Utilisez la docker exec -it commande pour démarrer un mysql client dans le conteneur Docker vous ont commencé, comme suit :

docker exec -it mysql1 mysql -uroot-p

Lorsqu’on vous le demande, entrez le mot de passe root généré (voir la dernière étape dans Démarrer une instance de serveur MySQL ci-dessus sur la façon dont pour trouver le mot de passe). Parce que le MYSQL_ONETIME_PASSWORDl’option est vraie par défaut, après avoir connecté un mysql client sur le serveur, vous devez réinitialiser le mot de passe root du serveur en émettant cette instruction :

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';

Remplacer passwordavec le mot de passe de votre choix. Une fois le mot de passe réinitialisé, le serveur est prêt pour utilisation.

Accès au shell du conteneur

Pour avoir un accès shell à votre conteneur MySQL Server, utilisez le docker exec -it commande pour démarrer un shell bash à l’intérieur du conteneur :

$> docker exec -it mysql1 bash
bash-4.2#

Vous pouvez ensuite exécuter des commandes Linux à l’intérieur du conteneur. Pour exemple, pour afficher le contenu du répertoire de données du serveur à l’intérieur le conteneur, utilisez cette commande :

bash-4.2# ls /var/lib/mysql
auto.cnf    ca.pem	     client-key.pem  ib_logfile0  ibdata1  mysql       mysql.sock.lock	   private_key.pem  server-cert.pem  sys
ca-key.pem  client-cert.pem  ib_buffer_pool  ib_logfile1  ibtmp1   mysql.sock  performance_schema  public_key.pem   server-key.pem

Arrêter et supprimer un conteneur MySQL

Pour arrêter le conteneur MySQL Server que nous avons créé, utilisez ceci commander:

docker stop mysql1

docker stop envoie un signal SIGTERM au mysqld processus , pour que le serveur soit fermé vers le bas avec grâce.

Notez également que lorsque le processus principal d’un conteneur ( mysqld dans le cas d’un serveur MySQL conteneur) est arrêté, le conteneur Docker s’arrête automatiquement.

Pour redémarrer le conteneur MySQL Server :

docker start mysql1

Pour arrêter et redémarrer le conteneur MySQL Server avec un seul commander:

docker restart mysql1

Pour supprimer le conteneur MySQL, arrêtez-le d’abord, puis utilisez le docker rm commande :

docker stop mysql1
docker rm mysql1

Si vous voulez le Docker volume pour le répertoire de données du serveur à supprimer à en même temps, ajoutez le -voption à la docker rm commande .

Mettre à niveau un conteneur de serveur MySQL

Important
  • Avant d’effectuer toute mise à niveau vers MySQL, suivez attentivement les instructions du chapitre 10, Mise à niveau de MySQL . Parmi d’autres instructions qui y sont discutées, c’est surtout important de sauvegarder votre base de données avant la mise à niveau.

  • Les instructions de cette section exigent que le serveur les données et la configuration ont été conservées sur l’hôte. Voir Données persistantes et modifications de configuration pour les détails.

Suivez ces étapes pour mettre à niveau une installation Docker de MySQL 5.7 à 8.0 :

  • Arrêtez le serveur MySQL 5.7 (le nom du conteneur est mysql57dans cet exemple):

    docker stop mysql57
  • Téléchargez l’image Docker du serveur MySQL 8.0. Voir les instructions dans Téléchargement d’une image Docker du serveur MySQL ; assurez-vous utilisez la bonne balise pour MySQL 8.0.

  • Démarrez un nouveau conteneur Docker MySQL 8.0 (nommé mysql80dans cet exemple) avec l’ancien données et configuration du serveur (avec les modifications appropriées si nécessaires—voir Chapitre 10, Mise à niveau de MySQL ) qui ont été persisté sur l’hôte (par montage de liaison dans cet exemple). Pour le serveur de communauté MySQL, exécutez ceci commander:

    docker run --name=mysql80 \
       --mount type=bind,src=/path-on-host-machine/my.cnf,dst=/etc/my.cnf \
       --mount type=bind,src=/path-on-host-machine/datadir,dst=/var/lib/mysql \
       -d mysql/mysql-server:8.0
  • Si besoin, ajustez mysql/mysql-serverà le nom d’image correct, par exemple, remplacez-le par container-registry.oracle.com/mysql/enterprise-server pour les images MySQL Enterprise Edition téléchargées depuis l’OCR, ou mysql/enterprise-serverpour les images MySQL Enterprise Edition téléchargé depuis Mon Assistance Oracle .

  • Attendez que le serveur ait fini de démarrer. Vous pouvez vérifier le état du serveur à l’aide du docker ps commande (voir Démarrer une instance de serveur MySQL pour savoir comment faire).

  • Pour MySQL 8.0.15 et versions antérieures : exécutez le mysql_upgrade utilitaire dans le conteneur MySQL 8.0 Server (non requis pour MySQL 8.0.16 et versions ultérieures) :

    docker exec -it mysql80 mysql_upgrade -uroot-p
  • Lorsque vous y êtes invité, entrez le mot de passe root de votre ancien MySQL 5.7 Serveur.

  • Terminez la mise à niveau en redémarrant le serveur MySQL 8.0 récipient:

    docker restart mysql80

Laisser un commentaire

Translate »