标签: alpine-linux

java.library.path 中没有字体管理器

以下代码在我的桌面上运行良好:

        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        Graphics g = image.getGraphics();
        g.setFont(new Font("SansSerif", Font.BOLD, 18));

        Graphics2D graphics = (Graphics2D) g;
        graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
        graphics.drawString(s, 5, 20);
Run Code Online (Sandbox Code Playgroud)

但是,当我在我的服务器上运行此代码(在 Docker 容器内的 linux alpine 上运行的 openjdk)时,它失败并显示以下错误:

java.lang.UnsatisfiedLinkError: no fontmanager in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java:61)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.java:32)
at sun.font.SunFontManager$1.run(SunFontManager.java:339)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<clinit>(SunFontManager.java:335)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.awt.Font.getFont2D(Font.java:491)
at java.awt.Font.access$000(Font.java:224)
at java.awt.Font$FontAccessImpl.getFont2D(Font.java:228)
at sun.font.FontUtilities.getFont2D(FontUtilities.java:180)
at sun.java2d.SunGraphics2D.checkFontInfo(SunGraphics2D.java:669) …
Run Code Online (Sandbox Code Playgroud)

java jvm headless docker alpine-linux

2
推荐指数
1
解决办法
2585
查看次数

在 alpine docker 中找不到节点

我有以下 Dockerfile:

FROM alpine:3.3

RUN apk update \
  && apk add curl tar git gzip

RUN curl --retry 3 --retry-delay 20 --show-error --location --remote-name --silent "https://nodejs.org/dist/v6.2.0/node-v6.2.0-linux-x64.tar.gz" \
  && tar -xzf "node-v6.2.0-linux-x64.tar.gz" -C /usr/local --strip-components=1 --same-owner \
  && rm -rf "node-v6.2.0-linux-x64.tar.gz" \
  && ls -la /usr/local/bin && env \
  && /usr/local/bin/node -v \
  && npm cache clear
Run Code Online (Sandbox Code Playgroud)

构建图像给了我:

Sending build context to Docker daemon 13.51 MB
Step 1 : FROM alpine:3.3
 ---> 3e467a6273a3
Step 2 : RUN apk update     && apk …
Run Code Online (Sandbox Code Playgroud)

node.js docker alpine-linux

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

如何让 Flask 为 Alpine 上的静态文件提供正确的内容类型?

我正在基于python:2.7-alpine基本映像的 Docker 容器中运行 Flask webapp ,从 Debian 基本映像切换。

Flask 从/static目录中提供的所有图像都使用通用内容类型application/octet-stream而不是预期的特定内容类型提供,因此浏览器无法正确显示图像。

如何解决这个问题?

flask docker alpine-linux

2
推荐指数
1
解决办法
855
查看次数

选择 Golang docker 基础镜像

图像的大小golangalpine左右不同300Mb

使用golangimage 而不是 plain 有alpine什么好处?

go docker alpine-linux

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

BCRYPT - 在 Alpine:node 上从源代码构建,并在使用此 docker 文件时导致段错误

构建这个 docker 文件并尝试使用 Bcrypt 来完成一个散列,它会出现段错误,我一生都无法弄清楚为什么。

FROM mhart/alpine-node:9.1.0

MAINTAINER James Claridge  <james@claridgeand.co>

RUN mkdir /app
WORKDIR /app
RUN apk --no-cache add --virtual builds-deps build-base python
RUN npm config set python /usr/bin/python
RUN npm i -g npm
RUN npm install
RUN npm rebuild bcrypt --build-from-source
RUN apk del builds-deps
Run Code Online (Sandbox Code Playgroud)

bcrypt node.js docker alpine-linux

2
推荐指数
1
解决办法
7493
查看次数

如何在 php-fpm-alpine docker 容器内运行 cron 作业?

嗨,我不知道如何在容器内运行 cron 作业。

