diff --git a/components/packaging/deb/Makefile b/components/packaging/deb/Makefile index 97491b0c6f..cbdaf4dd8e 100644 --- a/components/packaging/deb/Makefile +++ b/components/packaging/deb/Makefile @@ -32,7 +32,7 @@ RUN=docker run --rm -i \ -v $(CURDIR)/debbuild/$@:/build \ debbuild-$@/$(ARCH) -SOURCE_FILES=engine-image cli.tgz docker.service distribution_based_engine.json +SOURCE_FILES=engine-image cli.tgz docker.service docker.socket 00-socket-activation.conf distribution_based_engine.json SOURCES=$(addprefix sources/, $(SOURCE_FILES)) .PHONY: help @@ -138,6 +138,14 @@ sources/docker.service: ../systemd/docker.service mkdir -p $(@D) cp $< $@ +sources/docker.socket: ../systemd/docker.socket + mkdir -p $(@D) + cp $< $@ + +sources/00-socket-activation.conf: ../systemd/00-socket-activation.conf + mkdir -p $(@D) + cp $< $@ + sources/distribution_based_engine.json: sources/engine-image mkdir -p $(@D) docker inspect "$(shell cat $<)" \ diff --git a/components/packaging/deb/common/rules b/components/packaging/deb/common/rules index ed96288ab2..d267310102 100644 --- a/components/packaging/deb/common/rules +++ b/components/packaging/deb/common/rules @@ -21,6 +21,8 @@ override_dh_auto_install: install -D -m 0755 /go/src/github.com/docker/cli/build/docker debian/docker-ce-cli/usr/bin/docker # docker-ce install install -D -m 0644 /sources/docker.service debian/docker-ce/lib/systemd/system/docker.service + install -D -m 0644 /sources/docker.socket debian/docker-ce/lib/systemd/system/docker.socket + install -D -m 0644 /sources/00-socket-activation.conf debian/docker-ce/lib/systemd/system/docker.service.d/00-socket-activation.conf install -D -m 0755 /source/dockerd debian/docker-ce/usr/bin/dockerd-ce install -D -m 0755 /source/docker-proxy debian/docker-ce/usr/bin/docker-proxy install -D -m 0755 /source/docker-init debian/docker-ce/usr/bin/docker-init diff --git a/components/packaging/systemd/00-socket-activation.conf b/components/packaging/systemd/00-socket-activation.conf new file mode 100644 index 0000000000..b1ccee049f --- /dev/null +++ b/components/packaging/systemd/00-socket-activation.conf @@ -0,0 +1,7 @@ +[Unit] +After=docker.socket +Requires=docker.socket + +[Service] +ExecStart= +ExecStart=/usr/bin/dockerd -H fd:// diff --git a/components/packaging/systemd/docker.service b/components/packaging/systemd/docker.service index 41b3849a09..1fcd881215 100644 --- a/components/packaging/systemd/docker.service +++ b/components/packaging/systemd/docker.service @@ -10,7 +10,7 @@ Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker -ExecStart=/usr/bin/dockerd -H unix:// +ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 diff --git a/components/packaging/systemd/docker.socket b/components/packaging/systemd/docker.socket new file mode 100644 index 0000000000..7dd95098e4 --- /dev/null +++ b/components/packaging/systemd/docker.socket @@ -0,0 +1,12 @@ +[Unit] +Description=Docker Socket for the API +PartOf=docker.service + +[Socket] +ListenStream=/var/run/docker.sock +SocketMode=0660 +SocketUser=root +SocketGroup=docker + +[Install] +WantedBy=sockets.target