【问题标题】:Sh : file not found on alpine Docker imageSh:在 alpine Docker 映像上找不到文件
【发布时间】:2017-06-14 14:05:38
【问题描述】:

我在我的 Raspberry Pi3 上安装了 Docker。 我想安装“注册表”图像。由于我在 ARM 中没有找到它,所以我构建了一个 AMR 版本。

我从 git https://github.com/docker/distribution/ 重新编译了二进制文件

我得到一个功能二进制文件:

# registry --version
src_docker/go/bin/registry github.com/docker/distribution v2.6.0+unknown

然后我离开了 git https://github.com/docker/distribution-library-image 来自定义 Dockerfile。

FROM arm32v6/alpine:3.5

RUN set -ex \
   && apk add --no-cache ca-certificates apache2-utils

COPY ./registry/registry /bin/registry
COPY ./registry/config-example.yml /etc/docker/registry/config.yml

VOLUME ["/var/lib/registry"]
EXPOSE 5000

COPY docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

CMD ["/etc/docker/registry/config.yml"]

我当然要用我编译的二进制文件替换“注册表/注册表”。

我建立图像:

docker build . -t ikise_arm/registry

但是当我执行图像时它没有找到二进制文件

# docker run -ti ikise_arm/registry:latest
/entrypoint.sh: exec: line 10: registry: not found

如果我禁用 ENTRYPOINT 并浏览文件,我会找到日记但无法执行

# docker run -ti ikise_arm/registry:latest
/ # ls -al /bin/r*
lrwxrwxrwx    1 root     root            12 Mar  2 20:19 /bin/reformime -> /bin/busybox
-rwxr-xr-x    1 root     root      19940588 Jun 14 12:27 /bin/registry
lrwxrwxrwx    1 root     root            12 Mar  2 20:19 /bin/rev -> /bin/busybox
lrwxrwxrwx    1 root     root            12 Mar  2 20:19 /bin/rm -> /bin/busybox
lrwxrwxrwx    1 root     root            12 Mar  2 20:19 /bin/rmdir -> /bin/busybox
lrwxrwxrwx    1 root     root            12 Mar  2 20:19 /bin/run-parts -> /bin/busybox
/ # /bin/registry
sh: /bin/registry: not found

你知道问题出在哪里吗?

【问题讨论】:

    标签: docker raspberry-pi3 alpine


    【解决方案1】:
    猜你喜欢
    • 2018-04-26
    • 2017-03-08
    • 2022-01-14
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 2022-11-11
    • 1970-01-01
    相关资源
    最近更新 更多