mirror of
https://github.com/linuxkit/linuxkit.git
synced 2026-05-02 13:10:05 +00:00
ctr (which runs in the getty or ssh container) relies on sharing files in /tmp
with containerd (which runs in the host mount namespace). Specifically it
currently uses paths under /tmp/containerd for the stdio FIFOs of containers, resulting in:
# ctr run -t docker.io/library/redis:alpine test
ctr: rpc error: code = Unknown desc = runtime create failed: runc create failed: container with id exists: test
Currently it is not possible to specify a non-existent source directory for a
bind mount, so we cannot easily bind just /tmp/containerd. Sharing all of /tmp
doesn't sound like a terrible idea anyway.
Defering updating the sha in *.yml until after some further changes to these packages.
Signed-off-by: Ian Campbell <ian.campbell@docker.com>
23 lines
688 B
Docker
23 lines
688 B
Docker
FROM linuxkit/alpine:630ee558e4869672fae230c78364e367b8ea67a9 AS mirror
|
|
|
|
RUN mkdir -p /out/etc/apk && cp -r /etc/apk/* /out/etc/apk/
|
|
RUN apk add --no-cache --initdb -p /out \
|
|
alpine-baselayout \
|
|
busybox \
|
|
musl \
|
|
openssh-server \
|
|
tini \
|
|
util-linux \
|
|
&& true
|
|
RUN rm -rf /out/etc/apk /out/lib/apk /out/var/cache
|
|
|
|
FROM scratch
|
|
ENTRYPOINT []
|
|
WORKDIR /
|
|
COPY --from=mirror /out/ /
|
|
COPY etc/ /etc/
|
|
COPY usr/ /usr/
|
|
RUN mkdir -p /etc/ssh /root/.ssh && chmod 0700 /root/.ssh
|
|
CMD ["/sbin/tini", "/usr/bin/ssh.sh"]
|
|
LABEL org.mobyproject.config='{"pid": "host", "binds": ["/tmp:/tmp", "/root/.ssh:/root/.ssh", "/etc/resolv.conf:/etc/resolv.conf"], "capabilities": ["all"]}'
|