标签: alpine-linux

不能在Docker Alpine Linux 3.3中使用OpenSSL 1.0.2g和Python 2.7"pip安装加密"

解决了哇,这些家伙很快......基本上就是这个https://github.com/pyca/cryptography/issues/2750事实证明,openssl的安全更新已经发布(DROWN Attack),并且该更新包含了一个意想不到的功能签名更改导致不兼容,所以这对我来说只是运气不好.


我需要pip install cryptography在运行Alpine Linux的Docker容器中使用.实际上,它是另一个模块,service_identity但问题在于cryptography模块,它是一个依赖项.

我有以下Dockerfile

FROM alpine:3.3

RUN apk --update add build-base libffi-dev openssl-dev python-dev py-pip
RUN pip install cryptography
Run Code Online (Sandbox Code Playgroud)

失败,出现以下错误

generating cffi module 'build/temp.linux-x86_64-2.7/_openssl.c'
building '_openssl' extension
creating build/temp.linux-x86_64-2.7/build
creating build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7
gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -I/usr/include/python2.7 -c build/temp.linux-x86_64-2.7/_openssl.c -o build/temp.linux-x86_64-2.7/build/temp.linux-x86_64-2.7/_openssl.o
build/temp.linux-x86_64-2.7/_openssl.c:726:6: error: conflicting types for 'BIO_new_mem_buf'
 BIO *BIO_new_mem_buf(void *, int);
      ^
In file included from /usr/include/openssl/asn1.h:65:0,
                 from build/temp.linux-x86_64-2.7/_openssl.c:434:
/usr/include/openssl/bio.h:692:6: note: previous declaration of 'BIO_new_mem_buf' …
Run Code Online (Sandbox Code Playgroud)

python linux openssl dockerfile alpine-linux

11
推荐指数
2
解决办法
9048
查看次数

Alpine Linux处理证书的方式与Busybox不同吗?

我开始使用基本映像errordeveloper/oracle-jdk.此Dockerfile显示在此处供参考:

FROM        progrium/busybox 
MAINTAINER  Ilya Dmitrichenko <errordeveloper@gmail.com>

RUN opkg-install curl ca-certificates

ENV JAVA_HOME /usr/jdk1.8.0_31

RUN curl \
  --silent \
  --location \
  --retry 3 \
  --cacert /etc/ssl/certs/GeoTrust_Global_CA.crt \
  --header "Cookie: oraclelicense=accept-securebackup-cookie;" \
  "http://download.oracle.com/otn-pub/java/jdk/8u31-b13/jdk-8u31-linux-x64.tar.gz" \
    | gunzip \
    | tar x -C /usr/ \
    && ln -s $JAVA_HOME /usr/java \
    && rm -rf $JAVA_HOME/src.zip $JAVA_HOME/javafx-src.zip $JAVA_HOME/man

ENV PATH ${PATH}:${JAVA_HOME}/bin

ENTRYPOINT [ "java" ]
CMD [ "-version" ]
Run Code Online (Sandbox Code Playgroud)

我想把它移到Alpine Linux,所以做了以下更改:

FROM        alpine
MAINTAINER  Ilya Dmitrichenko <errordeveloper@gmail.com>

RUN apk --update upgrade && apk add …
Run Code Online (Sandbox Code Playgroud)

certificate busybox docker alpine-linux

10
推荐指数
1
解决办法
1万
查看次数

Docker 构建错误:无法添加主机

我在运行时遇到意外错误docker build,我说意外是因为我已经有一段时间没有更改了Dockerfile,两周前最后一次它工作得很好,但现在我收到以下错误:

无法在网桥上创建端点optimistic_spence:无法添加主机(veth9fc3a03)<=>沙箱(veth15abfd6)对接口:不支持操作

如果有任何帮助:

  • Docker 版本为 18.06.0-ce,内部版本 0ffa8257ec
  • 我没有看到任何容器docker ps
  • Systemd 返回 docker 进程的活动状态 ( sudo systemctl status docker)
  • 构建命令是:docker build -t user/repo:tag .

Dockerfile好像:

FROM alpine:3.4

LABEL version="current version"
LABEL description="A nice description."
LABEL maintainer="my@email.com"

RUN apk update && apk add \
    gcc \
    g++ \
    make \
    git \
    && git clone https://gitlab.com/user/repo.git \
    && cd repo \
    && make \
    && cp program /bin \
    && rm …
Run Code Online (Sandbox Code Playgroud)

docker alpine-linux

10
推荐指数
2
解决办法
1万
查看次数

如何在 Docker php-fpm Alpine Linux 上安装 wkhtmltopdf?

我使用以下命令在 Alpine Docker 上安装了 Wkhtmltopdf:

apk add --no-cache wkhtmltopdf

但是,当我尝试运行 wkhtmltopdf 时,我得到:

/usr/bin/wkhtmltopdf  "test.html" "test.pdf"
Cannot mix incompatible Qt library (version 0x50c03) with this library (version 0x50c00)
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

编辑:

似乎问题是其他一些软件包安装了不兼容的 qt 版本。这是我的 Dockerfile:

RUN apk --no-cache update \
    && apk --no-cache upgrade \
    && apk add --no-cache \
            mysql-client \
            php7-mysqli \
            php7-pdo \
            freetype \
            libpng \
            freetype-dev \
            libpng-dev \
            jpeg-dev \
            libjpeg \
            libjpeg-turbo-dev \
            wget \
            zlib-dev \
            ttf-freefont \
            fontconfig \
            xvfb …
