Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Apr 2023 11:44:24 +0200
From:      Mario Marietto <marietto2008@gmail.com>
To:        Tim Preston <tim@timpreston.net>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: Docker
Message-ID:  <CA%2B1FSijc%2B-OLNsyFNdR=jP3VzMi4zUE92i5iv9Pfg6AryDy_KQ@mail.gmail.com>
In-Reply-To: <06be3a1e-9319-1a21-88b9-4f87328ee127@timpreston.net>
References:  <20230329053443.6ADA6B6AFED5@dhcp-8e64.meeting.ietf.org> <8E16D624-2655-4A10-844A-93E4F63E9859@gromit.dlib.vt.edu> <078a1cf8-7ae2-c593-615b-f5f37fa2b3eb@timpreston.net> <CA%2B1FSij9j922Nvv1Vhn43HznwpyGT99UZsU674G9hHWzR=UhvQ@mail.gmail.com> <06be3a1e-9319-1a21-88b9-4f87328ee127@timpreston.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--0000000000005f3a0405f90c5819
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Tim,you are wasting your time. It seems that all of these (good) FreeBSD
developers don't want you to use Linux technologies if you have chosen
FreeBSD as the main OS. That's not good and it sounds like a discriminatory
attitude.

I really don't understand why I should be forced to use only one OS or a
limited set of tools. I (and it's not only me) want to use as many tools as
possible within one OS only. I like FreeBSD for a lot of reasons,but it is
also true that there are a lot of good docker images on the internet that
can make my life easier. So,why can't I use them on FreeBSD ? Do you want
to keep alive the war between Windows and Linux in the '90 / 2000 ?

Probably we should clarify what's the kind of user that can make this kind
of argumentation. Well,me,I'm a FreeBSD home user.  My position is not
comparable with the position of the developers that dislike that the linux
technologies are integrated at a various level in the FreeBSD world.
We,home users,want this. Because we "love" Linux,FreeBSD,and sometimes even
NetBSD,OpenBSD,etc. We want everything. It seems that our mindset is more
open than the developers who have chosen FreeBSD for their job.

On Tue, Apr 11, 2023 at 9:12=E2=80=AFAM Tim Preston <tim@timpreston.net> wr=
ote:

> The port mentioned in the first article doesn't work any more, if I
> remember correctly.
>
> The second link describes how Linux containers might be run via Linux
> binary compatibility. It's not Docker exactly, but could be used to run
> Docker images.
>
> But the question I'd ask is "why?". If you need to run Docker images you
> should probably run them on Linux, to ensure 100% kernel compatibility.
>
> After all, Docker is a Linux-only technology. There doesn't seem much
> point trying to shoehorn it into FreeBSD.
>
>
> On 10/4/23 00:04, Mario Marietto wrote:
>
> It seems that docker now can run on FreeBSD natively,not with the
> collaboration of bhyve. What do you think ?
>
> He says : "Yes, OCI Containers on FreeBSD. What was proposed ages ago as =
Docker
> done right" <https://www.truenas.com/blog/docker-done-right/>;
> https://productionwithscissors.run/2022/09/04/containerd-linux-on-freebsd=
/
>
> On Tue, Apr 4, 2023 at 4:23=E2=80=AFAM Tim Preston <tim@timpreston.net> w=
rote:
>
>> It can be done, with a bit of manual tinkering.
>>
>> Here is a gist which explains how to run Docker in a CentOS 8 VM (under
>> bhyve).
>>
>> https://gist.github.com/tehpeh/7e5329d295eca9539e6462f36b6ce9c0
>>
>> It's a bit out of date but the general idea would be the same for CentOS
>> stream, Alpine etc: install Docker, enable the service, open
>> firewall/networking, nfs mount a local directory. This is pretty much wh=
at
>> Docker for Mac does.
>>
>> If you're looking for the Docker hub image repository equivalent for
>> FreeBSD, take a look at Bastille templates or Potluck (
>> https://potluck.honeyguide.net/).
>>
>> However, and this is only my personal opinion, a pre-baked container
>> image repository is a bad idea. Apart from the security issues and recen=
t
>> drama around Docker shutting down free accounts, container images are of=
ten
>> set up with default parameters not useful in a production environment (o=
r
>> even your specific dev environment) and are built against a particular
>> kernel version, so may not run as expected on a different kernel version=
.
>>
>> Again, only my opinion, but you're much better off building your own,
>> private, images targeting the particular OS/Kernel version you use in
>> dev/staging/production. In summary, prefer Dockerfiles over pre-built
>> images.
>>
>> I think the conversation we really need to have is not about copying
>> Docker, but instead how do we consistently create, run, and scale jails
>> across multiple FreeBSD hosts easily.
>>
>> Tim
>>
>>
>> On 2/4/23 02:54, Paul Mather wrote:
>>
>> On Mar 29, 2023, at 1:34 AM, John Levine <johnl@iecc.com> <johnl@iecc.co=
m> wrote:
>>
>>
>> It appears that Tomek CEDRO <tomek@cedro.info> <tomek@cedro.info> said:
>>
>> if there are lots of images for linux docker, and docker is linux only
>> solution, there is no reason to talk about it on bsd or even offer some
>> sort of images of bsd for linux right?
>>
>> Docker runs on MacOS with a linux emulation layer.  FreeBSD already has
>> some linux emulation so in principle one could do the same thing, but
>> it'd be a lot of work for dubious benefit.
>>
>> I disagree it would be of dubious benefit.  MacOS is a Tier 1 platform i=
n the Docker ecosystem.  Using Docker Desktop on macOS makes using Docker a=
nd Kubernetes for development work very easy on that platform, meaning you =
can stay in the environment you prefer.  MacOS is not Linux, but the implem=
entation on there is to use a shim Linux VM via the built-in macOS hypervis=
or (which, IIRC, is a derivative of bhyve).
>>
>> It would be great if the same thing could be done on FreeBSD.  It would =
be beneficial if there was a supported docker machine driver for bhyve on F=
reeBSD.  Right now, I believe the road to running Linux containers on FreeB=
SD is to use the VirtualBox docker machine driver, which is a bit heavyweig=
ht (in terms of added dependencies) for my liking.  It would be nice if bhy=
ve could be used to run the shim Linux VM.
>>
>> Other than that, much of the tooling to run Docker and Kubernetes is alr=
eady in ports.  But, those (e.g., in the case of Kubernetes) need to point =
to non-FreeBSD systems that are running the actual containers, pods, etc.  =
It would be nice to be able to do it all on FreeBSD, at least for developme=
nt and kicking-the-tyres purposes.
>>
>> Cheers,
>>
>> Paul.
>>
>>
>>
>>
>
> --
> Mario.
>
>
>

--=20
Mario.

--0000000000005f3a0405f90c5819
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><p>Tim,you are wasting your time. It seems that =
all of these (good) FreeBSD developers don&#39;t want you to use Linux tech=
nologies if you have chosen FreeBSD as the main OS. That&#39;s not good and=
 it sounds like a discriminatory attitude. =C2=A0 <br></p><p>I
 really don&#39;t understand why I should be forced to use only one OS or a=
=20
limited set of tools. I (and it&#39;s not only me) want to use as many tool=
s=20
as possible within one OS only. I like FreeBSD for a lot of reasons,but=20
it is also true that there are a lot of good docker images on the internet=
=20
that can make my life easier. So,why can&#39;t I use them on FreeBSD ? Do=
=20
you want to keep alive the war between Windows and=20
Linux in the &#39;90 / 2000 ?=C2=A0</p><p>Probably we should clarify what&#=
39;s the kind of user that can make this kind of argumentation. Well,me,I&#=
39;m a FreeBSD home user.=C2=A0 My position is not comparable with the posi=
tion of the developers that dislike that the linux technologies are integra=
ted at a various level in the FreeBSD world. We,home users,want this. Becau=
se we &quot;love&quot; Linux,FreeBSD,and sometimes even NetBSD,OpenBSD,etc.=
 We want everything. It seems that our mindset is more open than the develo=
pers who have chosen FreeBSD for their job. <br></p></div></div></div><br><=
div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Apr=
 11, 2023 at 9:12=E2=80=AFAM Tim Preston &lt;<a href=3D"mailto:tim@timprest=
on.net" target=3D"_blank">tim@timpreston.net</a>&gt; wrote:<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1=
px solid rgb(204,204,204);padding-left:1ex">
 =20
   =20
 =20
  <div>
    The port mentioned in the first article doesn&#39;t work any more, if I
    remember correctly.<br>
    <br>
    The second link describes how Linux containers might be run via
    Linux binary compatibility. It&#39;s not Docker exactly, but could be
    used to run Docker images.<br>
    <br>
    But the question I&#39;d ask is &quot;why?&quot;. If you need to run Do=
cker images
    you should probably run them on Linux, to ensure 100% kernel
    compatibility.<br>
    <br>
    After all, Docker is a Linux-only technology. There doesn&#39;t seem
    much point trying to shoehorn it into FreeBSD.<br>
    <br>
    <br>
    <div>On 10/4/23 00:04, Mario Marietto wrote:<br>
    </div>
    <blockquote type=3D"cite">
     =20
      <div dir=3D"ltr">
        <div>It seems that docker now can run on FreeBSD natively,not
          with the collaboration of bhyve. What do you think ?<br>
        </div>
        <div>
          <div>
            <div>
              <p>He says : &quot;Yes,
                OCI Containers on FreeBSD. What was proposed ages ago as
                <a href=3D"https://www.truenas.com/blog/docker-done-right/"=
 rel=3D"noopener
                  nofollow ugc" target=3D"_blank">Docker
                  done right&quot;</a></p>
            </div>
          </div>
        </div>
        <div><a href=3D"https://productionwithscissors.run/2022/09/04/conta=
inerd-linux-on-freebsd/" target=3D"_blank">https://productionwithscissors.r=
un/2022/09/04/containerd-linux-on-freebsd/</a></div>
      </div>
      <br>
      <div class=3D"gmail_quote">
        <div dir=3D"ltr" class=3D"gmail_attr">On Tue, Apr 4, 2023 at 4:23=
=E2=80=AFAM
          Tim Preston &lt;<a href=3D"mailto:tim@timpreston.net" target=3D"_=
blank">tim@timpreston.net</a>&gt;
          wrote:<br>
        </div>
        <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex=
;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div> It can be done, with a bit of manual tinkering.<br>
            <br>
            Here is a gist which explains how to run Docker in a CentOS
            8 VM (under bhyve). <br>
            <br>
            <a href=3D"https://gist.github.com/tehpeh/7e5329d295eca9539e646=
2f36b6ce9c0" target=3D"_blank">https://gist.github.com/tehpeh/7e5329d295eca=
9539e6462f36b6ce9c0</a><br>
            <br>
            It&#39;s a bit out of date but the general idea would be the
            same for CentOS stream, Alpine etc: install Docker, enable
            the service, open firewall/networking, nfs mount a local
            directory. This is pretty much what Docker for Mac does.<br>
            <br>
            If you&#39;re looking for the Docker hub image repository
            equivalent for FreeBSD, take a look at Bastille templates or
            Potluck (<a href=3D"https://potluck.honeyguide.net/" target=3D"=
_blank">https://potluck.honeyguide.net/</a>).<br>;
            <br>
            However, and this is only my personal opinion, a pre-baked
            container image repository is a bad idea. Apart from the
            security issues and recent drama around Docker shutting down
            free accounts, container images are often set up with
            default parameters not useful in a production environment
            (or even your specific dev environment) and are built
            against a particular kernel version, so may not run as
            expected on a different kernel version.<br>
            <br>
            Again, only my opinion, but you&#39;re much better off building
            your own, private, images targeting the particular OS/Kernel
            version you use in dev/staging/production. In summary,
            prefer Dockerfiles over pre-built images.<br>
            <br>
            I think the conversation we really need to have is not about
            copying Docker, but instead how do we consistently create,
            run, and scale jails across multiple FreeBSD hosts easily.<br>
            <br>
            Tim<br>
            <br>
            <br>
            <div>On 2/4/23 02:54, Paul Mather wrote:<br>
            </div>
            <blockquote type=3D"cite">
              <pre>On Mar 29, 2023, at 1:34 AM, John Levine <a href=3D"mail=
to:johnl@iecc.com" target=3D"_blank">&lt;johnl@iecc.com&gt;</a> wrote:

</pre>
              <blockquote type=3D"cite">
                <pre>It appears that Tomek CEDRO <a href=3D"mailto:tomek@ce=
dro.info" target=3D"_blank">&lt;tomek@cedro.info&gt;</a> said:
</pre>
                <blockquote type=3D"cite">
                  <pre>if there are lots of images for linux docker, and do=
cker is linux only
solution, there is no reason to talk about it on bsd or even offer some
sort of images of bsd for linux right?
</pre>
                </blockquote>
                <pre>Docker runs on MacOS with a linux emulation layer.  Fr=
eeBSD already has
some linux emulation so in principle one could do the same thing, but
it&#39;d be a lot of work for dubious benefit.
</pre>
              </blockquote>
              <pre>I disagree it would be of dubious benefit.  MacOS is a T=
ier 1 platform in the Docker ecosystem.  Using Docker Desktop on macOS make=
s using Docker and Kubernetes for development work very easy on that platfo=
rm, meaning you can stay in the environment you prefer.  MacOS is not Linux=
, but the implementation on there is to use a shim Linux VM via the built-i=
n macOS hypervisor (which, IIRC, is a derivative of bhyve).

It would be great if the same thing could be done on FreeBSD.  It would be =
beneficial if there was a supported docker machine driver for bhyve on Free=
BSD.  Right now, I believe the road to running Linux containers on FreeBSD =
is to use the VirtualBox docker machine driver, which is a bit heavyweight =
(in terms of added dependencies) for my liking.  It would be nice if bhyve =
could be used to run the shim Linux VM.

Other than that, much of the tooling to run Docker and Kubernetes is alread=
y in ports.  But, those (e.g., in the case of Kubernetes) need to point to =
non-FreeBSD systems that are running the actual containers, pods, etc.  It =
would be nice to be able to do it all on FreeBSD, at least for development =
and kicking-the-tyres purposes.

Cheers,

Paul.

</pre>
            </blockquote>
            <br>
          </div>
        </blockquote>
      </div>
      <br clear=3D"all">
      <br>
      <span>-- </span><br>
      <div dir=3D"ltr">Mario.<br>
      </div>
    </blockquote>
    <br>
  </div>

</blockquote></div><br clear=3D"all"><br><span>-- </span><br><div dir=3D"lt=
r">Mario.<br></div>

--0000000000005f3a0405f90c5819--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B1FSijc%2B-OLNsyFNdR=jP3VzMi4zUE92i5iv9Pfg6AryDy_KQ>