<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom">
<title>Tyler Cipriani: Development Environments with Vagrant, Docker, and Supervisord</title>
<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/"/>
<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comments.atom" rel="self" type="application/atom+xml"/>
<author>

<name>Tyler Cipriani</name>

</author>

<rights type="html" xml:lang="en">

	<a href="https://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike License</a>
	Copyright © 2017 Tyler Cipriani

</rights>


<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/</id>

<subtitle type="html">Tyler Cipriani</subtitle>
<generator uri="http://ikiwiki.info/">ikiwiki</generator>
<updated>2018-06-13T19:34:11Z</updated>
<entry>
	<title>comment 1</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_1_94011c96e3ab4e2651bfd1c578b02bc2/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-452a2675ab67982aa9ebb1d457bc2304"/>

	<author><name>chris</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2014-07-08T08:30:14Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;Such a great article, and a great insight. This pushed me into downloading docker and vagrant although I keep on getting the error “The Docker provider was able to bring up the host VM successfully but the host VM is still reporting that SSH is unavailable.”; been pulling my hair out for days…..&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 2</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_2_13d27fb429ff94f678346c9339dc7398/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-79a776f50e11235e5fb0e44d6519cc37"/>

	<author><name>thcipriani</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2014-07-08T08:59:42Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;I wonder if you need to setup openssh via the dockerfile and run it as part of supervisord…?&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 3</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_3_d64232b2e2283ba003a7caa2b061d6e2/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-af0b0b69c18ab73d86f12632168fa17a"/>

	<author><name>chris</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2014-07-08T09:30:56Z</published>


	<content type="html" xml:lang="en">
	any tips on where i’d start with that??

	</content>



</entry>
<entry>
	<title>comment 4</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_4_f1c153874b7f5921200cff02f40e4a81/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-d2763261ba12e746a29d18a66f1b7b05"/>

	<author><name>willsp</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2014-08-05T07:12:25Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;I tried to implement the code posted and, for some bizarre reason, nothing shows up on the browser when I go to http://localhost:8080/index.php. Looks like the ngnix is not forwarding the requests to PHP. Do you have a repo or something with the code so that I can test against your code? Thanks.&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 5</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_5_4bddf05d68e01b043952bf028d83240d/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-1ccacad5e870e7b1facab0692f4b9939"/>

	<author><name>thcipriani</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2014-08-05T08:02:48Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;Sure: &lt;a href=&quot;https://github.com/thcipriani%20/vagrant-docker&quot;&gt;https://github.com/thcipriani/…&lt;/a&gt;&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 6</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_6_37a21a336558607c10f6c208862938b8/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-74888ef5be5bdeb0b5cdfc9acfb7ea14"/>

	<author><name>anonymized-1575670602</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2014-09-05T11:42:48Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;Unfortunately, the Vagrant support for Docker as a provider isn’t quite seamless across platforms as the documentation seems to indicate. Ports are not forwarded from the docker host vm to the main host machine automatically. The fix is to use a proxy Vagrantfile that explicitly forwards the ports you need. See &lt;a href=&quot;https://gist.github.com/audioner%20d/d7d77d9af080a7a87d9b&quot;&gt;https://gist.github.com/audion…&lt;/a&gt; for a discussion of the issue and &lt;a href=&quot;https://github.com/simono/vm-%20examples/blob/master/docker-host/Vagrantfile&quot;&gt;https://github.com/simono/vm-e…&lt;/a&gt; for a simple and lightweight proxy Vagrantfile.&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 7</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_7_4774051b64344d42b7223f8b3655d7e2/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-d74f8a4c56b75a8721c663bee83686fb"/>

	<author><name>lance</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2014-09-05T11:43:51Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;Unfortunately, it seems that as of Vagrant 1.6, the Vagrant support for Docker as a provider isn’t quite seamless across platforms as the documentation seems to indicate. Ports are not forwarded from the docker host vm to the main host machine automatically. The fix is to use a proxy Vagrantfile that explicitly forwards the ports you need. See &lt;a href=&quot;https://g%20ist.github.com/audionerd/d7d77d9af080a7a87d9b&quot;&gt;https://gist.github.com/audion…&lt;/a&gt; for a discussion of the issue and &lt;a href=&quot;https://github.com/simono/vm-%20examples/blob/master/docker-host/Vagrantfile&quot;&gt;https://github.com/simono/vm-e…&lt;/a&gt; for a simple and lightweight proxy Vagrantfile.&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 8</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_8_d9a6c4c014c904edf6b0f4c533d3aa19/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-6d79d7be1fd3f0bc5454f36d4ef5360f"/>

	<author><name>teddy</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2014-12-08T14:39:54Z</published>


	<content type="html" xml:lang="en">
	Extremely helpful. Thanks!

	</content>



