标签: alpine

Alpine 的 APK 代表什么?

Alpine Linuxapk用作它的包管理器,它的安装程序文件是.apk……就像 Android 文件一样。

这些有什么关系吗?如果是,如何?
如果不是,APK 代表什么(Alpine PacKage?),为什么他们为他们的包管理器选择相同的名称,因为这听起来可能令人困惑?网络上没有关于经理姓名的信息。

package-management alpine

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

在 alpine:3.9 上安装 openjdk 11

我正在尝试使用 openjdk 11 构建一个 alpine docker 映像。为此,我正在启动一个 alpine 容器:

docker run -it alpine:3.9 /bin/sh
Run Code Online (Sandbox Code Playgroud)

并运行以下命令:

export JAVA_HOME=/opt/openjdk-11
export PATH=$JAVA_HOME/bin:$PATH

export JAVA_VERSION=11.0.2
export JAVA_URL=https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
export JAVA_SHA256=99be79935354f5c0df1ad293620ea36d13f48ec3ea870c838f20c504c9668b57

set -eux; \
    \
    wget -O /openjdk.tgz "$JAVA_URL"; \
    echo "$JAVA_SHA256 */openjdk.tgz" | sha256sum -c -; \
    mkdir -p "$JAVA_HOME"; \
    tar --extract --file /openjdk.tgz --directory "$JAVA_HOME" --strip-components 1; \
    rm /openjdk.tgz;
Run Code Online (Sandbox Code Playgroud)

在那之后,我可以确认一些事情似乎是正确的:

/ # ls -lah $JAVA_HOME/bin/java
+ ls -lah /opt/openjdk-11/bin/java
-rwxr-xr-x    1 668      668         8.5K Jan 18 05:20 /opt/openjdk-11/bin/java
/ # echo $PATH …
Run Code Online (Sandbox Code Playgroud)

java docker alpine

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

Alpine shell 在 docker 中找不到文件

我已经使用 Alpine 和一个名为 bowtie2 的工具设置了一个简单的 docker 容器。当我尝试运行时bowtie2-align-s,出现此错误:

sh: ./bowtie2-align-s: not found
Run Code Online (Sandbox Code Playgroud)

但是,ls告诉我该文件在那里。我从 Linux 二进制发行版安装了 bowtie2。我如何判断该发行版是否与 Alpine Linux 兼容?我在 Ubuntu 16.04 上运行 docker 17.09.0-ce。

这是完整的 Dockerfile:

FROM alpine:3.6

ENV BOWTIE2_VERSION 2.2.8

RUN apk add --no-cache \
        perl \
        wget \
        openssl \
        ca-certificates \
        strace \
    && wget https://downloads.sourceforge.net/project/bowtie-bio/bowtie2/$BOWTIE2_VERSION/bowtie2-$BOWTIE2_VERSION-linux-x86_64.zip \
    && unzip -d /usr/local bowtie2-$BOWTIE2_VERSION-linux-x86_64.zip \
    && rm bowtie2-$BOWTIE2_VERSION-linux-x86_64.zip
Run Code Online (Sandbox Code Playgroud)

我这样测试:

$ sudo docker run -it --rm --security-opt seccomp:unconfined bowtie2-bin sh
/ # /usr/local/bowtie2-2.2.8/bowtie2-align-s --version
sh: /usr/local/bowtie2-2.2.8/bowtie2-align-s: not …
Run Code Online (Sandbox Code Playgroud)

linux docker alpine

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

如果 tzdata 被删除,Alpine Linux 时区不会保持不变

这曾经用于设置时区。我在 Alpine 3.9.4 上有一个容器,它可以工作:

RUN apk add --no-cache tzdata
ENV TZ America/Chicago
RUN apk del tzdata
Run Code Online (Sandbox Code Playgroud)

我现在正在使用 Alpine Linux v3.10.3 创建一个 Docker 容器,但它不再工作了。一位用户建议我需要复制到 /etc/localtime:

RUN apk add --no-cache tzdata
ENV TZ America/Chicago
RUN cp /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apk del tzdata
Run Code Online (Sandbox Code Playgroud)

如果tzdata被删除,这些都不起作用。但是,如果tzdata不删除它们,它们会起作用。为什么是这样?

相关问题

timezone date docker alpine

7
推荐指数
1
解决办法
1590
查看次数

Alpine Linux apk:通过“apk add”列出直接安装的软件包?

是否可以列出直接安装的软件包apk add?例如apk add docker, apk add lm-sensors file, 等

运行会apk info列出所有已安装的包(包括已安装的包的依赖项),但我想将此列表缩小到不依赖于其他包的顶级包,以便在另一个系统上重现这些包。

alpine

6
推荐指数
1
解决办法
4249
查看次数

AWS / EC2 上的 Alpine linux:如何使用我的公钥登录?

我正在尝试通过标准社区 AMI 在 Amazon AWS EC2 上安装 Alpine Linux (v.3.6)。我提供了我的有效 ssh 密钥,该密钥适用于同一 VPC 中的所有其他实例 (Amazon Linux)。但是,我无法登录到实例。Alpine AWS 的默认用户名是什么?

