标签: alpine-linux

用于python的psycopg2安装:Docker中的2.7-alpine

要在python中使用PostgreSql,我需要

pip install psycopg2   
Run Code Online (Sandbox Code Playgroud)

但是,它依赖于libpq-dev和python-dev.我想知道如何在高山中安装依赖项?谢谢.

这是一个Dockerfile:

FROM python:2.7-alpine

RUN apk add python-dev libpq-dev
RUN pip install psycopg2
Run Code Online (Sandbox Code Playgroud)

输出是:

步骤3:运行apk添加python-dev libpq-dev --->运行3223b1bf7cde警告:忽略APKINDEX.167438ca.tar.gz:没有这样的文件或目录警告:忽略APKINDEX.a2e6dac0.tar.gz:没有这样的文件或目录错误:不满足约束:libpq-dev(缺失):必需:world [libpq-dev] python-dev(缺失):必需:world [python-dev]错误:服务'服务'无法构建:命令'/ bin/sh -c apk添加python-dev libpq-dev'返回非零代码:2

postgresql python-2.7 docker alpine-linux

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

无法将证书添加到 alpine linux 容器

我在 alpine linux 容器中有一个小型 python 应用程序,这里是 dockerfile:

FROM alpine

# basic flask environment
RUN apk add --no-cache bash git nginx uwsgi uwsgi-python py2-pip \
    && pip2 install --upgrade pip \
    && pip2 install flask

# application folder
ENV APP_DIR /app
ENV FLASK_APP app.py

# app dir
RUN mkdir ${APP_DIR} \
    && chown -R nginx:nginx ${APP_DIR} \
    && chmod 777 /run/ -R \
    && chmod 777 /root/ -R
VOLUME [${APP_DIR}]
WORKDIR ${APP_DIR}

# copy config files into filesystem
COPY nginx.conf /etc/nginx/nginx.conf …
Run Code Online (Sandbox Code Playgroud)

ssl docker dockerfile alpine-linux

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

InnoDB 初始化警告

我在 Windows 10 上使用 docker 来构建完整的网络堆栈(php、nginx、mysql 8)。使用 docker 撰写。

docker-compose.yml
在这里,我使用服务来构建 Web 应用程序。但我只会向你展示 mysql 服务

version: '3.8'

services:
    db:
        build: services/mysql
        container_name: db
        image: projects/laradock_mysql:latest
        env_file: ../.env
        restart: on-failure
        volumes:
            - ./storage/data:/var/lib/mysql
        ports:
            - 3306:3306
        networks:
            - sites

networks:
    sites:
        driver: bridge
        ipam:
            driver: default
            config:
                - subnet: 10.100.36.0/24
Run Code Online (Sandbox Code Playgroud)

MySQL Docker 文件

FROM mysql:8

COPY conf/my.cnf /etc/mysql/conf.d

EXPOSE 3306
Run Code Online (Sandbox Code Playgroud)

MySQL配置文件

[mysqld]
innodb_flush_method=O_DSYNC
innodb_flush_log_at_trx_commit=0
default-authentication-plugin=mysql_native_password
Run Code Online (Sandbox Code Playgroud)

docker-compose up 时的输出日志

2020-06-18T04:40:52.552867Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.

2020-06-18T04:40:55.549460Z 1 [Warning] [MY-012579] …
Run Code Online (Sandbox Code Playgroud)

mysql docker alpine-linux

16
推荐指数
1
解决办法
2745
查看次数

从边缘存储库添加高山软件包

如果我使用的是Alpine 3.8,如何从Alpine Edge存储库中添加特定的程序包?甚至支持吗?据我所知,没有等效的反向端口。

我想添加新版本:https : //pkgs.alpinelinux.org/package/edge/community/armhf/librdkafka

而不是3.8版本中的旧版本:https : //pkgs.alpinelinux.org/package/v3.8/community/s390x/librdkafka

repository package-managers alpine-linux

15
推荐指数
3
解决办法
7980
查看次数

Docker Alpine:在为 ARM 构建映像时无法选择软件包:python(没有此类软件包)

我有使用 SQLite 数据库的 Node.js 应用程序。要在 ARM 架构上使用它,我需要构建 sqlite3 二进制文件,因此在构建 Docker 映像时需要一些包。

这是我的 Dockerfile:

FROM node:14-alpine as builder

WORKDIR /app

COPY package*.json ./

RUN apk update \
    && apk --no-cache --virtual build-dependencies add python make g++ \
    && npm install --production

COPY . .    

