Permalink
Find file
345b814 Jun 30, 2017
@adglkh @psftw
255 lines (221 sloc) 6.76 KB
name: docker
version: 17.03.2-ce-1
summary: Docker Linux container runtime
description: Docker complements kernel namespacing with a high-level API which operates at the process level. It runs unix processes with strong guarantees of isolation and repeatability across servers.
confinement: strict
grade: stable
plugs:
support:
interface: docker-support
privileged:
interface: docker-support
privileged-containers: true
docker-cli:
interface: docker
slots:
docker-daemon:
interface: docker
docker-executables:
content: docker-executables
interface: content
read:
- .
apps:
docker:
command: docker-wrapper docker
plugs:
- docker-cli
- network
- home
dockerd:
command: dockerd-wrapper
daemon: simple
plugs:
- network-bind
- firewall-control
- support
- privileged
- home
slots:
- docker-daemon
# TODO determine if we can "provide" a "docker-compose" in PATH directly (since this'll show up as "docker.compose" in the user PATH)
compose:
command: docker-wrapper docker-compose
plugs:
- docker-cli
- network
- home
machine:
command: docker-wrapper docker-machine
plugs:
- docker-cli
- network
- home
- network-bind
help:
command: help
parts:
snappy-bins:
plugin: shell
shell: bash
shell-flags: ['-ex']
shell-command: |
install -d "$SNAPCRAFT_PART_INSTALL/bin"
install -t "$SNAPCRAFT_PART_INSTALL/bin" "$SNAPDIR"/bin/*
stage-packages:
- mount
go:
plugin: gobuild
source: https://storage.googleapis.com/golang/go1.8.3.src.tar.gz
source-type: tar
snap:
- -*
build-packages:
- golang-go
- rsync
- build-essential
- netbase
- python3-pyelftools
docker:
plugin: shell
source: https://github.com/docker/docker/archive/v17.03.2-ce.tar.gz
source-type: tar
shell: bash
shell-flags: ['-eux', '-o', 'pipefail']
shell-command: |
export GOROOT="$SNAPDIR/parts/go/install"
export PATH="$GOROOT/bin:$PATH"
go version
source "$SNAPDIR/prep-docker-build.sh"
./hack/make.sh dynbinary
ls -l bundles/latest/*/
clientBin='bundles/latest/dynbinary-client/docker'
daemonBin='bundles/latest/dynbinary-daemon/dockerd'
"$clientBin" -v
"$daemonBin" -v
"$clientBin" -v | grep -q -- "$DOCKER_GITCOMMIT"
"$daemonBin" -v | grep -q -- "$DOCKER_GITCOMMIT"
install -d "$SNAPCRAFT_PART_INSTALL/bin"
install -T "$(readlink -f "$clientBin")" "$SNAPCRAFT_PART_INSTALL/bin/docker"
install -T "$(readlink -f "$daemonBin")" "$SNAPCRAFT_PART_INSTALL/bin/dockerd"
after:
- go
build-packages:
- btrfs-tools
- gcc
- libc6-dev
- libdevmapper-dev
- libltdl-dev
- patch
- git
- pkg-config
stage-packages:
- aufs-tools
containerd:
plugin: shell
# from https://github.com/moby/moby/blob/v17.03.2-ce/hack/dockerfile/binaries-commits#L7
source: https://github.com/docker/containerd/archive/4ab9917febca54791c5f071a9d1f404867857fcc.tar.gz
source-type: tar
shell: bash
shell-flags: ['-ex']
shell-command: |
export GOROOT="$SNAPDIR/parts/go/install"
export PATH="$GOROOT/bin:$PATH"
go version
mkdir -p .gopath/src/github.com/docker
ln -sfT "$PWD" .gopath/src/github.com/docker/containerd
export GOPATH="$PWD/.gopath"
make GIT_COMMIT= GIT_BRANCH= LDFLAGS=
install -d "$SNAPCRAFT_PART_INSTALL/bin"
install -T bin/containerd "$SNAPCRAFT_PART_INSTALL/bin/docker-containerd"
install -T bin/containerd-shim "$SNAPCRAFT_PART_INSTALL/bin/docker-containerd-shim"
install -T bin/ctr "$SNAPCRAFT_PART_INSTALL/bin/docker-containerd-ctr"
after:
- go
build-packages:
- make
runc:
plugin: shell
# from https://github.com/moby/moby/blob/v17.03.2-ce/hack/dockerfile/binaries-commits#L6
source: https://github.com/opencontainers/runc/archive/54296cf40ad8143b62dbcaa1d90e520a2136ddfe.tar.gz
source-type: tar
shell: bash
shell-flags: ['-ex']
shell-command: |
export GOROOT="$SNAPDIR/parts/go/install"
export PATH="$GOROOT/bin:$PATH"
go version
mkdir -p .gopath/src/github.com/opencontainers
ln -sfT "$PWD" .gopath/src/github.com/opencontainers/runc
export GOPATH="$PWD/.gopath"
make BUILDTAGS='seccomp apparmor selinux' COMMIT=
install -d "$SNAPCRAFT_PART_INSTALL/bin"
install -T runc "$SNAPCRAFT_PART_INSTALL/bin/docker-runc"
after:
- go
build-packages:
- libapparmor-dev
- libseccomp-dev
- make
libnetwork:
plugin: shell
# from https://github.com/docker/docker/blob/v17.03.2-ce/hack/dockerfile/binaries-commits#L9
source: https://github.com/docker/libnetwork/archive/0f534354b813003a754606689722fe253101bc4e.tar.gz
source-type: tar
shell: bash
shell-flags: ['-ex']
shell-command: |
export GOROOT="$SNAPDIR/parts/go/install"
export PATH="$GOROOT/bin:$PATH"
go version
mkdir -p .gopath/src/github.com/docker
ln -sfT "$PWD" .gopath/src/github.com/docker/libnetwork
export GOPATH="$PWD/.gopath"
go get github.com/tools/godep
export PATH="$GOPATH/bin/:$PATH"
godep version
make build-local
install -d "$SNAPCRAFT_PART_INSTALL/bin"
install -T bin/docker-proxy "$SNAPCRAFT_PART_INSTALL/bin/docker-proxy"
install -T bin/dnet "$SNAPCRAFT_PART_INSTALL/bin/dnet"
after:
- go
build-packages:
- iptables
- make
tini:
plugin: cmake
source: https://github.com/krallin/tini.git
source-type: git
# from https://github.com/moby/moby/blob/v17.03.2-ce/hack/dockerfile/binaries-commits#L8
source-commit: 949e6facb77383876aeff8a6944dde66b3089574
organize:
'bin/tini-static': bin/docker-init
prime:
- -bin/tini
compose:
plugin: python
python-version: python2
source: https://github.com/docker/compose/archive/1.14.0.tar.gz
source-type: tar
machine:
plugin: shell
source: https://github.com/docker/machine/archive/v0.12.0.tar.gz
source-type: tar
shell: bash
shell-flags: ['-eux', '-o', 'pipefail']
shell-command: |
export GOROOT="$SNAPDIR/parts/go/install"
export PATH="$GOROOT/bin:$PATH"
go version
mkdir -p .gopath/src/github.com/docker
ln -sfT "$PWD" .gopath/src/github.com/docker/machine
export GOPATH="$PWD/.gopath"
pushd .gopath/src/github.com/docker/machine
make build
popd
install -d "$SNAPCRAFT_PART_INSTALL/bin"
install -T bin/docker-machine "$SNAPCRAFT_PART_INSTALL/bin/docker-machine"
after:
- go
# vim:set et ts=2 sw=2: