我在尝试安装和启用 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) 由于官方的 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 中的脚本能够解决这个问题,并且仅在必要时才安装这些额外的依赖项。
由于我正在尝试运行一个极其过时的 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) 我有一个在 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,但我该怎么做呢?
当我使用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 下隐藏标头中的服务器?
我试图在 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 应用程序构建一个 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) 我正在为基于 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)
有人可以帮我解决这个问题吗?谢谢。
推送到 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) 在我们将容器迁移到 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) alpine-linux ×10
docker ×6
dockerfile ×2
linux ×2
nginx ×2
php ×2
python ×2
python-3.x ×2
crystal-lang ×1
java ×1
java-17 ×1
laravel ×1
pipenv ×1
postgresql ×1
python-2.7 ×1
soap ×1