<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Boot2docker on Jean-Christophe Gay</title><link>https://jeanchristophegay.com/tags/boot2docker/</link><description>Recent content in Boot2docker on Jean-Christophe Gay</description><generator>Hugo -- gohugo.io</generator><language>fr-FR</language><copyright>© 2026 Jean-Christophe Gay</copyright><lastBuildDate>Sun, 22 Sep 2019 00:02:45 +0200</lastBuildDate><atom:link href="https://jeanchristophegay.com/tags/boot2docker/index.xml" rel="self" type="application/rss+xml"/><item><title>Migrer de boot2docker vers docker-machine</title><link>https://jeanchristophegay.com/posts/migrer-boot2docker-vers-docker-machine/</link><pubDate>Sun, 31 Jan 2016 16:13:00 +0200</pubDate><guid>https://jeanchristophegay.com/posts/migrer-boot2docker-vers-docker-machine/</guid><description>&lt;p&gt;Ça fait un moment qu&amp;rsquo;à chaque utilisation de la commande &lt;code&gt;boot2docker&lt;/code&gt; j&amp;rsquo;ai un joli message d&amp;rsquo;avertissement :&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; WARNING: The &amp;#39;boot2docker&amp;#39; command line interface (not to be confused with
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;#39;boot2docker&amp;#39; the operating system) is officially deprecated.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Please switch to Docker Machine (https://docs.docker.com/machine/) ASAP.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Docker Toolbox (https://docker.com/toolbox) is the recommended install method.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Je me suis dit qu&amp;rsquo;il était temps de finalement faire la migration et de tester quelques goodies !&lt;/p&gt;

&lt;h1 class="relative group"&gt;Désinstallation boot2docker
 &lt;div id="désinstallation-boot2docker" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#d%c3%a9sinstallation-boot2docker" aria-label="Ancre"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;C&amp;rsquo;est la partie simple,&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; boot2docker delete
&amp;gt; brew uninstall boot2docker
&lt;/code&gt;&lt;/pre&gt;

