我正在尝试在 Alpine Linux 上编译 Mongo。
有人知道如何克服这个错误吗?
In file included from src/mongo/util/net/socket_poll.h:20:0,
from src/mongo/util/net/sock.cpp:42:
/usr/include/sys/poll.h:1:2: error: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Werror=cpp]
#warning redirecting incorrect #include <sys/poll.h> to <poll.h>
^
cc1plus: all warnings being treated as errors
scons: *** [build/linux2/normal/mongo/util/net/sock.o] Error 1
scons: building terminated because of errors.
Run Code Online (Sandbox Code Playgroud) 尝试通过以下方式构建救援 iso
https://wiki.alpinelinux.org/wiki/How_to_make_a_custom_ISO_image
(alpine-extended-3.4.3-x86.iso之前安装到硬盘上使用)
当启动新创建的映像时,它会在启动提示后立即抱怨。我应该怎么做才能创建正确的 ISO 映像?
当运行 alpine docker 容器并尝试构建时,我收到这样的错误消息。
/bin/sh: /etc/init.d/postgresql: not found
Run Code Online (Sandbox Code Playgroud)
这是我的 Dockerfile:
FROM alpine:3.5
MAINTAINER hoge
ENV LANG en_US.utf8
ENV PHX_PORT 4000
ENV PHX_DBNAME hoge_db
COPY release.tar.gz /
RUN echo 'http://dl-3.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories
RUN apk update && apk upgrade && \
apk add --no-cache --virtual .base_deps build-base openssl-dev zlib-dev libxml2-dev wget gnupg ca-certificates && \
apk add --no-cache readline-dev glib-lang libssl1.0 postgresql postgresql-client && \
apk add --update binutils && \
apk add --no-cache sudo && \
apk --purge del .base_deps && …Run Code Online (Sandbox Code Playgroud) 我想为我的 docker 映像安装 libwebp 依赖项。如何使用 docker 文件下载并安装 libwebp?一种方法是您可以下载 libwebp 和 ADD 文件到映像,如下所示。
ADD resources/vts/libwebp-0.4.1-linux-x86-64 /lib/libwebp-0.4.1-linux-x86-64
Run Code Online (Sandbox Code Playgroud)
但我需要通过运行这样的命令来安装它。
RUN apk upgrade -U \ && apk add ca-certificates ffmpeg \ && rm -rf/var/cache/*
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?我参考下图来创建我的 docker 文件
FROM openjdk:8-jdk-alpine
Run Code Online (Sandbox Code Playgroud) 问题:
我的 docker 镜像中有三个文件,vault:0.10.2位于以下位置:
/home/myuser/token_helper:Go 中的令牌助手二进制文件,根据本文档实现令牌助手接口
/home/myuser/vault_startos.exec("vault", "operator", "init"):运行的Go 脚本os.exec("vault", "server", "-config=myconfig.hcl")
/home/myuser/.vault:令牌帮助程序配置文件指定令牌帮助程序二进制位置,我已导出VAULT_CONFIG_PATH以指向此路径。文件内容如下token_helper = "/home/myuser/token_helper":
我看到的问题是在运行vault_start脚本时出现以下错误:
failed to get token helper: error expanding config path "": exec: "getent": executable file not found in $PATH
Run Code Online (Sandbox Code Playgroud)
到目前为止已完成的调试:
这个错误似乎不正确。which getent返回/usr/bin/getent,并且图像$PATH包含它,证明两者都存在。另外,配置路径不是"",它被设置为/home/myuser/.vault但 Vault 显然将其检测为空。
我已将该错误输出跟踪到Vault 目录中的此文件command: 。$HOME根据该代码块,只有在未设置时才会出错,但我已经确认已$HOME在 shell 中设置了该值。
此外,我已经指定了 Vault 所要求的所有内容,以便根据本文档 …
我正在尝试使用 Docker 将 Craft CMS 部署到zeit/now。它在本地工作,但 zeit 的图像大小限制为100MB. 我的容器目前是176MB.
它是一个 Docker 镜像alpine,使用 Craft 所需的nginx和php模块,并使用多阶段构建来构建 Composer 组件,以减少构建工件的大小。
这是Dockerfile:
FROM zeit/wait-for:0.2 as wait\n\n# Build dependencies\nFROM composer:latest as vendor\n\nCOPY composer.json composer.json\nCOPY composer.lock composer.lock\n\nRUN composer install --ignore-platform-reqs --no-interaction --no-plugins --no-scripts --prefer-dist --no-dev\n\nFROM alpine:3.8\n\nLABEL maintainer="Eivind Mikael Lindbr\xc3\xa5ten <eivindml@icloud.com>"\nLABEL description="Minimal Craft CMS Container using nginx."\n\n# install nginx, php, and php extensions for Craft\nRUN apk add --no-cache \\\n bash \\\n …Run Code Online (Sandbox Code Playgroud) 我的目标是让 Alpine 能够执行非 musl 支持的 JRE。这背后的动机是图像大小缩小,我在压缩 JRE 本身方面取得了一定的进展,但我发现的最小图像是 50M 的 ARM64v8/debian:slim-9。这相当不错,但还不够。我没有找到任何支持 musl 的适用于 ARM64 的 JRE(最高 9)。因此可能的方向是
这是我的步骤:
我所有的实验都是在真正的 ARM64 硬件上进行的。
基于以下git项目 https://github.com/owlab-exp/alpine-pkg-glibc-arm64
apk --no-cache 添加 ca 证书
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.23-r3/glibc-2.23-r3.apk
apk 添加 --allow-untrusted glibc-2.23-r3.apk
使用 jlink 工具将包含缩小模块列表的 OpenJRE 10 文件夹复制到 Apline 映像。
不幸的是,当我尝试运行 ./java --version 时,我得到了
/bin/sh: ./java: not found
Run Code Online (Sandbox Code Playgroud)
我看到 glibc apk 已安装,已添加以下文件夹
/usr/glibc-compat/lib
Run Code Online (Sandbox Code Playgroud)
我所缺少的任何想法将不胜感激。
我正在使用 python 3.7.10 (Linux Alpine v 3.13 )构建一个 Docker 镜像,但是在安装过程中使用docker build .包hdf5构建镜像时会失败。这是我的 Dockerfile:
FROM python:3.7.10-alpine3.13
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /requirements.txt
ENV CRYPTOGRAPHY_DONT_BUILD_RUST=1
RUN apk add --update --no-cache --virtual .tmp gcc libc-dev linux-headers
RUN apk add --no-cache jpeg-dev zlib-dev mariadb-dev libffi-dev openblas-dev libgfortran lapack-dev build-base openssl-dev
RUN apk add --no-cache hdf5 hdf5-dev
RUN pip install -r /requirements.txt
RUN apk --no-cache del build-base
ENV PYTHONUNBUFFERED 1
COPY . /app/
CMD ["uwsgi", "my_app"]
Run Code Online (Sandbox Code Playgroud)
需求.txt文件:
h5py==2.10.0 …Run Code Online (Sandbox Code Playgroud) 我有一个高山运行容器,其中包含一些二进制文件 usr/local/bin
当我得到这个输出ls的内容时usr/local/bin:
/usr/local/bin # ls
dwg2SVG dwg2dxf dwgadd dwgbmp dwgfilter dwggrep dwglayers dwgread dwgrewrite dwgwrite dxf2dwg dxfwrite
Run Code Online (Sandbox Code Playgroud)
这是我所期望的。但是,如果我通过调用它来执行这些二进制文件之一,则会not found从 shell收到错误消息:
/usr/local/bin # dwg2dxf
sh: dwgread: not found
/usr/local/bin # ./dwg2dxf
sh: ./dwgread: not found
Run Code Online (Sandbox Code Playgroud)
我测试了我的$PATH似乎是正确的:
/usr/local/bin # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Run Code Online (Sandbox Code Playgroud)
如何使这些二进制文件可调用或“可找到”?我在 Dockerfile 构建中遗漏了什么吗?我想ldconfigalpine 中的命令有问题,但我不确定。
编辑
正如这里的一个答案中所建议的,我执行了file命令,这是输出:
/usr/local/bin # file dwg2dxf
dwgread: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, …Run Code Online (Sandbox Code Playgroud) 当我尝试运行“docker-compose up”时,命令提示符会引发以下错误:
$ docker-compose up
Building tomcat
unknown flag: --iidfile
See 'docker build --help'.
ERROR: Service 'tomcat' failed to build
Run Code Online (Sandbox Code Playgroud)
下面是 Dockerfile 和 docker-compose.yml 文件:
$ cat Dockerfile.dev
FROM node:alpine
WORKDIR '/app'
COPY package.json .
RUN npm install
COPY . .
CMD ["npm", "run", "start"] `
Run Code Online (Sandbox Code Playgroud)
$ cat docker-compose.yml
version: '3'
services:
tomcat:
restart: always
build:
context: .
dockerfile: Dockerfile.dev
ports:
- "3000:3000"
volumes:
- /app/node_modules
- .:/app
tests:
restart: always
build:
context: .
dockerfile: Dockerfile.dev
volumes:
- /app/node_modules
- …Run Code Online (Sandbox Code Playgroud) alpine-linux ×10
docker ×7
linux ×4
arm64 ×1
busybox ×1
craftcms ×1
devops ×1
docker-image ×1
dockerfile ×1
glibc ×1
go ×1
hdf5 ×1
java ×1
mongodb ×1
nginx ×1
node.js ×1
php ×1
postgresql ×1
python-3.7 ×1
python-3.x ×1
shell ×1