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 > <javascript:>> 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 <javascript:>. >> 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. For more options, visit https://groups.google.com/d/optout.