<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="187563" data-post-id="187563">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="brundozer" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/brundozer/120/32113_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  brundozer
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I was unaware of this, I’ve been using version 3.* all the time. What makes 2.* version more suitable for normal docker flow in development?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187563" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-187563" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187563"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #12"></div>
  </section>
</div>
    <div class="postbit" id="187572" data-post-id="187572">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="slouchpie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/slouchpie/120/34819_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  slouchpie
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I would love to see other people’s docker setup for Phoenix app in :dev env. Please share.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187572" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-187572" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187572"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #14"></div>
  </section>
</div>
    <div class="postbit" id="187622" data-post-id="187622">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="cnck1387" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  cnck1387
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Exadra37" data-post="4" data-topic="33998">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/exadra37/48/9183_2.png" class="avatar"> Exadra37:</div>
<blockquote>
<p>For development <strong>never</strong> use the <code>COPY</code> or <code>ADD</code> command in your Dockerfile, just map the the required folders in <code>docker-compose.yml</code> file.</p>
</blockquote>
</aside>
<p>You should use <code>COPY</code> in development, because ideally you’d have 1 Dockerfile that is identical for both development and production and you can use multi-stage builds to make your production image smaller in the end.</p>
<p>Then for having a dev environment that’s developer friendly, you can set up a volume mount in docker-compose.yml because a volume mount will override what you COPY in, if it’s the same destination directory.</p>
<p>If you really wanted to focus on having the same Dockerfile / docker-compose.yml file in both dev and prod (which I highly recommend), you can define that volume with an environment variable and have the prod one lead to an unused directory.</p>
<p>Order of operations in your Dockerfile should be this as separate layers:</p>
<ul>
<li>Copy in mix / lock files</li>
<li>Install dependencies</li>
<li>Copy in all of your code</li>
</ul>
<p>This way you don’t need to rebuild all of your dependencies when you build a new image that only contains changing a few lines of application code (such as editing an EEx template).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187622" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-187622" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187622"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #15"></div>
  </section>
</div>
    <div class="postbit" id="187623" data-post-id="187623">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Exadra37" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Exadra37/120/9183_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Exadra37
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="slouchpie" data-post="12" data-topic="33998">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/slouchpie/48/34819_2.png" class="avatar"> slouchpie:</div>
<blockquote>
<p>Sure, if the deps are new, then you would have to rebuild. But what I look for is the smallest possible "boot"time. I don’t want anything being compiled or fetched just because I <code>docker-compose down</code> to go to the shop for 10 minutes.</p>
</blockquote>
</aside>
<p>If you map the entire app folder in the docker compose file you don’t loose your compiled dependencies when you do docker compose down or even if you remove/rebuild the docker image. Therefore it also doesn’t affect the boot time. You just need to to do the usual <code>mix deps.get &amp;&amp; mix compile</code> when you use the app after the first time you build the docker image, but even this can be automated as I do in my docker projects.</p>
<aside class="quote no-group" data-username="slouchpie" data-post="12" data-topic="33998">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/slouchpie/48/34819_2.png" class="avatar"> slouchpie:</div>
<blockquote>
<p>I also don’t think it’s good to have absolute rules such as “ <strong>never</strong> use the <code>COPY</code> …command…[for development]”.</p>
</blockquote>
</aside>
<p>Well I don’t like to use that word in my life, and should not have used it here, but I still stand for my principle that I don’t see it as a good fit for any development scenario.</p>
<p>I my opinion the <code>COPY</code> or <code>ADD</code> commands are very useful when building a release of the app inside a docker container, other them that is just getting in my way.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187623" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-187623" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187623"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #16"></div>
  </section>
</div>
    <div class="postbit" id="187689" data-post-id="187689">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="H12" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/H12/120/19280_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  H12
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<blockquote>
<p>Your given code does not even run for me. I get permission denied error when container tries to run  <code>run.sh</code> .</p>
</blockquote>
<p>Ah right, forgot to mention: I had to give the <code>run.sh</code> file execute permissions with <code>chmod +x run.sh</code>.</p>
<blockquote>
<p>Try this setup</p>
</blockquote>
<p>This appears to have fixed my problem!</p>
<p>There were a couple of things I had to tweak to fit my setup, since it looks like the <code>Dockerfile</code> &amp;<code> docker-compose.yml</code> you provided had some extra goodies I didn’t have/need (e.g. the chromium-driver &amp; a seeds directory). I also had some problems with <code>docker-compose up</code> failing due to the <code>assets</code> directory volume being set to read-only, but removing the <code>:ro</code> fixed that.</p>
<p>Another quick note is that, because I’m on MacOS, <code>COPY</code>ing existing dependencies and compiled artifacts can cause problems. This was solved by <code>rm -rf</code>ing the appropriate directories before building the container.</p>
<p>Anyway, here’s the final result:</p>
<p>Dockerfile</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">FROM elixir:1.10

RUN apt-get update
RUN apt-get install --yes build-essential inotify-tools

# Set working directory
RUN mkdir -p /app
WORKDIR /app

# Install hex, rebar, and phx_new
RUN mix local.hex --force &amp;&amp; \
  mix local.rebar --force &amp;&amp; \
  mix archive.install --force hex phx_new

# Copy and install the elixir deps
COPY mix.exs .
COPY mix.lock .
RUN mix deps.get &amp;&amp; mix deps.compile

# Install nodejs
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - &amp;&amp;\
      apt-get install --yes nodejs

# Copy and install the nodejs deps
COPY assets ./assets
WORKDIR /app/assets
RUN npm install
WORKDIR /app

# Copy over compiled files
COPY config ./config
COPY lib ./lib
COPY priv ./priv
COPY test ./test

