标签: alpine-linux

如何在 Alpine 3.6 上安装 PHP Soap 扩展

我在尝试安装和启用 PHP Soap 扩展时遇到问题。我正在 Docker 容器内运行基本映像,php:7.2-fpm-alpine3.6该容器的说明如下所示Dockerfile。我不清楚 Alpine 上如何安装扩展。docker-php-ext-install据我推断,它似乎可以使用。

Dockerfile(我从某处采用了这个):

RUN apk --no-cache add \
        freetype libpng libjpeg-turbo freetype-dev libpng-dev libjpeg-turbo-dev \
        wget \
        git \
        nginx \
        ca-certificates \
        supervisor \
        bash \
        nano \
    && docker-php-ext-install \
        mysqli \
        pdo_mysql \
        opcache \
        ...
Run Code Online (Sandbox Code Playgroud)

所以,我尝试了

docker-php-ext-install soap
Run Code Online (Sandbox Code Playgroud)

这告诉我configure: error: xml2-config not found. Please check your libxml2 installation.我尝试了很多东西,但是

apk add --no-cache libxml2-dev
Run Code Online (Sandbox Code Playgroud)

似乎在做某事。我再次跟着这个docker-php-ext-install soap,输出了

Build complete.
Don't forget to …
Run Code Online (Sandbox Code Playgroud)

php linux soap alpine-linux

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

如何在alpine linux中获取docker架构,如amd64,arm32v7?

由于官方的 docker alpine 存储库获得了多架构支持,我如何获取基础镜像中的架构名称,特别是 Dockerfile 中的架构名称?

https://github.com/docker-library/official-images#architectures-other-than-amd64

仅获取系统是 32 位或 64 位是不够的。我更喜欢结果与 docker 架构相同,如 arm32v7、arm64v8、amd64 等。

我的目标是构建一个nodejs docker 镜像。对于amd64,大多数依赖项都可以直接使用,而对于其他一些架构,它们需要从源代码编译,在这种情况下需要额外的依赖项,例如python,gcc/g++。我希望 dockerfile 中的脚本能够解决这个问题,并且仅在必要时才安装这些额外的依赖项。

linux docker dockerfile alpine-linux

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

在 Dockerfile 中为 Postgres 9.6.x 安装 postgresql-dev?

由于我正在尝试运行一个极其过时的 dep,我在互联网上搜索了 2 天,但毫无结果,现在正在寻找一种安装 9.6 版本的 postgresql-dev 的方法。不幸的是,运行以下 Dockerfile 命令:

FROM python:2.7-alpine
ENV PYTHONUNBUFFERED 1
RUN mkdir /app/
RUN mkdir ./app/logs/
RUN mkdir ./app/xxx/
WORKDIR /app/xxx/
ADD requirements.txt /app/xxx/
ADD ./ /app/xxx/
RUN apk --update add python py-pip openssl postgresql-dev ca-certificates py-openssl libffi-dev musl-dev openssl-dev wget build-base gcc python-dev py-pip jpeg-dev zlib-dev libx
ml2 libxslt-dev                                                                                                                                                                 
ENV LIBRARY_PATH=/lib:/usr/lib
RUN pip install --upgrade pip setuptools
RUN pip install psycopg2==2.4.5
Run Code Online (Sandbox Code Playgroud)

给我以下错误:

Collecting psycopg2==2.4.5
  Downloading https://files.pythonhosted.org/packages/36/77/894a5dd9f3f55cfc85682d3e6473ee5103d8d418b95baf4019fad3ffa026/psycopg2-2.4.5.tar.gz (719kB)
    Complete output from command python setup.py egg_info: …
Run Code Online (Sandbox Code Playgroud)

postgresql python-2.7 docker alpine-linux

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

使用 docker 和 alpine php 镜像更改 php.ini 中的值

我有一个在 docker 上运行的 PHP 应用程序,基于php:7.3-alpine3.9

