alpine基础镜像使用

关于Alpine的相关知识,可以参考下边的链接

一. alpinedocker容器里边运行hello也会报错/bin/sh:hello:notfound

Alpine docker容器里边运行hello也会报错/bin/sh: hello: not found
而同样的hello可执行程序,在Ubuntu系统中是可以正常运行的。
解决方法,参考下边链接里最后的内容。

gnu libc和musl libc的争论

而这些终于在这个issue中给得到了解决,由于没有热闹可看,请读者自行阅读
https://github.com/ibmdb/node-ibm_db/issues/217
使用的相关内容在这里:
https://github.com/sgerrand/alpine-pkg-glibc
简单来说,解决的方法就是在Alpine里面安装glibc,让Alpine不再是Alpine

验证

看完热闹,现在花1分钟快速解决一下遗留问题。重新回到问题现场。按照如下三步骤进行安装
 
步骤1: 下载key
~ # wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
~ # echo $?
0
~ # ls /etc/apk/keys/sgerrand.rsa.pub
/etc/apk/keys/sgerrand.rsa.pub
~ #
步骤2: 下载apk安装文件
~ # wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.29-r0/glibc-2.29-r0.apk
Connecting to github.com (13.229.188.59:443)
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (52.216.176.203:443)
glibc-2.29-r0.apk    100% |****************************************************************************************| 2006k  0:00:00 ETA
~ # ls
glibc-2.29-r0.apk
步骤3: 安装
~ # apk add glibc-2.29-r0.apk
(1/1) Installing glibc (2.29-r0)
OK: 9 MiB in 15 packages

二、更改镜像仓库

目前Docker镜像越来越倾向于使用Alpine系统作为基础的系统镜像,alpine3.4为例修改

# 备份原始文件

cp /etc/apk/repositories /etc/apk/repositories.bak

# 修改为国内镜像

echo "http://mirrors.aliyun.com/alpine/v3.4/main/" > /etc/apk/repositories

原文地址:https://www.cnblogs.com/embedded-linux/p/12078154.html