我正在尝试从 Alpine linux docker 容器中运行自定义节点命令。
安装的软件包:
alpine-baselayout
alpine-keys
libressl2.4-libcrypto
libressl2.4-libssl
apk-tools
scanelf
libc-utils
glibc
libgcc
glibc-bin
libbz2
expat
libffi
gdbm
xz-libs
ncurses-terminfo-base
ncurses-terminfo
ncurses-libs
readline
sqlite-libs
musl
zlib
libpng
freetype
pkgconf
zlib-dev
libpng-dev
freetype-dev
libstdc++
binutils-libs
binutils
gmp
isl
libgomp
libatomic
mpfr3
mpc1
gcc
musl-dev
libc-dev
g++
ca-certificates
libssh2
libcurl
pcre
git
libjpeg-turbo
libjpeg-turbo-dev
tiff
tiff-dev
lcms2
lcms2-dev
musl-utils
libffi-dev
libressl
libressl2.4-libtls
libressl-dev
make
db
libsasl
libldap
libpq
postgresql-libs
postgresql-dev
python2
py-setuptools
python3
python3-dev
libxau
libbsd
libxdmcp
libxcb
libx11
gifsicle …Run Code Online (Sandbox Code Playgroud) 我想构建一个 Go 1.9.2 二进制文件并在 Docker Alpine 映像上运行它。我写的 Go 代码没有调用任何 C 代码。它还使用net包。不幸的是,它并不像听起来那么简单,因为 Go 似乎并不是一直都在构建静态二进制文件。当我尝试执行二进制文件时,我经常收到关于为什么二进制文件没有执行的神秘消息。互联网上有很多关于此的信息,但大多数信息最终都是人们使用试验错误来使他们的二进制文件工作。
到目前为止,我发现了以下作品,但是我不知道为什么,如果它是最佳的,或者是否可以简化。
env GOOS=linux GARCH=amd64 go install -v -a -tags netgo -installsuffix netgo -ldflags "-linkmode external -extldflags -static"
Run Code Online (Sandbox Code Playgroud)
构建将在 Alpine 3.7 docker 映像上运行的 Go 二进制文件的规范方法(如果存在)是什么?apk如果这会让事情变得更高效/更容易,我很乐意用来将软件包安装到 Alpine 映像。(相信我ca-certificates无论如何都需要安装。)
我已经编译了一个 PostgreSQL 插件wal2json,但是当尝试在 PostgreSQL 中加载它时,它抱怨:
错误:无法加载库“/usr/local/lib/postgresql/wal2json.so”:重新定位/usr/local/lib/postgresql/wal2json.so 时出错:__snprintf_chk:找不到符号
我找到了__snprintf_chk 的这个文档。
它在哪里,我应该怎么做才能将它提供给插件?
我的猜测是它在某个核心库中,但不存在于我拥有的版本中。也许我可以静态链接它?
更新:我想通了,这是使用Linux的阿尔卑斯山的问题musl,而不是glibc。我已经安装了 Alpine 软件包glibc,如https://github.com/jeanblanchard/docker-alpine-glibc/blob/master/Dockerfile 中所做的那样。没有帮助,仍然是同样的错误。
linux postgresql shared-libraries postgresql-9.4 alpine-linux
上下文: 操作系统:Windows 10 Pro;Docker 版本:18.09.0(构建 4d60db4);在企业代理的背后,使用CNTLM来解决这个问题。(目前正在拉/运行图像工作正常)
问题: 我试图构建以下 Dockerfile:
FROM alpine:3.5
RUN apk add --update \
python3
RUN pip3 install bottle
EXPOSE 8000
COPY main.py /main.py
CMD python3 /main.py
Run Code Online (Sandbox Code Playgroud)
这是我得到的:
Sending build context to Docker daemon 11.26kB
Step 1/6 : FROM alpine:3.5
---> dc496f71dbb5
Step 2/6 : RUN apk add --update python3
---> Running in 7f5099b20192
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.5/main: could not connect to server (check repositories file)
WARNING: Ignoring APKINDEX.c51f8f92.tar.gz: No such file or directory
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/community/x86_64/APKINDEX.tar.gz …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建包含OpenJDK的Alpine Linux映像。java已安装Java运行时(),但未安装Java编译器(javac)。我希望编译器随OpenJDK一起提供,就像通过aptor进行安装时的样子一样yum。
FROM alpine:latest
RUN apk update
RUN apk add bash openjdk8
RUN java -version
RUN javac --version
Run Code Online (Sandbox Code Playgroud)
构建Dockerfile时,返回以下错误:
The command '/bin/sh -c javac -version' returned a non-zero code: 127
如何在Alpine上使用Java编译器?
我想减少我的 docker 镜像并切换到 alpine 基础镜像。这会导致 bash 找不到 apt 的问题。事实证明,我必须改用 apk。但是,它似乎没有找到我需要的 java 版本。这是我的 dockerfile
#Use alpine golang
FROM golang:alpine
#Get the code from local code commit repo
WORKDIR /go/src/xxx
COPY . /go/src/xxx
#Install Java and cleanup after in the same layer
RUN apk update && apk add openjdk-8-jre-headless && rm -rf /var/lib/apt/lists/*
#Install dependencies recursively and remove the third_party directory after it has been used for compiling.
RUN go get ./... && go run setup.go && RUN rm -rf third_party
#More …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Alpine容器中安排一些摄取作业。我花了一段时间才明白为什么我的cron 作业没有启动:crond 似乎没有运行
rc-service -l | grep crond
Run Code Online (Sandbox Code Playgroud)
根据Alpine 的文档, crond 必须首先以openrc(即某种systemctl)开头。这是 Dockerfile
FROM python:3.7-alpine
# set work directory
WORKDIR /usr/src/collector
RUN apk update \
&& apk add curl openrc
# ======>>>> HERE !!!!!
RUN rc-service crond start && rc-update add crond
# install dependencies
RUN pip install --upgrade pip
RUN pip install pipenv
COPY ./Pipfile /usr/src/collector/Pipfile
RUN pipenv install --skip-lock --system --dev
# copy …Run Code Online (Sandbox Code Playgroud) 如何安装所有语言的字体?这就是我所做的,但 Chrome 中没有日文字体。
来自这张图片:https : //github.com/Zenika/alpine-chrome/blob/master/Dockerfile
FROM zenika/alpine-chrome
USER root
RUN apk add --no-cache msttcorefonts-installer fontconfig
RUN update-ms-fonts
# Installs latest Chromium package.
RUN apk add --no-cache \
msttcorefonts-installer fontconfig \
font-noto \
font-noto-adlam \
font-noto-adlamunjoined \
font-noto-arabic \
font-noto-armenian \
font-noto-avestan \
font-noto-bamum \
font-noto-bengali \
font-noto-buhid \
font-noto-carian \
font-noto-chakma \
font-noto-cherokee \
font-noto-cypriot \
font-noto-deseret \
font-noto-devanagari \
font-noto-ethiopic \
font-noto-extra \
font-noto-georgian \
font-noto-glagolitic \
font-noto-gothic \
font-noto-gujarati \
font-noto-gurmukhi \
font-noto-hebrew \
font-noto-kannada \ …Run Code Online (Sandbox Code Playgroud) 我正在使用 gdal 创建一个 geodjango 容器(基于 Python alpine 官方图像)。启动容器时,出现以下错误:
>>> from django.contrib.gis import gdal
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/li...
django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal", "GDAL", "gdal2.3.0", "gdal2.2.0", "gdal2.1.0", "gdal2.0.0", "gdal1.11.0"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.
Run Code Online (Sandbox Code Playgroud)
我的图像包含以下 gdal 库:
# find / -name libgdal*
/usr/lib/libgdal.so.20
/usr/lib/libgdal.so.20.5.0
/usr/lib/libgdal.a
/usr/lib/libgdal.so
Run Code Online (Sandbox Code Playgroud)
添加GDAL_LIBRARY_PATH='usr/lib/libgdal.so.20'到我的 Django 设置并没有解决这个问题。
我的 Dockerfile,基于官方的 python3 alpine 镜像。
FROM python:alpine
ENV PYTHONUNBUFFERED 1 …Run Code Online (Sandbox Code Playgroud) 请问我应该如何在我的 python 图像上安装 psycopg2-binary。
我尝试pip install psycopg2-binary==2.8.2但出现此错误
ERROR: Could not find a version that satisfies the requirement psycopg2-binary==2.8.2 (from versions: 2.7.4, 2.7.5, 2.7.6, 2.7.6.1, 2.7.7, 2.8, 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.8.5, 2.8.6, 2.9, 2.9.1) ERROR: No matching distribution found for psycopg2-binary==2.8.2
我的图像是python3.9-alpine
请问我该怎么办???
alpine-linux ×10
docker ×7
chromeless ×1
chromium ×1
cron ×1
django ×1
dns ×1
dockerfile ×1
gdal ×1
geodjango ×1
go ×1
java ×1
javascript ×1
linux ×1
node.js ×1
postgresql ×1
proxy ×1
puppeteer ×1
python-3.9 ×1