安装后无法在Docker:stable容器中运行aliyun-cli。找不到命令错误

问题描述 投票:0回答:1

我不确定堆栈溢出或系统故障是否是正确的堆栈交换站点,但是我正在处理堆栈溢出导致alicloud站点发布以添加标签并在此处提出问题。

所以我当前正在基于Docker:stable构建映像,这是一个高山发行版,将安装aliyun-cli并可供使用。但是,在运行命令时,出现“找不到命令”的怪异错误。我已按照https://partners-intl.aliyun.com/help/doc-detail/139508.htm的说明将aliyun二进制文件移至/ usr / sbin

例如,这是我的Dockerfile

FROM docker:stable

RUN apk update && apk add curl

#Install python 3
RUN apk update && apk add python3 py3-pip

#Install AWS Cli

RUN pip3 install awscli --upgrade

# Install Aliyun CLI
RUN curl -L -o aliyun-cli.tgz https://aliyuncli.alicdn.com/aliyun-cli-linux-3.0.30-amd64.tgz
RUN tar -xzvf aliyun-cli.tgz
RUN mv aliyun /usr/bin
RUN chmod +x /usr/bin/aliyun
RUN rm aliyun-cli.tgz

但是当我运行aliyun(可以自动完成)时,我得到了这个

/ # aliyun 
sh: aliyun: not found

我已经尝试将其移至其他垃圾箱。进入该文件夹并显式调用它,但始终始终找不到命令。任何建议都将受到欢迎。

linux docker containers alpine alibaba-cloud
1个回答
0
投票

您是否选中了此Dockerfile

还有为什么您需要在同一映像中安装aws-cli,以及当AWS提供managed aws-cli映像时为何需要自行维护它。

aws-cli

就是aws-cli图像,但是如果要在现有图像中使用,则可以尝试]]

docker run --rm -it amazon/aws-cli --version

DockerFile

RUN pip install awscli --upgrade

构建并运行

FROM python:2-alpine3.8

LABEL com.frapsoft.maintainer="Maik Ellerbrock" \
      com.frapsoft.version="0.1.0"

ARG SERVICE_USER

ENV SERVICE_USER ${SERVICE_USER:-aliyun}

RUN apk add --no-cache curl
RUN curl https://raw.githubusercontent.com/ellerbrock/docker-collection/master/dockerfiles/alpine-aliyuncli/requirements.txt > /tmp/requirements.txt
RUN \
  adduser -s /sbin/nologin -u 1000 -H -D ${SERVICE_USER} && \
  apk add --no-cache build-base && \
  pip install aliyuncli && \
  pip install --no-cache-dir -r /tmp/requirements.txt && \
  apk del build-base && \
  rm -rf /tmp/*

USER ${SERVICE_USER}

WORKDIR /usr/local/bin

ENTRYPOINT [ "aliyuncli" ]

CMD        [ "--help" ]

输出

docker build -t aliyuncli .
docker run -it --rm aliyuncli
    
© www.soinside.com 2019 - 2024. All rights reserved.