<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Do you manage your dependencies with some type of virtual environment?  Installing Linux packages is pretty straightforward in the Dockerfile, using yum/apt, etc.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Typically, my Dockerfil is arranged like:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">use a base Linux distro</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">install linux packages</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">create and set a userid</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">set up virtual env (using Conda)</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">When running, we supply a conda command that activates the virtual env and launches a specific script.  If you don't use a virtual env, you could install perl packages in the os, of course, but I always tried to avoid that as I consider that the os's perl, not mine.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I think mainly you will have some first time trial and error but you may find helpful examples from the web.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Regards,<br>Sean<br><br><div>Sean Blanton</div><div><a href="mailto:sean@blanton.com" target="_blank">sean@blanton.com</a></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 5, 2022 at 12:50 PM Richard Reina <<a href="mailto:richard@rushlogistics.com">richard@rushlogistics.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">Sean, Thanks for the insight. Based on what you know how hard would it be to create an image for my program with the amount of dependencies I have? <br><br><div dir="ltr">Sent from my iPhone</div><div dir="ltr"><br><blockquote type="cite">On Sep 5, 2022, at 12:38 PM, Sean Blanton <<a href="mailto:sean@blanton.com" target="_blank">sean@blanton.com</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I would say almost every Perl program. It certainly solves the problem of managing your environment. It can run anywhere and you don't care what's installed or upgraded on the server.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I'm unfortunately now using the lesser and boring p- language, but the same thing holds.  We have one bitbucket/Gitlab repo and it holds all the common code and we launch the same docker image with different start commands to run different programs as different services.  This had the benefit of not having to upgrade all your services on a new release.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Docker was a learning experience for me for sure, but overtime I found many optimizations to iterate quickly. If you are completely not paying attention (newbie), you could end up with a huge docker image that could be unwieldy. I've dabbled in the admin side as well - also some learning there, as a lot of the docker storage is under /var, which like /tmp, users can abuse and max out (but volumes can be created).  The Alpine Linux distribution is popular to keep the image size down.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div><div dir="ltr">Regards,<br>Sean<br><br><div>Sean Blanton</div><div><a href="mailto:sean@blanton.com" target="_blank">sean@blanton.com</a></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Sep 5, 2022 at 8:58 AM Richard Reina <<a href="mailto:richard@rushlogistics.com" target="_blank">richard@rushlogistics.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><br><br><div dir="ltr"><blockquote type="cite"><br>On Sep 4, 2022, at 6:19 PM, Alan Mead <<a href="mailto:amead@alanmead.org" target="_blank">amead@alanmead.org</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">
  
    
  
  
    <p>I was curious to see what responses you got. The little I
      understand about docker, it makes it easier for a sysadmin to
      deploy your application because you have set up the environment
      that you need. From that, I assume that Docker is great for
      sysadmins but maybe not all that compelling for the private use of
      programmers unless it solves a problem for you.<br></p></div></blockquote><div>Yes and I am also the system admin. Accordingly, if turning my app into an image is something that could allow me to get it up and running on a machine with no compromises in five minutes as opposed to a couple of hours I would seriously consider it, especially if making a Docker image does not require a great deal of work. Right now I only have to occasionally, once a year or so, install in on a machine in my office so it not too much hassle— but five minutes vs. a couple hours is worth considering.</div><div><br></div><blockquote type="cite"><div dir="ltr"><p>
    </p>
    <p>I am surprised that your script takes two hours to run. Does that
      include some long compilations?</p></div></blockquote><div>The program does not require two hours it only takes about 20 minutes and most of that time it’s downloading and installing packages and perk modules. The rest of the time is me mucking with the machine to get everything working right— my install script only does about 90% of the work.</div></div>_______________________________________________<br>
Chicago-talk mailing list<br>
<a href="mailto:Chicago-talk@pm.org" target="_blank">Chicago-talk@pm.org</a><br>
<a href="https://mail.pm.org/mailman/listinfo/chicago-talk" rel="noreferrer" target="_blank">https://mail.pm.org/mailman/listinfo/chicago-talk</a><br>
</blockquote></div>
<span>_______________________________________________</span><br><span>Chicago-talk mailing list</span><br><span><a href="mailto:Chicago-talk@pm.org" target="_blank">Chicago-talk@pm.org</a></span><br><span><a href="https://mail.pm.org/mailman/listinfo/chicago-talk" target="_blank">https://mail.pm.org/mailman/listinfo/chicago-talk</a></span><br></div></blockquote></div>_______________________________________________<br>
Chicago-talk mailing list<br>
<a href="mailto:Chicago-talk@pm.org" target="_blank">Chicago-talk@pm.org</a><br>
<a href="https://mail.pm.org/mailman/listinfo/chicago-talk" rel="noreferrer" target="_blank">https://mail.pm.org/mailman/listinfo/chicago-talk</a><br>
</blockquote></div>