&lt;h1 class="relative group"&gt;Installation de docker-machine
 &lt;div id="installation-de-docker-machine" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#installation-de-docker-machine" aria-label="Ancre"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;Là encore &lt;code&gt;brew&lt;/code&gt; nous sauve la vie,&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; brew install docker-machine
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;docker-machine&lt;/code&gt; va nous permettre de provisionner &lt;code&gt;docker&lt;/code&gt; dans des machines virtuelles (qu&amp;rsquo;elles soient locales ou dans le cloud) et il se charge de configurer le client &lt;code&gt;docker&lt;/code&gt; pour parler avec ces machines.&lt;/p&gt;
&lt;p&gt;Pour reproduire l&amp;rsquo;utilisation de &lt;code&gt;boot2docker&lt;/code&gt; il faut créer un environnement en utilisant le driver &lt;code&gt;virtualbox&lt;/code&gt; :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; docker-machine create --driver virtualbox dev
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;L&amp;rsquo;argument &lt;code&gt;dev&lt;/code&gt; est le nom que de la machine, on peut y mettre ce qu&amp;rsquo;on veut.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Creating CA: /Users/jcgay/.docker/machine/certs/ca.pem
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Creating client certificate: /Users/jcgay/.docker/machine/certs/cert.pem
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Running pre-create checks...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Image cache directory does not exist, creating it at /Users/jcgay/.docker/machine/cache...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) No default Boot2Docker ISO found locally, downloading the latest release...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Latest release for github.com/boot2docker/boot2docker is v1.9.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Boot2Docker v1.9.1 has a known issue with AUFS.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) See here for more details: https://github.com/docker/docker/issues/18180
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Consider specifying another storage driver (e.g. &amp;#39;overlay&amp;#39;) using &amp;#39;--engine-storage-driver&amp;#39; instead.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Downloading /Users/jcgay/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v1.9.1/boot2docker.iso...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Creating machine...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Copying /Users/jcgay/.docker/machine/cache/boot2docker.iso to /Users/jcgay/.docker/machine/machines/dev/boot2docker.iso...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Creating VirtualBox VM...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Creating SSH key...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Starting the VM...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;(dev) Waiting for an IP...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Waiting for machine to be running, this may take a few minutes...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Machine is running, waiting for SSH to be available...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Detecting operating system of created instance...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Detecting the provisioner...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Provisioning with boot2docker...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Copying certs to the local machine directory...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Copying certs to the remote machine...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Setting Docker configuration on the remote daemon...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Checking connection to Docker...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Docker is up and running!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;To see how to connect Docker to this machine, run: docker-machine env dev&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;On peut bien entendu configurer un certains nombre d&amp;rsquo;options (CPU, mémoire, etc). La liste complète est disponible dans la &lt;a href="https://docs.docker.com/machine/drivers/virtualbox/" target="_blank" rel="noreferrer"&gt;documentation du driver VirtualBox&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On voit que &lt;code&gt;docker-machine&lt;/code&gt; se charge de télécharger un ISO &lt;code&gt;boot2docker&lt;/code&gt;, il nous indique aussi la commande à exécuter pour configurer le client &lt;code&gt;docker&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; docker-machine env dev
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;export DOCKER_TLS_VERIFY=&amp;#34;1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;export DOCKER_HOST=&amp;#34;tcp://192.168.99.100:2376&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;export DOCKER_CERT_PATH=&amp;#34;/Users/jcgay/.docker/machine/machines/dev&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;export DOCKER_MACHINE_NAME=&amp;#34;dev&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# Run this command to configure your shell:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# eval $(docker-machine env dev)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Allez on finit donc par un :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; eval $(docker-machine env dev)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Et voilà &lt;code&gt;docker&lt;/code&gt; fonctionne comme avant !&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; docker-machine stop dev
&lt;/code&gt;&lt;/pre&gt;

&lt;h1 class="relative group"&gt;Les volumes
 &lt;div id="les-volumes" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#les-volumes" aria-label="Ancre"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;Je dois certainement mal m&amp;rsquo;y prendre mais c&amp;rsquo;est vraiment la fonctionnalité qui me pose tout le temps problème, à chaque fois que j&amp;rsquo;essaie de démarrer un conteneur en mappant un volume sur ma machine, j&amp;rsquo;ai des problèmes de droit 🤔&lt;/p&gt;
&lt;p&gt;Par exemple avec &lt;a href="https://hub.docker.com/_/mongo/" target="_blank" rel="noreferrer"&gt;mongo&lt;/a&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; docker run -v /Users/jcgay/data/mongo:/data/db mongo
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=968af53e81ec
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] db version v3.2.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] git version: a14d55980c2cdc565d4704a7e3ad37e4e535c1b2
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] allocator: tcmalloc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] modules: none
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] build environment:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] distmod: debian71
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] distarch: x86_64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] target_arch: x86_64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] options: {}
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[initandlisten] exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;ou encore &lt;a href="https://hub.docker.com/_/mysql/" target="_blank" rel="noreferrer"&gt;mysql&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;gt; docker run -v /Users/jcgay/tmp/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=plop mysql 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Initializing database
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] InnoDB: Operating system error number 13 in a file operation.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] InnoDB: Operating system error number 13 in a file operation.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] InnoDB: The error means mysqld does not have the access rights to the directory.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] InnoDB: Cannot open datafile &amp;#39;./ibdata1&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] InnoDB: Could not open or create the system tablespace. If you tried to add new data files to the system tablespace, and it failed here, you should now edit innodb_data_file_path in my.cnf back to what it was, and remove the new ibdata files InnoDB created in this failed attempt. InnoDB only wrote those files full of zeros, but did not yet use them in any way. But be careful: do not remove old data files which contain your precious data!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] InnoDB: InnoDB Database creation was aborted with error Cannot open a file. You may need to delete the ibdata1 file before trying to start up again.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] Plugin &amp;#39;InnoDB&amp;#39; init function returned error.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] Plugin &amp;#39;InnoDB&amp;#39; registration as a STORAGE ENGINE failed.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] Failed to initialize plugins.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[ERROR] Aborting&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Apparemment le partage de volume ne fonctionne que si le partage de stockage avec VirtualBox se fait avec l&amp;rsquo;utilisateur &lt;code&gt;root&lt;/code&gt;. Il y a un long &lt;a href="https://github.com/boot2docker/boot2docker/issues/581" target="_blank" rel="noreferrer"&gt;thread&lt;/a&gt; ouvert chez &lt;code&gt;boot2docker&lt;/code&gt;.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Activer NFS pour le mapping de volumes
 &lt;div id="activer-nfs-pour-le-mapping-de-volumes" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#activer-nfs-pour-le-mapping-de-volumes" aria-label="Ancre"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Le projet &lt;a href="https://github.com/adlogix/docker-machine-nfs" target="_blank" rel="noreferrer"&gt;docker-machine-nfs&lt;/a&gt; permet de remplacer le partage VirtualBox par du NFS. En bonus, les performances de lecture/écriture devraient être meilleures.&lt;/p&gt;
