在 Alpine Docker 容器上安装 OpenSSH
Installing OpenSSH on the Alpine Docker Container
当 运行 alpine docker 容器第一次尝试安装 openssh 时,会发生以下情况:
ole@T:~$ docker run -it --rm alpine /bin/ash
/ # apk add openssh
WARNING: Ignoring APKINDEX.d3812b7e.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.bb2c5760.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
openssh (missing):
required by: world[openssh]
openssh应该怎么安装?
运行apk update
先。下面的粘贴包含一个完整的示例:
ole@T:~$ docker run -it --rm alpine /bin/ash
/ # apk update
fetch http://dl-4.alpinelinux.org/alpine/v3.3/main/x86_64/APKINDEX.tar.gz
fetch http://dl-4.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz
v3.3.1-97-g109077d [http://dl-4.alpinelinux.org/alpine/v3.3/main]
v3.3.1-59-g48b0368 [http://dl-4.alpinelinux.org/alpine/v3.3/community]
OK: 5853 distinct packages available
/ # apk add openssh
(1/3) Installing openssh-client (7.1_p2-r0)
(2/3) Installing openssh-sftp-server (7.1_p2-r0)
(3/3) Installing openssh (7.1_p2-r0)
Executing busybox-1.24.1-r7.trigger
OK: 8 MiB in 14 packages
答案已经给出了,我再补充一下。
在新版本中,如果你想安装一些东西而不在本地缓存东西,建议让你的容器变小,包括 --no-cache
标志。示例:
apk add --no-cache openssh
这是一个小收获,它可以让您避免在 Dockerfile 末尾使用公共 rm -rf /var/cache/apk/*
。
Dockerfile供您参考
FROM alpine:3
RUN apk add --update --no-cache openssh
CMD ["ssh"]
当 运行 alpine docker 容器第一次尝试安装 openssh 时,会发生以下情况:
ole@T:~$ docker run -it --rm alpine /bin/ash
/ # apk add openssh
WARNING: Ignoring APKINDEX.d3812b7e.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.bb2c5760.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
openssh (missing):
required by: world[openssh]
openssh应该怎么安装?
运行apk update
先。下面的粘贴包含一个完整的示例:
ole@T:~$ docker run -it --rm alpine /bin/ash
/ # apk update
fetch http://dl-4.alpinelinux.org/alpine/v3.3/main/x86_64/APKINDEX.tar.gz
fetch http://dl-4.alpinelinux.org/alpine/v3.3/community/x86_64/APKINDEX.tar.gz
v3.3.1-97-g109077d [http://dl-4.alpinelinux.org/alpine/v3.3/main]
v3.3.1-59-g48b0368 [http://dl-4.alpinelinux.org/alpine/v3.3/community]
OK: 5853 distinct packages available
/ # apk add openssh
(1/3) Installing openssh-client (7.1_p2-r0)
(2/3) Installing openssh-sftp-server (7.1_p2-r0)
(3/3) Installing openssh (7.1_p2-r0)
Executing busybox-1.24.1-r7.trigger
OK: 8 MiB in 14 packages
答案已经给出了,我再补充一下。
在新版本中,如果你想安装一些东西而不在本地缓存东西,建议让你的容器变小,包括 --no-cache
标志。示例:
apk add --no-cache openssh
这是一个小收获,它可以让您避免在 Dockerfile 末尾使用公共 rm -rf /var/cache/apk/*
。
Dockerfile供您参考
FROM alpine:3
RUN apk add --update --no-cache openssh
CMD ["ssh"]