Since I fail to explain how this works I suggest that you post an example Dockerfile here and I'll translate it to a similar Packer template.
On Thu, Feb 14, 2019 at 2:57 PM Daniel Ortega <danielortegauf...@gmail.com> wrote: > Hi all, > > I think there is som confusion of what RUN in a Dockerfile does >> > > I don't agree, my problem it's about something that is called "docker > builder" in Packer cannot be used to build anything (as I cannot execute > any "RUN" command). Maybe it's a semantic question. > > So to produce a image that runs systemd do: >> >> a) shell provisioner to install systemd and services >> b) change the ENTRYPOINT/CMD in changes to run systemd. >> > > It's clear to me that using some provisioners you can do a workaround for > other cases, but I think that is *not for systemd*. AFAIK, *systemd* > should be the first daemon to start and the last daemon to stop. > > Thanks everyone for your suggestions! :) > > El martes, 12 de febrero de 2019, 20:49:00 (UTC+1), Rickard von Essen > escribió: >> >> I think there is som confusion of what RUN in a Dockerfile does. It >> executes the command during the build of the image. That would be handled >> by a shell provisioner in Packer. >> >> What process gets started when you *run* the container from the >> resulting image is handled by ENTRYPOINT and CMD those can be set in packer >> with the changes 1). >> >> So to produce a image that runs systemd do: >> >> a) shell provisioner to install systemd and services >> b) change the ENTRYPOINT/CMD in changes to run systemd. >> >> 1) https://packer.io/docs/builders/docker.html#changes >> >> // Rickard >> >> PS. Multiprocess containers can (and should) really be questioned. >> >> On Tue, Feb 12, 2019 at 6:14 PM Vincent Rubiolo <vincent...@datameer.com> >> wrote: >> >>> Hi Daniel, >>> On 2/12/19 2:29 AM, Daniel Ortega wrote: >>> >>> We want to use our Java docker image (tagged as >>> *idealista/8u181-stretch-openjdk-headless >>> <https://hub.docker.com/r/idealista/jdk/tags>* in Docker Hub) which is >>> based in Debian Stretch Slim. >>> >>> This image *doesn't have systemd* (neither official image, nor our >>> derived image one), so this package should be installed to be used later to >>> configure our services. AFAIK, if you want to use systemd to manage >>> services, this process should be the first -> should be present in Docker >>> run command. But the problem is, before installation /lib/system/systemd is >>> not present, so the container cannot start. This could be solved using RUN >>> when you are using Dockerfiles, because that commands are executed in the >>> image "build phase". You can install systemd before and execute >>> /lib/system/systemd at container startup. >>> >>> As Rickard said, you can use a shell provisioner to run any command you >>> want (in this case the one to start systemd) once your container is up with >>> Packer. Another solution is to override the RUN command (as per >>> https://www.packer.io/docs/builders/docker.html#run_command) to specify >>> what you want. >>> >>> So in short I'd advise: >>> >>> 1. Start your container with Packer using the default settings. >>> 2. Install the packages you want (either via a shell or Ansible >>> provisioner), like systemd. >>> 3. In your shell provisioner, manually start systemd, then use it to >>> configure the services >>> >>> AFAIK, systemd must be running when you use commands like 'service' but >>> it does not need to be started when the container starts (there are ways to >>> do that if needed). >>> >>> On a related note, I had a similar issue with the container not >>> starting, because the default Packer 'docker run' command relies on >>> /bin/bash + not having an entrypoint set (cf >>> https://github.com/hashicorp/packer/issues/6920). The changes was made >>> but later reverted because of backward compatibility issues. You might find >>> the issue useful in your case tool. >>> >>> Let us know how it goes, >>> >>> Vincent >>> >>> -- >>> This mailing list is governed under the HashiCorp Community Guidelines - >>> https://www.hashicorp.com/community-guidelines.html. Behavior in >>> violation of those guidelines may result in your removal from this mailing >>> list. >>> >>> GitHub Issues: https://github.com/mitchellh/packer/issues >>> IRC: #packer-tool on Freenode >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Packer" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to packer-tool...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/packer-tool/72c11e2b-38c1-2890-8ba0-ae3da7012f40%40datameer.com >>> <https://groups.google.com/d/msgid/packer-tool/72c11e2b-38c1-2890-8ba0-ae3da7012f40%40datameer.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > This mailing list is governed under the HashiCorp Community Guidelines - > https://www.hashicorp.com/community-guidelines.html. Behavior in > violation of those guidelines may result in your removal from this mailing > list. > > GitHub Issues: https://github.com/mitchellh/packer/issues > IRC: #packer-tool on Freenode > --- > You received this message because you are subscribed to the Google Groups > "Packer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to packer-tool+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/packer-tool/0995fd92-484f-4b8d-9685-3dff1e4aae3d%40googlegroups.com > <https://groups.google.com/d/msgid/packer-tool/0995fd92-484f-4b8d-9685-3dff1e4aae3d%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- This mailing list is governed under the HashiCorp Community Guidelines - https://www.hashicorp.com/community-guidelines.html. Behavior in violation of those guidelines may result in your removal from this mailing list. GitHub Issues: https://github.com/mitchellh/packer/issues IRC: #packer-tool on Freenode --- You received this message because you are subscribed to the Google Groups "Packer" group. To unsubscribe from this group and stop receiving emails from it, send an email to packer-tool+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/packer-tool/CALz9Rt_NvJEt%3DQFkejfx7NqcdAbMMLxiKK3d4JZ0Z%2Bu0y-di7Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.