<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le dim. 7 juin 2020 à 01:10, Christian Stewart <<a href="mailto:christian@paral.in">christian@paral.in</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Francois,<br>
<br>
On Sat, May 30, 2020 at 5:49 AM Francois Perrad <<a href="mailto:fperrad@gmail.com" target="_blank">fperrad@gmail.com</a>> wrote:<br>
> +++ b/board/guest/Dockerfile<br>
> @@ -0,0 +1,3 @@<br>
> +FROM scratch<br>
> +ADD rootfs.tar /<br>
> +CMD ["/bin/ash"]<br>
<br>
There is a typo here, you put the command as "ash"<br></blockquote><div><br></div><div>`ash` is the default shell of Busybox.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Also, this isn't a sufficient Dockerfile. From your other patches I<br>
guess you intend to run systemd in the container.<br>
<br></blockquote><div><br></div><div>This Dockerfile is minimal, but that allows to run in mode interactive as described.<br>I agree that looks like a toy.<br>I will add another section which refers your project SkiffOS, and allows to have a running systemd in the container.</div><div><br></div><div>François<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
For reference, see how I do this in Skiff:<br>
<br>
<a href="https://github.com/paralin/SkiffOS/tree/master/configs/virt/docker" rel="noreferrer" target="_blank">https://github.com/paralin/SkiffOS/tree/master/configs/virt/docker</a><br>
<br>
For the Dockerfile:<br>
<br>
FROM scratch<br>
<br>
ENV container docker<br>
ENV init /lib/systemd/systemd<br>
ENV LC_ALL C<br>
<br>
ADD rootfs.tar /<br>
<br>
USER root<br>
RUN systemctl set-default multi-user.target && \<br>
    systemctl mask tmp.mount && \<br>
    find /etc/systemd/system \<br>
         /lib/systemd/system \<br>
         \( -path '*.wants/*' \<br>
         -name '*swapon*' \<br>
         -or -name '*ntpd*' \<br>
         -or -name '*resolved*' \<br>
         -or -name '*remount-fs*' \<br>
         -or -name '*getty*' \<br>
         -or -name '*systemd-sysctl*' \<br>
         -or -name '*.mount' \<br>
         -or -name '*remote-fs*' \) \<br>
         -exec echo \{} \; \<br>
         -exec rm \{} \;<br>
<br>
COPY fstab /etc/fstab<br>
VOLUME [ "/sys/fs/cgroup" ]<br>
ENTRYPOINT ["/usr/lib/systemd/systemd"]<br>
<br>
For running the image you want to have something like this:<br>
<br>
docker run -d --name=skiff \<br>
  --privileged \<br>
  --cap-add=NET_ADMIN \<br>
  --security-opt seccomp=unconfined \<br>
  --stop-signal=SIGRTMIN+3 \<br>
  --tmpfs /run \<br>
  --tmpfs /run/lock \<br>
  -t \<br>
  -v /sys/fs/cgroup:/sys/fs/cgroup:ro \<br>
  paralin/skiffos<br>
<br>
This works with systemd.<br>
<br>
> +<br>
> +How to with Docker<br>
> +==================<br>
> +<br>
> +A Docker image could created with a Dockerfile and few commands are needed:<br>
> +<br>
> +    # dockerd &<br>
> +<br>
> +    $ cat Dockerfile<br>
> +    FROM scratch<br>
> +    ADD rootfs.tar /<br>
> +    CMD ["/bin/ash"]<br>
<br>
Typo again with "ash" ?<br>
<br>
Best regards,<br>
Christian Stewart<br>
</blockquote></div></div>