> -----Original Message----- > From: snapcraft-boun...@lists.snapcraft.io [mailto:snapcraft- > boun...@lists.snapcraft.io] On Behalf Of Joseph Rushton Wakeling > Sent: Sunday, February 5, 2017 11:52 PM > To: snapcraft@lists.snapcraft.io > Subject: Re: Using docker for clean builds of classic snaps > > On 05/02/17 19:33, Loïc Minier wrote: > > I dont think "snapd" is in the "ubuntu" Docker image which is trimmed > > down a bit > > Yes, I gathered that much, which is why my own Dockerfile attempt ensured > that snapd would be installed with this line: > > RUN apt-get --assume-yes install snapd snapcraft > > ... but as you say: > > > it's also likely that snapd/snaps would hit some technical issues when > > inside Docker. (This might be worth researching/debugging if you're > > tempted.) > > It looks to me like the snapd daemon doesn't actually run inside the > container. > If I try something simple like checking the version of snapd installed, then I > get this output: > > $ sudo docker run -v $PWD:$PWD -w $PWD 592f87a670d0 snap --version > 2017/02/05 22:43:59.308309 main.go:220: WARNING: cannot create syslog > logger > snap 2.21 > snapd unavailable > series - > > ... so it's clearly installed in my custom image, but not started. > > If I _do_ try starting it as part of the command to run in the container, I > get > the following: > > $ sudo docker run -v $PWD:$PWD -w $PWD 592f87a670d0 systemctl enable - > -now snapd.socket && snap install core && snapcraft clean && snapcraft > error: access denied (try with sudo) > > Trying `sudo` (as in `sudo systemctl enable ...`) doesn't seem to make any > difference. > > Any thoughts on what else I could try? I'm happy to keep exploring myself > but Docker and sockets aren't really my area of expertise.
I ran into something similar when trying to build a Docker image that would start services via systemd service files. It turned out that systemd does not run out-of-the-box in Docker containers (this was the best blog post I had found on the topic: https://rhatdan.wordpress.com/2014/04/30/running-systemd-within-a-docker-container/, and a seemingly working mechanism, for Ubuntu 15.xx here: https://github.com/dockerimages/docker-systemd). I actually did not go down that path as I found it easier for me to simply start my daemons/services outside of systemd, from a simple script invoked by CMD in my Dockerfile. This may just work and be sufficient for you. Geoffroy > > I would imagine, though, that the kinds of issues I'm running into with > Docker are fundamentally the same issues that make it hard for classic snaps > to support `snapcraft cleanbuild` using lxd ... ? > > Thanks & best wishes, > > -- Joe > > -- > Snapcraft mailing list > Snapcraft@lists.snapcraft.io > Modify settings or unsubscribe at: > https://lists.ubuntu.com/mailman/listinfo/snapcraft -- Snapcraft mailing list Snapcraft@lists.snapcraft.io Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/snapcraft