我发现了这个:How to run a cron job inside a docker container

但这会覆盖 CMD,我不知道如何保持 php-fpm 正常工作

php cron docker alpine-linux fpm

2
推荐指数
1
解决办法
3645
查看次数

如何安装 Alpine Apache Benchmark?

当我运行时apk add --update ab出现错误:

bash-4.3# apk add --update ab
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.6/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
  ab (missing):
    required by: world[ab]
bash-4.3# apk add ab
ERROR: unsatisfiable constraints:
  ab (missing):
    required by: world[ab]
Run Code Online (Sandbox Code Playgroud)

apachebench alpine-linux

2
推荐指数
1
解决办法
2107
查看次数

如何在 Docker 中使用 Chromium v​​77 运行 NodeJS puppeteer?

Alpine 于 80 月 8 日支持 Chromium v​​77。

参考:https : //pkgs.alpinelinux.org/packages?name=chromium&branch=edge

尝试复制下载 Chromium v​​77 并运行 Puppeteer v1.20 的步骤,但在运行时出现错误:

Error for printPdf()
{}
Error: Failed to launch chrome!
Error relocating /usr/lib/chromium/chrome: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/lib/chromium/chrome: _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1Ev: symbol not found
Error relocating /usr/lib/chromium/chrome: hb_subset_input_set_retain_gids: symbol not found
Error relocating /usr/lib/chromium/chrome: _ZNSt19_Sp_make_shared_tag5_S_eqERKSt9type_info: symbol not found


TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md

    at onClose (/usr/src/app/node_modules/puppeteer/lib/Launcher.js:348:14)
    at Interface.<anonymous> (/usr/src/app/node_modules/puppeteer/lib/Launcher.js:337:50)
    at Interface.emit (events.js:214:15)
    at Interface.close (readline.js:403:8)
    at Socket.onend (readline.js:180:10)
    at Socket.emit (events.js:214:15)
    at endReadableNT (_stream_readable.js:1178:12)
    at …
Run Code Online (Sandbox Code Playgroud)

chromium node.js docker alpine-linux puppeteer

2
推荐指数
1
解决办法
2869
查看次数

standard_init_linux.go:211:exec 用户进程在 alpine linux 和 python 中导致“没有这样的文件或目录”

我有一个包含 docker 文件、attack.py 和 requirements.txt 的目录。

使用它,我创建了以下 dockerfile:

FROM arm64v8/python:3.7-alpine

COPY qemu-arm-static /usr/bin

COPY ./ app-ids
WORKDIR /app-ids

RUN pip install --no-cache-dir -r requirements.txt

CMD["python","./attack.py"]
Run Code Online (Sandbox Code Playgroud)

但是,pip install 行抛出:standard_init_linux.go:211:exec user process 导致“没有这样的文件或目录”

我不明白为什么。使用 ls、pwd 等命令尝试调试会产生相同的错误。

谁能解释一下我到底做错了什么?

python docker dockerpy alpine-linux

2
推荐指数
1
解决办法
6866
查看次数

Docker 不缓存 Alpine apk add 命令

每次我构建容器时,我都必须等待apk add docker完成,这需要很长时间。由于每次下载相同的内容时,我是否可以以某种方式强制 Docker 缓存 apk 的下载以用于开发目的?

这是我的 Dockerfile:

FROM golang:1.13.5-alpine

WORKDIR /go/src/app
COPY src .

RUN go get -d -v ./...
RUN go install -v ./...

RUN apk add --update docker

CMD ["app"]
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我用这部分volumes: - /var/run/docker.sock:/var/run/docker.sockdocker-compose.yml,如果该事项使用兄弟容器。

编辑:我发现谷歌docker.tgz 在 Chromium 中复制:

# add docker client -- do not install docker via apk -- it will try to install
# docker engine which takes a lot of space as well (we don't need …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose alpine-linux

2
推荐指数
1
解决办法
2438
查看次数