</entry>
<entry>
	<title>comment 9</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_9_4e85d13ea2380db177e463ff31ad9fb4/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-29775f088524a218856a44d032face44"/>

	<author><name>usa</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2015-02-07T07:02:12Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;lo-and-below: love your wit. Wish I could get my stinkin’ Mac OS X &amp;gt; Vagrant &amp;gt; Docker &amp;gt; container &amp;gt; –volumes-from &amp;gt; chown &amp;gt; permissions &amp;gt; problems working, but I’ll be watching your blog, if only for the English prose. Keep it up!&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 10</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_10_0a70c40208e0fbcb7c8b46892fc03852/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-22016da5dfba2e3d8204e064f54acf9d"/>

	<author><name>thomas.readings</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2015-05-13T03:05:13Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;Your position (state?) and process beautifully explained, thank you. Also a really well presented website.&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 11</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_11_f86dea7cf891ccedeb8512317467dd88/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-357c65439a22c31d396ee2db1dff0419"/>

	<author><name>me</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2015-05-23T08:39:08Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;Great article Tyler, and extremely well written. I’m setting up a continuous development environment for a personal Microsoft C# project and understanding how Docker/Chef/Vagrant intersect is surprisingly hard to do &lt;img src=&quot;https://tylercipriani.com/smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 12</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_12_cf2089a50d718dba0dcf47fc22070738/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-473e3974cee1f719f1e27219baf051e1"/>

	<author><name>pperez</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2015-06-19T16:55:50Z</published>


	<content type="html" xml:lang="en">
	I’m hoping to fix those issues too!

	</content>



</entry>
<entry>
	<title>comment 13</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_13_ea4ba5f83dc5a649e4b0f3114c50432a/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-8c368de3630266efffe7a51e5afe3921"/>

	<author><name>hugo.victor.dias.teodoro</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2015-06-23T13:02:54Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;THANKS for sharing your project folder structure man! That’s the first post i found showing that stuff. I’ll definitely use this structure for learning about docker. Thanks again &lt;img src=&quot;https://tylercipriani.com/smileys/smile.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Suggestion: As a OSX user i don’t have docker on my machine. Why not add “d.image =”ubuntu/latest&quot; in the vagrant file instead of using this command before do a vagrant up ?&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 14</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_14_aad8d598c4b0f5e873304f9e0b92f25f/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-647d46c4515962263c062e9c87d3cf45"/>

	<author><name>chadcarbert</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2015-09-18T21:39:49Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;This is a great run down of using docker for local development. I’m working through a similar issue, but I’m setting up a LAMP stack. In your situation everything exists only in the container environment, except with &lt;code&gt;/var/www&lt;/code&gt; linked to the host, with some help from vagrant. In your example however you’re not using a database, I was wondering how you would plan on persisting a database to the host file system. Taking a guess, would you just throw it somewhere with another VOLUME command in your Dockerfile, and sync it to a &lt;code&gt;db&lt;/code&gt; folder?&lt;/p&gt;