对于一个大表单,我发布了 1000 多个输入,而且我不仅收到错误

Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0`
Run Code Online (Sandbox Code Playgroud)

但最糟糕的是,只有 1000 个输入传递到后端

所以看起来我需要更改max_input_vars中的php.ini,但我该怎么做呢?

php laravel docker alpine-linux

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

Alpine Linux 下编辑/隐藏 Nginx Server 标头

当我使用curl --head测试我的网站时,它返回服务器信息。

我按照本教程隐藏 nginx 服务器标头。但是当我运行命令时yum install nginx-module-security-headers ,它返回yum: not found

我也尝试过apk add nginx-module-security-headers,显示包裹丢失了。

我已将其用作nginx:1.17.6-alpine我的基础 docker 映像。有谁知道如何在这个 Alpine 下隐藏标头中的服务器?

nginx docker alpine-linux

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

python 中的 Scipy 错误:3.8-alpine3.11 - 未找到 lapack/blas 资源

我试图在 python:3.8-alpine3.11 中安装 scipy,但得到“未找到 lapack/blas 资源”。alpien3.10 运行良好。

Below are the logs:



Step 5/28 : RUN    pip3 install numpy==1.14.3
 ---> Using cache
 ---> f77d037c9008
Step 6/28 : RUN    pip3 install scipy==1.3.1
 ---> Running in 86d118b54acc
Looking in indexes: simple
Collecting scipy==1.3.1
  Downloading scipy-1.3.1.tar.gz (23.6 MB)
  Installing build dependencies: started
  Installing build dependencies: still running...
  Installing build dependencies: still running...
  Installing build dependencies: still running...
  Installing build dependencies: still running...
  Installing build dependencies: still running...
  Installing build dependencies: still running... …
Run Code Online (Sandbox Code Playgroud)

python-3.x alpine-linux

6
推荐指数
1
解决办法
5915
查看次数

python slim或alpine docker镜像无法使用pipenv安装包

我试图为我的 python 应用程序构建一个 docker 容器,但是在通过 pipelinenv 安装 python 包时遇到了问题。

如果我将基础映像设置为python:3.8.5它可以工作,但是如果我设置一个-slim-alpine多个版本,它们会失败并出现以下错误:

 Traceback (most recent call last):   File "/usr/local/bin/pipenv",
 line 8, in <module>
     sys.exit(cli())   File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
 line 829, in __call__
     return self.main(*args, **kwargs)   File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
 line 782, in main
     rv = self.invoke(ctx)   File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
 line 1259, in invoke
     return _process_result(sub_ctx.command.invoke(sub_ctx))   File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
 line 1066, in invoke
     return ctx.invoke(self.callback, **ctx.params)   File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/core.py",
 line 610, in invoke
     return callback(*args, **kwargs)   File "/usr/local/lib/python3.8/site-packages/pipenv/vendor/click/decorators.py",
 line 73, in new_func
     return ctx.invoke(f, …
Run Code Online (Sandbox Code Playgroud)

python python-3.x docker alpine-linux pipenv

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

如何使用反向代理在 Nginx 中处理应用程序级别重定向

我正在为基于 Crystal-Lang 的应用程序编写 Nginx 配置,以通过反向代理http://example.com/videos/发送所有流量。http://0.0.0.0:3000

我已经编写了以下配置,该配置不起作用,我正在互联网上但没有运气。

当我转到 时,应用程序在内部执行从问题所在的http://example.com/videos/重定向,它重定向到错误的位置,我需要像往常一样始终将部分与 URL 连接起来,但在重定向后,该部分将被切掉。所以应用程序应该考虑作为主机。http://example.com/http://example.com/feed/popularhttp://example.com/feed/popular/videos/http://example.com/videos/xxxx/videos/http://example.com/videos/

这是我的配置:

server {
    listen 80;
    server_name elearn.com.pk default_server localhost;
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;
    location /videos/ {
        proxy_pass http://0.0.0.0:3000/;
        proxy_http_version 1.1;
        rewrite /videos/(.*) /$1 break;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host/videos/;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
   }
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?谢谢。

nginx crystal-lang alpine-linux

6
推荐指数
1
解决办法
3724
查看次数

无法使用数据文件.coverage:无法打开数据库文件

推送到 GitHub 时出现奇怪的权限问题。我有一个测试作业,它运行覆盖范围的测试,然后在每次推送和拉取请求时将结果推送到 codecov。但是,这种情况仅适用于 root 用户。

如果与digitalshop用户一起运行,则会抛出错误:

Couldn't use data file '/digital-shop-app/.coverage': unable to open database file
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在 docker 容器中运行覆盖率,这样它就不会抛出此错误?我的猜测是这是因为权限。

docker-compose.yml:

version: '3.9'

services:
  test:
    build: .
    command: >
      sh -c "
        python manage.py wait_for_db &&
        coverage run --source='.' manage.py test mainapp.tests &&
        coverage report &&
        coverage xml
      "
    volumes: 
      - ./digital-shop-app:/digital-shop-app
    env_file: .env
    depends_on: 
      - db

  db:
    image: postgres:13-alpine
    environment:
      - POSTGRES_DB=${DB_NAME}
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_PASSWORD=${DB_PASS}
Run Code Online (Sandbox Code Playgroud)

Dockerfile:

FROM python:3.9-alpine3.13

ENV PYTHONUNBUFFERED 1

COPY ./requirements.txt /requirements.txt
COPY ./digital-shop-app …
Run Code Online (Sandbox Code Playgroud)

python code-coverage dockerfile alpine-linux

6
推荐指数
1
解决办法
3571
查看次数

UnsatisfiedLinkError:系统库路径中没有 fontmanager:/usr/lib/jvm/java-17-openjdk/lib

在我们将容器迁移到 alpine_java-17 后,Excel 导出功能失败并出现以下错误:

java.lang.UnsatisfiedLinkError: no fontmanager in system library path: /usr/lib/jvm/java-17-openjdk/lib
Run Code Online (Sandbox Code Playgroud)

在我的 Dockerfile 中我安装了:

RUN apk add --no-cache fontconfig
RUN apk add --no-cache ttf-dejavu
RUN apk add --no-cache freetype
Run Code Online (Sandbox Code Playgroud)

这是 Dockerfile 的简短版本:

    FROM custom_registry/alpine_java-17


ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk


# procps to have the binary 'pgrep'
RUN apk update
RUN apk add curl
RUN apk add procps

#here's mu solution to fix the issue
RUN apk add --no-cache fontconfig
RUN apk add --no-cache ttf-dejavu
RUN apk add --no-cache freetype

# install bash …
Run Code Online (Sandbox Code Playgroud)

java docker alpine-linux java-17

6
推荐指数
1
解决办法
1894
查看次数