如何在Alpine上安装Debian软件包?
例如:
wget https://dl.influxdata.com/influxdb/releases/influxdb_0.13.0_armhf.deb
sudo dpkg -i influxdb_0.13.0_armhf.deb
Run Code Online (Sandbox Code Playgroud) 我想seaborn用这个Dockerfile 安装:
FROM alpine:latest
RUN apk add --update python py-pip python-dev
RUN pip install seaborn
CMD python
Run Code Online (Sandbox Code Playgroud)
我得到的错误与numpy和scipy(需要seaborn)有关.它始于:
/tmp/easy_install-nvj61E/numpy-1.11.1/setup.py:327:UserWarning:无法识别setuptools的命令,则进行与生成用Cython源和扩大模板
最后以
在get_mathlib_info中的文件"numpy/core/setup.py",第654行
RuntimeError:破坏的工具链:无法链接简单的C程序
命令"python setup.py egg_info"失败,错误代码为1/tmp/pip-build-DZ4cXr/scipy /
命令'/ bin/sh -c pip install seaborn'返回非零代码:1
知道如何解决这个问题吗?
我正在尝试使用Docker,并希望从本地MAMP堆栈转移到Docker.当然我偶然发现了官方php:7.0图片,但我也想使用Apache,所以看起来好像php:7.0-apache是要走的路.不过我看到有一个名为图像php:7.0-alpine,同时有两个版本的Apache以及即是更苗条httpd:2.4和httpd:2.4-alpine.
是否有任何建议的组合使用Apache和PHP(分离或组合),同时仍然具有小图像大小?此外,我想知道在哪里可以查看图像中的可用模块,因为我想要使用MariaDB和mod_rewrite,这可能有更多的依赖项,为了保持较小的尺寸而省略.
我遇到了这个非常详细和令人敬畏的教程,关于如何将nginx和PHP以及MySQL分成不同的容器,但是使用FCGI将PHP附加到nginx.这意味着我可以使用工具的所有不同的基于阿尔卑斯的图像并使用FCGI链接它们.不幸的是,我从未听说过或曾与FCGI合作,但我想更多的研究将会产生有关如何使用Apache实现此基础架构的信息.
我正在寻找一个包含python3和crontab的docker镜像.当我python:latest用作基础时,我没有cron,但所有必需的python包安装没有问题.
当我使用alpine作为基础时,我有(busybox)cron工作,但由于编译器错误而无法安装特定的python包.
我使用时同样适用python:alpine.
Collecting pynacl>=1.0.1 (from paramiko->-r required_python_packages.txt (line 6))
Downloading PyNaCl-1.1.2.tar.gz (3.1MB)
Complete output from command python setup.py egg_info:
No working compiler found, or bogus compiler options
passed to the compiler from Python's distutils module.
See the error messages above.
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?
我正在两个单独的CI工具上运行go build命令golang:1.11-alpine。如您所见,命令是完全相同的,而docker映像是完全相同的。
出于某种原因,当我在alpine:3.9docker映像上运行已编译的可执行文件时,仅运行bitbucket。
对于Circle CI构建,出现以下错误:
standard_init_linux.go:207:exec用户进程导致“ exec格式错误”
我在网上阅读这可能是体系结构问题,所以我file <file>在终端中做了一个,看来两者都是以相同的方式编译的。这是我收到的两个文件的响应(相同):
云:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接,解释器/lib/ld-musl-x86_64.so.1,已剥离
docker:
- image: golang:1.11-alpine
steps:
- checkout
- run:
name: Build Go Server
command: |
apk add --no-cache git build-base
export GOPATH="$HOME/go"
export PATH="$PATH:$GOPATH/bin"
go get -u github.com/golang/lint/golint@v0.0.0-20190227174305-8f45f776aaf1
go mod vendor
golint -set_exit_status $(go list ./... | grep -v /vendor/)
go test -short $(go list ./... | grep -v /vendor/)
go build -ldflags="-s -w"
Run Code Online (Sandbox Code Playgroud)
steps:
- step: …Run Code Online (Sandbox Code Playgroud) 为 Nginx 设置 SSL 并发出请求后,我收到带有神秘消息的乱码响应client sent invalid method while reading client request line。
我在 Alpine Docker 容器中使用 Let's Encrypt 生成了证书(对于上下文,与错误无关)。
这是一个屏幕截图:
简化的 Nginx 虚拟主机配置如下:
server {
listen 443;
ssl_certificate /vsdroot/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /vsdroot/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_dhparam /vsdroot/letsencrypt/ssl-dhparams.pem;
include /vsdroot/letsencrypt/options-ssl-nginx.conf;
root /vsdroot;
location / {
index index.html;
}
Run Code Online (Sandbox Code Playgroud)
安全注意事项:我的 SSL 密钥位于 Nginx 文档根目录内,仅用于本地测试,请勿在生产环境或任何地方执行此操作!
我正在使用 Docker 映像php:8.0-fpm-alpine3.14,我有一个 Sylius 项目并且我想使用它wkhtmltopdf,所以我在 Dockerfile 中添加了这些行:
RUN apk --update --no-cache add \
wkhtmltopdf \
libgcc \
libstdc++ \
musl \
qt5-qtbase \
qt5-qtbase-x11 \
qt5-qtsvg \
qt5-qtwebkit \
ttf-freefont \
ttf-dejavu \
ttf-droid \
ttf-liberation \
xvfb \
fontconfig
# Add openssl dependencies for wkhtmltopdf
RUN echo 'https://dl-cdn.alpinelinux.org/alpine/v3.8/main' >> /etc/apk/repositories && \
apk add --no-cache libcrypto1.0 libssl1.0
RUN ln -s /usr/bin/wkhtmltopdf /usr/local/bin/wkhtmltopdf;
RUN chmod +x /usr/local/bin/wkhtmltopdf;
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用时出现此错误wkhtmltopdf:
我不明白为什么会出现该错误以及如何解决该错误。
谢谢
我想了解Dockerfile https://hub.docker.com/r/rdsubhas/tor-privoxy-alpine/~/dockerfile/,其中包含一个RUN执行官
apk --update add privoxy tor@testing runit@testing
Run Code Online (Sandbox Code Playgroud)
我想检查一下我对apk命令用法的理解,因此我尝试如下在Alpine环境中打开终端:
docker run -it --rm alpine:latest /bin/ash
Run Code Online (Sandbox Code Playgroud)
之后,我只是跑去apk看看它的用法:
/ # apk
apk-tools 2.6.8, compiled for x86_64.
usage: apk COMMAND [-h|--help] [-p|--root DIR] [-X|--repository REPO]
[-q|--quiet] [-v|--verbose] [-i|--interactive] [-V|--version]
[-f|--force] [-U|--update-cache] [--progress] [--progress-fd FD]
[--no-progress] [--purge] [--allow-untrusted] [--wait TIME]
[--keys-dir KEYSDIR] [--repositories-file REPOFILE] [--no-network]
[--no-cache] [--arch ARCH] [--print-arch] [ARGS]...
The following commands are available:
add Add PACKAGEs to 'world' and install (or upgrade) them, while
ensuring …Run Code Online (Sandbox Code Playgroud) 我正试图制作我可以逃脱的绝对最小的Docker图像,所以我已经从ubuntu作为我的基地切换到高山.
因为apt,我曾经用来--no-install-recommends最小化与我想要的软件包一起安装的"依赖项".是否有一个我需要传递的等效标志,apk或者这是这个瘦身操作系统的默认行为?
我目前正在从Alpine:3.7构建图像。
我遇到两个问题:
我收到的错误是:
找不到满足设置工具要求的版本(来自版本:)找不到与安装工具匹配的发行版
注意:所有软件包都使用pip下载预先缓存在目录中。
dockerfile如下所示:
RUN apk add --no-cache --virtual .build-deps <dev packages>
&& apk add --no-cache --update python3
&& pip3 install --upgrade pip setuptools
RUN pip3 install -f ./python-packages --no-index -r requirements.txt ./python-packages/pkgs
....
Run Code Online (Sandbox Code Playgroud)
dev包,例如libffi-dev,libressl-dev等。