# Compile the app
RUN mix compile

# Compile deps in test environment for faster test runs when built
RUN MIX_ENV=test mix deps.compile

# Set the run command
CMD ["mix", "phx.server"]
</code></pre>
<p>docker-compose.yml</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">version: "3"
services:
  app:
    build: .
    ports:
      - "4000:4000"
    volumes:
      - /app/assets/node_modules
      - ./assets:/app/assets
      - ./config:/app/config:ro
      - ./lib:/app/lib:ro
      - ./priv:/app/priv
      - ./test:/app/test:ro
      - ./mix.exs:/app/mix.exs:ro
</code></pre>
<p>My <em>suspicion</em> is that the root cause of my issue was not having a volume for my <code>config</code> directory. Maybe something about those files living in the container was causing the CodeReloader to freak out? Who knows.</p>
<p>Thanks for the help! This had been driving me crazy for a while.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187689" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-187689" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187689"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #17"></div>
  </section>
</div>
    <div class="postbit" id="187722" data-post-id="187722">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="slouchpie" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/slouchpie/120/34819_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  slouchpie
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’m glad you got it!</p>
<p>Yes I made run.sh executable but still had that problem.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="187722" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-187722" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="187722"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #18"></div>
  </section>
</div>
    <div class="postbit" id="188460" data-post-id="188460">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="hagi" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hagi/120/12553_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  hagi
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<blockquote>
<p>My <em>suspicion</em> is that the root cause of my issue was not having a volume for my <code>config</code> directory. Maybe something about those files living in the container was causing the CodeReloader to freak out? Who knows.</p>
</blockquote>
<p>This is exactly what solved the same problem on my setup. I didn’t copy anything in Dockerfile, just added bunch of volumes based on  <a class="mention" href="/u/slouchpie" rel="nofollow">@slouchpie</a> snippets.</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">    volumes:
      - ./_build:/app/_build
      - ./assets:/app/assets
      - ./config:/app/config:ro
      - ./deps:/app/deps
      - ./lib:/app/lib
      - ./priv:/app/priv
      - ./test:/app/test
      - ./mix.exs:/app/mix.exs:ro
      - ./mix.lock:/app/mix.lock
</code></pre>
<p>Thanks a lot</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188460" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-188460" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188460"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #19"></div>
  </section>
</div>
    <div class="postbit" id="188485" data-post-id="188485">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Sanjibukai" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Sanjibukai
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hello,</p>
<p>What a coincidence, I’m just working also with LiveView and just noticed that the live reloading doesn’t work.<br>
While everything was smooth with regular Phoenix controllers.</p>
<p>In my case, I always set a parent folder where I have all docker related files alongside a directory of the Phoenix project where the whole parent folder is set as a volume.</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">my_project/
├── my_phoenix_app/
│   ├── lib/
│   ├── mix.exs
│   └── ...
├── docker-compose.yml
├── dev.Dockerfile
├── docker-compose.prod.yml
└── prod.Dockerfile
</code></pre>
<p>And in development I have that whole <code>my_project</code> folder as a volume.</p>
<p>It might be a little odd to have a different dockerfile for dev and prod, but there’s two reason why I’m doing like this:</p>
<ol>
<li>In dev I’m using VSCode remote container capabilities, so somehow very different from the prod</li>
<li>For prod I’m using multi-stage builds and producing a release for the last step</li>
</ol>
<p>Anyway, I have no idea why the LiveReload is not working.</p>
<p>At first I thought that I didn’t opened the Live Reload port (usually 35729) but then I noticed that here with phoenix the LIve Reload is done within the same port, and indeed the livereload WS correctly connects.</p>
<p>Then I suspect it’s about inotify (I’m on linux), but then I noticed that when I save a CSS file for example, it correctly triggers the asset pipeline build.</p>
<p>I then suspected that the LiveView files were not defined in the pattern of the live_reload config in the Endpoint. But it is.</p>
<p>So I have no clue and don’t fix yet the live reloading (which is a little annoying)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188485" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-188485" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188485"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #20"></div>
  </section>
</div>
    <div class="postbit" id="188558" data-post-id="188558">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="bryanhuntesl" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/bryanhuntesl/120/8270_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  bryanhuntesl
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ve seen this class of issues so many times - attempt to create a development environment that will work across all developer machines in order that they don’t have to deal with the complexity of installing Elixir/Erlang and setting up a developer environment.</p>
<p>I don’t recommend this approach - make it so the developer only needs to run Docker in order to debug CI issues - for everything else, developer should be just running <code>iex -S mix phx.server</code> locally, add a Makefile with commands to run postgres in docker and expose the port, same for any other service dependencies.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188558" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/22">Post #21</a>
	                </div>
	            </div>
              <div id="likers-container-188558" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188558"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #21"></div>
  </section>
</div>
    <div class="postbit" id="188562" data-post-id="188562">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="H12" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/H12/120/19280_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  H12
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Could you expand on why you don’t recommend using Docker for local development?</p>
<p>My use-case may be unique, since I’m only attempting to introduce my co-workers to Elixir via a small, fun side-project in the hopes that it catches on and we can start actually using it in production. Using Docker seemed like the best option to make the experience as frictionless as possible, since most of our devs should already have it installed.</p>
<p>If Elixir does catch on and we start using it for real work, would it be beneficial to move away from Docker for local dev and get everyone to install Elixir &amp; Erlang natively on their machines?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="188562" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/liveview-code-reloading-doesnt-work-when-using-docker-for-local-development/33998/23">Post #22</a>
	                </div>
	            </div>
              <div id="likers-container-188562" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="188562"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #22"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/33998/load_more?page=3">Load more posts (3 remaining)</a>
</div></template></turbo-stream>