RUN mkdir -p ./public ./data \
    && cd ./client \
    && npm install --production \
    && npm run build \
    && cd .. \
    && mv ./client/build/* ./public \
    && rm -rf ./client \
    && apk del …
Run Code Online (Sandbox Code Playgroud)

linux sqlite docker dockerfile alpine-linux

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

在 Alpine Linux 上构建 Elixir 和 Beam 的问题

我正在使用 Alpine linux 3.12 运行构建,构建失败,并显示以下输出,指示构建梁和具有 C++ 依赖项的 ERTS 时出错。

Error relocating /opt/app/erts-12.3.2.1/bin/beam.smp: _ZSt28__throw_bad_array_new_lengthv: symbol not found
Error relocating /opt/app/erts-12.3.2.1/bin/beam.smp: pthread_getname_np: symbol not found
Run Code Online (Sandbox Code Playgroud)

到目前为止,我一直在研究这两个特定错误的线程以及有关失败的各种线程。

是否有一些依赖项可能需要更新?

alpine-linux

15
推荐指数
1
解决办法
2957
查看次数

错误:在dockerfile中使用apk的不可满足的约束

我正在尝试将postgis安装到postgres容器中.Dockerfile:

FROM postgres:9.6.4-alpine

RUN apk update \
    && apk add -u postgresql-9.6-postgis-2.4 postgresql-9.6-postgis-2.4-scripts \
    && rm -rf /var/lib/apt/lists/*

COPY ./scripts/postgis.sh  /docker-entrypoint-initdb.d/postgis.sh
Run Code Online (Sandbox Code Playgroud)

postgis.sh:

#!/bin/sh

for DB in $(psql -t -c  "SELECT datname from pg_database where datname = 'backend'"); do
    echo "Loading PostGIS extensions into $DB"
    "${psql[@]}" --dbname="$DB" <<-'EOSQL'
        CREATE EXTENSION IF NOT EXISTS postgis;
EOSQL
done
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

错误:不可满足的约束:postgresql-9.6-postgis-2.4(缺失):所需:world [postgresql-9.6-postgis-2.4] postgresql-9.6-postgis-2.4-scripts(缺失):所需:world [postgresql-9.6 -postgis-2.4-scripts]命令'/ bin/sh -c apk update && apk add -u postgresql-9.6-postgis-2.4 postgresql-9.6-postgis-2.4-scripts && rm -rf/var/lib/apt/lists/*'返回非零代码:2

我发现了类似的问题,例如:

  1. 错误:不可满足的限制:在高山安装包装时
  2. 错误:不可满足的约束 - 关于php:7-fpm-alpine

但它并没有解决我的问题.如何用apk添加postgis扩展到我的postgres容器?

apk docker alpine-linux

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

如何在 Alpine linux docker 镜像中安装 oracle jdk11?

我的 Dockerfile:

FROM frolvlad/alpine-glibc:latest

ADD jdk-11.0.6_linux-x64_bin.tar.gz /usr/java

ENV JAVA_HOME=/usr/java/jdk-11.0.6
ENV PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

当我java -version在容器中运行命令时,我得到了这个段错误: 在此处输入图片说明

我怎么解决这个问题?

java segmentation-fault docker alpine-linux java-11

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

AWS Lambda Alpine Python 容器显示 IMAGE Launch 错误 exec 格式错误

我正在编写一个 Lambda 函数,使用 unoconv 和 libreoffice 将 excel 文件转换为 PDF,为此我使用 alpine 基础图像。Dockerfile 如下。

\n
# Define global args\nARG FUNCTION_DIR="/home/app/"\nARG RUNTIME_VERSION="3.9"\nARG DISTRO_VERSION="3.12"\n\n# Stage 1 - bundle base image + runtime\n# Grab a fresh copy of the image and install GCC\nFROM python:${RUNTIME_VERSION}-alpine${DISTRO_VERSION} AS python-alpine\n# Install GCC (Alpine uses musl but we compile and link dependencies with GCC)\nRUN apk add --no-cache \\\n    libstdc++\n\n# Stage 2 - build function and dependencies\nFROM python-alpine AS build-image\n# Install aws-lambda-cpp build dependencies\nRUN apk add --no-cache \\\n    build-base \\\n …
Run Code Online (Sandbox Code Playgroud)

python docker aws-lambda unoconv alpine-linux

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

Docker:结尾处的节点高山图像是否比整个节点图像小?

我正在运行一个nodeJS应用程序集群 - 它应该非常小,因为它们作为微服务运行.只有少数人需要额外的东西,如bcrypt或imagemagick - 这对我来说不时会有些麻烦.

现在我node:10.13-alpine用作所有Dockerfiles的基本映像来构建我的应用程序.对于其中一些我需要通过apk等添加依赖项.所以这些图像变大了.这是使用高山图像的最佳方法,通过添加所需的包(例如python,gcc ......)来增加图像?或者我应该使用完整的图像?

如果我会使用node:10.13,基本图像会更大,但如果我的理解是正确的,我的应用程序只会添加一个小层,因为使用相同的基本图像.所以最后使用一个大节点图像会更好?

node.js docker alpine-linux

13
推荐指数
2
解决办法
675
查看次数