<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: hokutoasari</title>
    <description>The latest articles on DEV Community by hokutoasari (@hokutoasari).</description>
    <link>https://dev.to/hokutoasari</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F553966%2F1706e94b-40cf-4222-b26e-2997e6fe5f63.jpg</url>
      <title>DEV Community: hokutoasari</title>
      <link>https://dev.to/hokutoasari</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hokutoasari"/>
    <language>en</language>
    <item>
      <title>Create new laravel project via docker with one liner.</title>
      <dc:creator>hokutoasari</dc:creator>
      <pubDate>Tue, 19 Jan 2021 21:49:27 +0000</pubDate>
      <link>https://dev.to/hokutoasari/create-new-laravel-project-via-docker-with-one-liner-2k2i</link>
      <guid>https://dev.to/hokutoasari/create-new-laravel-project-via-docker-with-one-liner-2k2i</guid>
      <description>&lt;h2&gt;
  
  
  Just run follow command.
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;% docker run &lt;span class="nt"&gt;--rm&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="nt"&gt;-v&lt;/span&gt; &lt;span class="nv"&gt;$PWD&lt;/span&gt;:/app composer create-project &lt;span class="nt"&gt;--prefer-dist&lt;/span&gt; laravel/laravel &lt;span class="o"&gt;(&lt;/span&gt;YOUR PROJECT NAME HERE&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;* &lt;code&gt;- i&lt;/code&gt; and &lt;code&gt;-t&lt;/code&gt; is not requirement, it's just a prettier.&lt;/li&gt;
&lt;li&gt;* Also &lt;code&gt;--rm&lt;/code&gt; too, it's to remove unnecessary containers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Installed docker(ex. Docker desktop for mac, windows or just Docker for linux)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's doing this command?
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Fetch composer(latest) image from docker hub.(&lt;a href="https://hub.docker.com/_/composer"&gt;https://hub.docker.com/_/composer&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Mount $PWD path of host to &lt;code&gt;/app&lt;/code&gt; of container directory.&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;create-project --prefer-dist laravel/laravel (YOUR PROJECT NAME HERE)&lt;/code&gt; in fetched container.&lt;/li&gt;
&lt;li&gt;Finally, you can see laravel project files in &lt;code&gt;(YOUR PROJECT NAME HERE)&lt;/code&gt; directory.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Why mount &lt;code&gt;/app&lt;/code&gt; directory?
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;/app&lt;/code&gt; directory is specified working directory, from composer image via &lt;a href="https://github.com/composer/docker/blob/582c6f4e10b6b8fbf9bc1c5b02d6ec24694fe8d4/2.0/Dockerfile#L60"&gt;https://github.com/composer/docker/blob/582c6f4e10b6b8fbf9bc1c5b02d6ec24694fe8d4/2.0/Dockerfile#L60&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So, if composer's Dockerfile updated, then we must change mount directory path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Specific version for laravel
&lt;/h2&gt;

&lt;p&gt;If you want use specific version laravel, then you can use  "laravel/laravel=6.*" statement in your command.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>docker</category>
    </item>
  </channel>
</rss>
