如何基于镜像“ java:8”在Docker容器中安装AWS CLI

时间:2020-03-20 05:20:07

标签: docker java-8 dockerfile aws-cli

我有一个类似的Dockerfile:

FROM java:8

LABEL maintainer="CMS"


RUN apt-get install python-pip
RUN pip install awscli
....
.....

[错误:无法找到软件包python-pip]

我的最终目标是安装java8和aws-cli。另外我也不想在Dockerfile中使用curl语句。另外我也不想使用普通的ubuntu图像。

我应该怎么做?

4 个答案:

答案 0 :(得分:1)

该错误表明未安装Pip。尝试正确安装。如果已安装,请尝试执行相同的命令进行验证。

答案 1 :(得分:0)

尝试将您的docker文件更新为

FROM java:8

LABEL maintainer="CMS"


RUN apt-get update && apt-get install -y \
    software-properties-common
RUN add-apt-repository universe
RUN apt-get update && apt-get install -y \
    python3.4 \
    python3-pip

RUN pip install awscli
....
.....

答案 2 :(得分:0)

如果要将其基于openjdk:8图像,请尝试以下操作:

FROM openjdk:8

RUN set -eux; \
        apt-get update; \
        apt-get install -y --no-install-recommends \
            python3-setuptools \
            python3-pip \
        ; \
        rm -rf /var/lib/apt/lists/*

RUN pip3 --no-cache-dir install -U awscli

RUN apt-get clean

另一种选择是使用Alpine发行版:

FROM openjdk:8-alpine

RUN set -eux; \
        apk add python3 ; \
        pip3 --no-cache-dir install -U awscli

来源:

或者您可以从此处获取预构建版本:

答案 3 :(得分:0)

这对我有用:创建dockerfile

FROM openjdk:8-alpine

RUN apk update;
RUN set -eux; \
        apk add python3 ; \
        pip3 --no-cache-dir install -U awscli; \
        pip3 install --upgrade pip;
RUN apk add groff

使用docker build . -t aws,然后运行:docker run -it aws /bin/sh