加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

docker-在高山容器中使用confluent-kafka python客户端

发布时间:2020-12-16 03:25:37 所属栏目:安全 来源:网络整理
导读:我正在尝试运行一个与kafka通信的简单python应用程序.我正在寻找使用高山容器的容器.这是我当前的dockerfile(这不是最佳选择……只是??试图让事情现在起作用). FROM python:3.6-alpineMAINTAINER Ashic Mahtab (ashic@live.com)RUN mkdir -p /usr/src/appWOR

我正在尝试运行一个与kafka通信的简单python应用程序.我正在寻找使用高山容器的容器.这是我当前的dockerfile(这不是最佳选择……只是??试图让事情现在起作用).

FROM python:3.6-alpine
MAINTAINER Ashic Mahtab (ashic@live.com)

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
RUN apk update && apk --no-cache add librdkafka


COPY requirements.txt /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt

COPY api /usr/src/app/api
COPY static /usr/src/app/static

CMD ["python","api/index.py"]

需求文件中包含confluent-kafka.构建失败

OK: 8784 distinct packages available
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  so:libcrypto.so.41 (missing):
    required by:
                 librdkafka-0.9.4-r1[so:libcrypto.so.41]
                 librdkafka-0.9.4-r1[so:libcrypto.so.41]
                 librdkafka-0.9.4-r1[so:libcrypto.so.41]
  so:libssl.so.43 (missing):
    required by:
                 librdkafka-0.9.4-r1[so:libssl.so.43]
                 librdkafka-0.9.4-r1[so:libssl.so.43]
                 librdkafka-0.9.4-r1[so:libssl.so.43]

我的问题是a)有没有一种方法可以在不建立容器内部的情况下使它正常工作?如果我可以简单地将库复制到阿尔卑斯山,那就足够了.或者即使我可以复制librdkafka. b)如果没有,如何使libssl和libcryto.so工作?

最佳答案
这是使其工作的一种方法:

FROM python:3.6-alpine
MAINTAINER Ashic Mahtab (ashic@live.com)

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

RUN sed -i -e 's/v3.4/edge/g' /etc/apk/repositories 
    && apk upgrade --update-cache --available 
    && apk --no-cache add librdkafka

COPY requirements.txt /usr/src/app/
RUN pip install --no-cache-dir -r requirements.txt

COPY api /usr/src/app/api
COPY static /usr/src/app/static

CMD ["python","api/index.py"]

这里有一个解释:

python:3.6-alpine图像基于alpine linux 3.4:Dockerfile

因此,您首先需要正确移动到边缘高山分支:Edge
这是通过以下行完成的:

RUN sed -i -e 's/v3.4/edge/g' /etc/apk/repositories 
    && apk upgrade --update-cache --available 

然后,您可以安装librdkafka及其依赖项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读