&lt;p&gt;Après installation, il faut activer NFS sur la machine désirée :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; docker-machine-nfs dev
&lt;/code&gt;&lt;/pre&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] Configuration:
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	- Machine Name: dev
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	- Shared Folder: /Users
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	- Force: false
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] machine presence ... 			OK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] machine running ... 			 OK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] Lookup mandatory properties ... OK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	- Machine IP: 192.168.99.100
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	- Network ID: vboxnet4
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;	- NFSHost IP: 192.168.99.1
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] Configure NFS ...
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; !!! Sudo will be necessary for editing /etc/exports !!!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;						
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] Configure Docker Machine ... 	OK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] Restart Docker Machine ... 		OK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[INFO] Verify NFS mount ... 			OK
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--------------------------------------------
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; The docker-machine &amp;#39;dev&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; is now mounted with NFS!
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ENJOY high speed mounts :D
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;--------------------------------------------&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Bon et en fait chez moi, ce n&amp;rsquo;est toujours pas mieux 😱&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;gt; docker run -v /Users/jcgay/tmp/mongo:/data/db mongo 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; chown: changing ownership of `/data/db&amp;#39;: Operation not permitted
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;gt; docker run -v /Users/jcgay/tmp/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=plop mysql 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; chown: changing ownership of &amp;#39;/var/lib/mysql/&amp;#39;: Operation not permitted&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;On peut modifier la configuration du mapping pour changer les droits, voir le &lt;a href="https://github.com/adlogix/docker-machine-nfs/issues/17" target="_blank" rel="noreferrer"&gt;ticket #17&lt;/a&gt;)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; docker-machine-nfs dev --force --nfs-config=&amp;quot;-alldirs -maproot=0&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Et enfin ça fonctionne ! 🎆🚀&lt;/p&gt;

&lt;h1 class="relative group"&gt;Docker survitaminé
 &lt;div id="docker-survitaminé" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#docker-survitamin%c3%a9" aria-label="Ancre"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;Maintenant que &lt;code&gt;docker-machine&lt;/code&gt; s&amp;rsquo;occupe de tout, on peut tenter d&amp;rsquo;utiliser d&amp;rsquo;autres drivers. On peut essayer &lt;a href="https://github.com/mist64/xhyve" target="_blank" rel="noreferrer"&gt;xhyve&lt;/a&gt; un hyperviseur natif pour OS X et ainsi se passer de VirtualBox.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; brew install xhyve docker-machine-driver-xhyve
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Oui il faut être root&amp;hellip;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
&amp;gt; sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;On crée la machine :&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; docker-machine create xhyve --driver xhyve --xhyve-experimental-nfs-share
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Toutes les options sont documentées sur la &lt;a href="https://github.com/zchee/docker-machine-driver-xhyve" target="_blank" rel="noreferrer"&gt;page officielle du driver&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Je ne me suis pas amusé à comparer les performances des deux solutions mais pour le moment je n&amp;rsquo;ai pas rencontré de soucis avec cette dernière.&lt;/p&gt;</description></item></channel></rss>