{"id":1848,"date":"2018-10-02T14:06:35","date_gmt":"2018-10-02T12:06:35","guid":{"rendered":"https:\/\/www.h-hennes.fr\/blog\/?p=1848"},"modified":"2018-10-02T14:06:35","modified_gmt":"2018-10-02T12:06:35","slug":"utiliser-plusieurs-version-mysql-avec-docker","status":"publish","type":"post","link":"https:\/\/www.h-hennes.fr\/blog\/2018\/10\/02\/utiliser-plusieurs-version-mysql-avec-docker\/","title":{"rendered":"Utiliser plusieurs version mysql avec docker"},"content":{"rendered":"<p>J&rsquo;ai r\u00e9cemment souhait\u00e9 tester un module sur d&rsquo;anciennes version de prestashop, mais celle-ci ne fonctionnaient pas correctement avec mysql 5.7 qui est install\u00e9 par d\u00e9faut sur mon serveur de d\u00e9veloppement ( bas\u00e9 sur ubuntu 16.04 )<\/p>\n<p>Ce service devant tourner de mani\u00e8re ponctuelle, l&rsquo;installer en doublon de la version 5.6 n&rsquo;\u00e9tait pas une option.<br \/>\nLa solution la plus simple est donc d&rsquo;utiliser docker, nous allons voir comment avoir un autre serveur de base de donn\u00e9es avec la version 5.6 en quelques minutes \ud83d\ude42<\/p>\n<p><strong>Installation de docker<\/strong><\/p>\n<p>Pour cela je vous envoie vers la documentation officielle qui explique tout tr\u00e8s bien : <a href=\"https:\/\/docs.docker.com\/install\/linux\/docker-ce\/ubuntu\/#extra-steps-for-aufs\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.docker.com\/install\/linux\/docker-ce\/ubuntu\/#extra-steps-for-aufs<\/a><\/p>\n<p><strong>Installer docker-compose<\/strong><\/p>\n<pre lang=\"bash\">sudo apt-get install docker-compose<\/pre>\n<p><strong>Cr\u00e9ation du fichier docker-compose<\/strong><\/p>\n<p>Pour le ranger j&rsquo;ai\u00a0 cr\u00e9er un dossier \/mysql56 dans mon dossier home<\/p>\n<pre lang=\"bash\">mkdir ~\/mysql56<\/pre>\n<p>Dans lequel on va cr\u00e9er un dossier <em>\/data<\/em> qui contiendra le contenu des bases de donn\u00e9es du container.<br \/>\nCeci permettra de persister les donn\u00e9es en \u00e9teignant le container.<\/p>\n<p>On va ensuite installer l&rsquo;image mysql5.6 en cr\u00e9ant un fichier docker-compose.yml dans le dossier avec le contenu suivant<\/p>\n<pre lang=\"yml\">version: '2'\r\nservices:\r\n  mysql5.6:\r\n    image: mysql:5.6\r\n    restart: always\r\n    volumes:\r\n     - .\/data:\/var\/lib\/mysql\r\n    environment:\r\n      MYSQL_ROOT_PASSWORD: root\r\n    ports:\r\n        - \"3309:3309\"\r\n    networks:\r\n      network:\r\n         ipv4_address: 172.20.0.2\r\nnetworks:\r\n    network:\r\n        ipam:\r\n            config:\r\n                - subnet: 172.20.0.0\/16\r\n<\/pre>\n<p>Celui-ci va lancer\u00a0 une base de donn\u00e9es mysql 5.6 en compl\u00e9ment de la version 5.7 ,celle-ci sera accessible via l&rsquo;ip <em>172.20.0.2<\/em> et le login \/ mot de passe : root \/ root<\/p>\n<p>Pour lancer le container il suffit ensuite de lancer la commande :<\/p>\n<pre lang=\"bash\">sudo docker-compose up<\/pre>\n<p>Si vous souhaitez lancer la commande en background vous pouvez rajouter l&rsquo;option \u00ab\u00a0-d\u00a0\u00bb<\/p>\n<p>Vous pouvez ensuite consulter les containers en cours d&rsquo;\u00e9x\u00e9cution via la commande :<\/p>\n<pre lang=\"bash\">sudo docker-compose ps<\/pre>\n<p>Et les arr\u00eater via la commande<\/p>\n<pre lang=\"bash\">sudo docker-compose stop<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>J&rsquo;ai r\u00e9cemment souhait\u00e9 tester un module sur d&rsquo;anciennes version de prestashop, mais celle-ci ne fonctionnaient pas correctement avec mysql 5.7 qui est install\u00e9 par d\u00e9faut sur mon serveur de d\u00e9veloppement ( bas\u00e9 sur ubuntu 16.04 ) Ce service devant tourner de mani\u00e8re ponctuelle, l&rsquo;installer en doublon de la version 5.6 n&rsquo;\u00e9tait pas une option. La [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[254],"tags":[531,532,75],"class_list":["post-1848","post","type-post","status-publish","format-standard","hentry","category-serveurs-dedies","tag-docker","tag-docker-compose","tag-mysql"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1848","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/comments?post=1848"}],"version-history":[{"count":1,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1848\/revisions"}],"predecessor-version":[{"id":1849,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/1848\/revisions\/1849"}],"wp:attachment":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/media?parent=1848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/categories?post=1848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/tags?post=1848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}