Files
linuxkit/alpine/Dockerfile
Ian Campbell 7dd7b0c0da vsudd: Forward syslog from /var/run/syslog.vsock to vsock 514
This is mac only (for now) and will not actually do anything until syslogd is
told to forward to /var/run/syslog.vsock.

syslog uses a SOCK_DGRAM connection to /var/run/syslog.vsock, however vsock
today is SOCK_STREAM only, so we need to "packetise" the stream. Do so by
writing the datagram length as a (little-endian) uint32 before the data itself.
This is slightly modelled after rfc6587 (syslog over TCP) but simplified by
using a 4-byte binary value rather than ASCII digits.

Arrange for vsudd to start before the logger so it is ready and waiting.

Note that the code in vsyslog.go needs to be rather careful about its own
logging, in particular logging forwarding failures over syslog seems likely to
make things worse. Instead this file logs to the console when errors occur,
this will be captured by the logging of the hyperkit VM console.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
2016-07-04 14:47:02 +01:00

120 lines
3.4 KiB
Docker

FROM alpine:3.4
RUN \
addgroup -g 50 docker && \
adduser -G docker -u 1001 -s /bin/sh -D -g "Docker" docker && \
passwd -d root && \
apk update && apk upgrade && \
apk add \
e2fsprogs \
chrony \
git \
xz \
iptables \
sfdisk \
lvm2 \
syslinux \
openrc \
busybox-initscripts \
alpine-conf \
bind-tools \
openssh-client \
strace \
fuse \
util-linux \
cifs-utils \
e2fsprogs-extra \
openssl \
&& rm -rf /var/cache/apk/*
COPY etc /etc/
RUN mkdir -p /etc/docker
ADD kernel/aufs-utils.tar /
COPY mkinitrd.sh /bin/
COPY kernel/kernel-source-info /etc/
ADD kernel/kernel-patches.tar /etc/kernel-patches
COPY packages/proxy/slirp-proxy /usr/bin/
COPY packages/proxy/slirp-proxy /sbin/proxy-vsockd
COPY packages/proxy/etc /etc/
COPY packages/transfused/transfused /sbin/
COPY packages/transfused/etc /etc/
COPY packages/tap-vsockd/tap-vsockd /sbin/
COPY packages/tap-vsockd/etc /etc/
COPY packages/llmnrd/llmnrd /sbin/
COPY packages/llmnrd/etc /etc/
COPY packages/llmnrd/llmnrd.tar.gz /usr/share/src/
COPY packages/docker/bin/* /usr/bin/
COPY packages/docker/etc /etc/
COPY packages/diagnostics/diagnostics /usr/bin/
COPY packages/diagnostics/diagnostics-server /usr/bin/
COPY packages/diagnostics/etc /etc/
COPY packages/automount/etc /etc/
COPY packages/binfmt_misc/etc /etc/
COPY packages/dnsfix/etc /etc/
COPY packages/hostsettings/etc /etc/
COPY packages/hvtools/hv_kvp_daemon /sbin/
COPY packages/hvtools/hv_vss_daemon /sbin/
COPY packages/hvtools/etc /etc/
COPY packages/hvtools/hv_get_dhcp_info /sbin/
COPY packages/hvtools/hv_get_dns_info /sbin/
COPY packages/hvtools/hv_set_ifconfig /sbin/
COPY packages/hvtools/hvtools.tar.gz /usr/share/src/
COPY packages/chronyd/etc /etc/
COPY packages/userns/etc /etc/
COPY packages/userns/groupadd /usr/sbin
COPY packages/userns/useradd /usr/sbin
#COPY packages/nc-vsock/nc-vsock /usr/bin
COPY packages/vsudd/vsudd /sbin
COPY packages/vsudd/etc /etc
COPY packages/mobyconfig/mobyconfig /usr/bin
COPY packages/bootflag/bootflag /usr/bin
COPY packages/gummiboot/gummiboot.tar.gz /usr/share/src/
COPY packages/oom/etc /etc
COPY packages/9pmount-vsock/9pmount-vsock /sbin
RUN \
rc-update add swap boot && \
rc-update add sysctl boot && \
rc-update add bootmisc boot && \
rc-update add urandom boot && \
rc-update add hostname boot && \
rc-update add vsudd boot && \
rc-update add syslog boot && \
rc-update add hwclock boot && \
rc-update add networking boot && \
rc-update add acpid default && \
rc-update add chronyd default && \
rc-update add savecache shutdown && \
rc-update add killprocs shutdown && \
rc-update add mount-ro shutdown && \
rc-update add dmesg sysinit && \
rc-update add devfs sysinit && \
rc-update add hwdrivers sysinit && \
rc-update add sysfs && \
rc-update add fsck && \
rc-update add root && \
rc-update add localmount && \
rc-update add docker default && \
rc-update add proxy default && \
rc-update add transfused default && \
rc-update add llmnrd default && \
rc-update add automount boot && \
rc-update add diagnostics default && \
rc-update add binfmt_misc default && \
rc-update add dnsfix boot && \
rc-update add hostsettings boot && \
rc-update add hv_kvp_daemon default && \
rc-update add hv_vss_daemon default && \
rc-update add oom default && \
true
# we do not need to restart syslog, as probably not running
RUN \
sed -i 's@/etc/init.d/syslog --quiet restart@@' /sbin/setup-disk
COPY init /
CMD ["/bin/sh"]