我的公共 SSH 密钥是否应该像 Amazon Linux、Ubuntu 等一样自动上传到实例中 - 或者是仅用于某些特殊安装的 Alpine Linux AMI,所以我应该使用 Packer 或 smth。创建一个新用户并将我的公钥放在那里?

在哪里可以找到有关 AWS Alpine 社区 AMI 的任何文档?

amazon-ec2 alpine

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

Alpine Docker 上的 gcsfuse

我尝试使用 gcsfuse 将应用程序源代码存储在 GCP 存储桶上,这是我的 Dockerfile:

ARG VERSION

FROM golang:1.12.5-alpine3.9 as gcsfuse-builder

ENV GOPATH /go

RUN apk --update add git=2.20.1-r0 fuse=2.9.8-r2 fuse-dev=2.9.8-r2 \
    && go get -u github.com/googlecloudplatform/gcsfuse

FROM php:$VERSION as base

ARG REVISION

ENV APP_DIR=/srv/app \
    APP_ENV=prod \
    APP_FRONT_CONTROLLER=index.php \
    APP_LOCALE=fr \
    APP_USER=test-user \
    APP_USER_GROUP=test \
    APP_PORT=8080 \
    COMPOSER_ALLOW_SUPERUSER=1 \
    NGINX_DIR=/etc/nginx \
    NGINX_VERSION=1.14.2-r1 \
    PHP_FPM_CONF_DIR=/usr/local/etc/php-fpm.d/ \
    SUPERVISORD_CONF_DIR=/etc/supervisor \
    SUPERVISOR_VERSION=3.3.4-r1 \
    BUILD_SCRIPTS_DIR=/build-scripts \
    GOOGLE_APPLICATION_CREDENTIALS=/srv/app/bucket.json

# Supervisord conf to be copied at the end.
COPY docker/prod/php/scripts/*.sh $BUILD_SCRIPTS_DIR/

# Core dependencies installation …
Run Code Online (Sandbox Code Playgroud)

docker google-cloud-platform gcsfuse alpine

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

将 systemd 服务转换为 OpenRC (Alpine Linux)

因此,我目前正在将 XMPP 服务器与 Signal 网关合并以提高效率(在单独的 VM 中运行每个服务会消耗资源,就像没有人的事一样),并且我需要转换网关的服务脚本以在 XMPP 的 Alpine 上工作(缺少切换)全部交给 Arch),这样我就可以使用常规命令启动和停止并在启动时启动服务。不幸的是,关于 Alpine 的完整文档并不多。这是我当前 Debian 服务器上的内容:

[Unit]
Description=signal-web-gateway daemon
After=network.target

[Service]
PIDFile=/run/signal-web-gateway/pid
User=signal
Group=signal
RuntimeDirectory=signal-web-gateway
WorkingDirectory=/home/signal/
ExecStart=/home/signal/signal -gateway -bind 127.0.0.1:5010
PrivateTmp=true

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

基本上我想知道如何将其转换为 OpenRC (Alpine) 以及将其放在哪里。

使用这个: https: //gitlab.com/morph027/signal-web-gateway

service boot alpine

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

更改 Alpine Linux 默认 shell

Alpine默认使用ash作为登录shell,我想将其更改为bash。

到目前为止我做了什么:

  • 安装 bash 通过sudo apk add bash
  • 安装影子由sudo apk add shadow
  • 我将用户的登录 shell 更改/bin/bashchsh
  • 检查其中/etc/passwd包含/bin/bash我的用户的默认登录 shell

但这似乎被忽略了。当我登录(在控制台或 ssh 上)时,我总是会进入 ash shell。

shell bash alpine

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

在 Alpine docker 上安装 Shapely

我正在尝试将我的项目移至 docker,并且我一直在使用 alpine 变体。这是一个带有 postgres 数据库的 django 项目

这是我安装依赖项的方法:

...
ADD ./requirements.txt /srv/sites/mysite/requirements.txt

RUN echo "http://mirror.leaseweb.com/alpine/edge/testing" >> 
/etc/apk/repositories

RUN apk add --no-cache --virtual .build-deps \
build-base postgresql-dev libffi-dev gcc libc-dev linux-headers bash \
geos geos-dev jpeg-dev zlib-dev \
&& pip install -r requirements.txt \
&& find /usr/local \
    \( -type d -a -name test -o -name tests \) \
    -o \( -type f -a -name '*.pyc' -o -name '*.pyo' \) \
    -exec rm -rf '{}' + \
&& runDeps="$( \ …
Run Code Online (Sandbox Code Playgroud)

python django docker alpine

3
推荐指数
1
解决办法
5086
查看次数

Alpine Linux 是服务器的糟糕选择吗?

我一直在考虑将我的一台服务器从 Ubuntu 迁移到 Alpine 来托管我的 Web 应用程序。我因为 Docker 而认识 Alpine。使用 Alpine 作为服务器操作系统安全吗?有没有人试过这个?

linux alpine

0
推荐指数
1
解决办法
509
查看次数