Run Code Online (Sandbox Code Playgroud)

wkhtmltopdf docker alpine-linux

10
推荐指数
1
解决办法
2万
查看次数

相当于 Python Alpine 镜像中的 apt autoremove

我正在尝试清除未使用的依赖项以减小图像大小。

Ubuntu 镜像中解决了这个问题

sudo-apt autoremove
Run Code Online (Sandbox Code Playgroud)

请帮我了解在 Alpine 中使用的命令。

package-managers docker alpine-linux

10
推荐指数
2
解决办法
1万
查看次数

Docker 节点:Alpine-12:如何在 Dockerfile 中安装 Chromium 73?

因为我想运行 Puppeteer@1.19 但在 page.pdf() 中遇到错误。

刚刚提到的一些 blob 将 Chromium 从版本 76 降级到 73。如何使用 node:alpine-12 在 Dockerfile 中做到这一点?谢谢

以下是我的设置(铬版本为 76):

FROM node:12-alpine
########## 
## Setting for using Puppeteer (for using node:XX-alpine)
##########    
ENV CHROME_BIN="/usr/bin/chromium-browser"\
    PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
########## 
## Update and Install packages
##########
RUN set -x \
    && apk update \
    && apk upgrade \
    && echo "127.0.0.1 localhost" >> /etc/hosts \
    && echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" > /etc/apk/repositories \
    && echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
    && echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories \
    # add …
Run Code Online (Sandbox Code Playgroud)

chromium node.js docker alpine-linux puppeteer

10
推荐指数
1
解决办法
8451
查看次数

如何在alpine的apk中禁用SSL验证?

有没有办法在安装某些软件包时禁用 SSL 验证?

我找到了如何将我的证书添加到受信任的证书中,但我宁愿禁用此检查。

我需要它来避免以下错误:

SSL routines:tls_process_server_certificate:certificate verify failed
Run Code Online (Sandbox Code Playgroud)

linux ssl docker alpine-linux alpine-package-keeper

10
推荐指数
2
解决办法
2万
查看次数

在 alpine linux 上安装 miniconda 失败

我一直在尝试安装miniconda在 Alpine linux docker 映像上。我失败的最小“工作”示例可以用 Docker 重现,如下所示:

docker run --rm -it alpine sh
/ # apk update && apk add ca-certificates wget && update-ca-certificates
/ # wget https://repo.continuum.io/miniconda/Miniconda3-4.3.27-Linux-x86_64.sh -O ~/miniconda.sh
/ # sh miniconda.sh -b 
PREFIX=/root/miniconda3
installing: python-3.6.2-h02fb82a_12 ...
/root/miniconda.sh: line 361: /root/miniconda3/pkgs/python-3.6.2-h02fb82a_12/bin/python: not found
Run Code Online (Sandbox Code Playgroud)

但是,它查找的文件在那里:

/ # ls /root/miniconda3/pkgs/python-3.6.2-h02fb82a_12/bin/python
/root/miniconda3/pkgs/python-3.6.2-h02fb82a_12/bin/python
Run Code Online (Sandbox Code Playgroud)

我将不胜感激对此错误的一些见解。我不知道接下来要尝试什么

docker anaconda alpine-linux

9
推荐指数
2
解决办法
7330
查看次数

在容器中运行保险库时“不允许操作”

我们在 gitlab CI 中的 Alpine Docker 镜像中运行 vault-cli。升级后,当调用 Vault 时,我们会得到这个:

/bin/bash: line 117: /usr/sbin/vault: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

菲利克斯

alpine-linux hashicorp-vault

9
推荐指数
1
解决办法
2384
查看次数

Alpine 在 Kubernetes 中是否有已知的 DNS 问题?

最近,在尝试解决“大”DNS 查询(当答案大于 512M 时)时,我们在 EKS 上遇到了一些基于 Alpine 图像(节点:12.18.1-alpine)的微服务的 DNS 问题。

所以我尝试运行这个脚本来测试 DNS 解析:

var dns = require('dns');
var w3 = dns.lookup('hugedns.test.dziemba.net', function (err, addresses, family) {
  console.log(addresses);
});
Run Code Online (Sandbox Code Playgroud)

每个图像有 2 个不同的场景

  1. 节点:12.18.1-高山
  • 在我的笔记本电脑上运行图像 - 成功解决
  • 在 EKS 1.16 上运行映像 - 无法解决
  1. 节点:12.18.1-slim
  • 在我的笔记本电脑上运行图像 - 成功解决
  • 在 EKS 1.16 上运行镜像 - 成功解决

从我看到的情况来看,Alpine 正在使用 musl(它不支持 DNS 来使用 TCP?)库而不是 glibc,因为 DNS 协议使用的是 UDP,并且仅在查询大于 512M 时才尝试回退到 TCP。所以我的理论是这是根本原因,但由于它对我有用并且在 EKS 上失败让我想知道问题在哪里可以传递......

有什么想法吗?

EKS v1.16 coredns:v1.6.6

BTW,这是我的第一篇文章,如果需要任何信息,请告诉我

dns tcp docker kubernetes alpine-linux

9
推荐指数
1
解决办法
3237
查看次数