&lt;p&gt;As a side-note I’m considering using &lt;code&gt;baseimage-docker&lt;/code&gt; as an image starting point as it solves a few different issues in the multi-process setup. It also uses &lt;code&gt;runit&lt;/code&gt; which the author finds to provide better performance than &lt;code&gt;supervisor&lt;/code&gt;, but I haven’t tested this.&lt;/p&gt;
&lt;p&gt;Instead of using vagrant, in a docker-only situation the “sync folders” that vagrant is doing would have to be done via a &lt;code&gt;docker run -v&lt;/code&gt;. How a container links to its host is host-dependent, and should be managed via each person rather than making assumptions about the host’s filesystem. This is one thing that your Vagrantfile sets up, although I suppose you could throw the &lt;code&gt;docker -run...&lt;/code&gt; in a &lt;code&gt;[docker-run.sh](http://docker-run.sh)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Thanks for writing up this, it solves my ninety percent of my use-case.&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 15</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_15_e94e88e728751332b74ec88b7de5986f/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-35dca85bf9e3f37029646cb922337ea2"/>

	<author><name>aladsa</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2016-05-29T14:21:44Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;INFO interface: error: There was an error loading a Vagrantfile. The file being loaded&lt;/p&gt;
&lt;p&gt;and the error message are shown below. This is usually caused by&lt;/p&gt;
&lt;p&gt;a syntax error.&lt;/p&gt;
&lt;p&gt;Path: &lt;/p&gt;
&lt;p&gt;Line number: 6&lt;/p&gt;
&lt;p&gt;Message: NoMethodError: undefined method `&amp;lt;&amp;lt;’ for #&lt;/p&gt;
&lt;p&gt;There was an error loading a Vagrantfile. The file being loaded&lt;/p&gt;
&lt;p&gt;and the error message are shown below. This is usually caused by&lt;/p&gt;
&lt;p&gt;a syntax error.&lt;/p&gt;
&lt;p&gt;Path: &lt;/p&gt;
&lt;p&gt;Line number: 6&lt;/p&gt;
&lt;p&gt;Message: NoMethodError: undefined method `&amp;lt;&amp;lt;’ for #&lt;/p&gt;
&lt;p&gt;INFO interface: Machine: error-exit [“Vagrant::Errors::VagrantfileLoadError”, “There was an error loading a Vagrantfile. The file being loadedthe error message are shown below. This is usually caused bysyntax error.: number: 6: NoMethodError: undefined method `&amp;lt;&amp;lt;’ for #”]&lt;/p&gt;


	</content>



</entry>
<entry>
	<title>comment 16</title>

	<id>https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/comment_16_4d2ccb2b5437c5ae31f38fcc128bf2f7/</id>

	<link href="https://tylercipriani.com/blog/2014/05/25/lightweight-portable-vagrant-docker/#comment-a05bedd97ba247b3f664f7ae1897f1ce"/>

	<author><name>thcipriani</name></author>





	<updated>2018-06-13T19:34:11Z</updated>
	<published>2016-05-31T08:34:33Z</published>


	<content type="html" xml:lang="en">
	&lt;p&gt;I’m unclear if you’re telling me something is wrong in my post, or if you’re asking for help. Also, in future, use of a pastebin would be appreciated.&lt;/p&gt;
&lt;p&gt;It is difficult to troubleshoot without knowing the contents of the Vagrantfile and os/version of host; however, what is clear is that whatever you’re sending the &lt;code&gt;&amp;lt;&amp;lt;&lt;/code&gt; message to is an object that doesn’t respond to that method. In my example above, &lt;code&gt;d.ports&lt;/code&gt; is an &lt;a&gt;Array&lt;/a&gt; that does accept the &lt;code&gt;&amp;lt;&amp;lt;&lt;/code&gt; message.&lt;/p&gt;
&lt;p&gt;It’s entirely possible something about Vagrantfiles has changed in the almost exactly 2 years since this post.&lt;/p&gt;


	</content>



</entry>

</feed>
