• Alpine Linux


     alpine

    Alpine Linux Docker镜像基于Alpine Linux操作系统,后者是一个面向安全的轻型Linux发行版。不同于通常Linux发行版,Alpine Linux采用了musl libcbusybox以减小系统的体积和运行时资源消耗。在保持瘦身的同时,Alpine Linux还提供了自己的包管理工具apk,可以在其网站上查询,或者直接通过apk命令查询和安装。

    使用阿里镜像 https://mirrors.aliyun.com
    
    sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
    使用科大镜像 http://mirrors.ustc.edu.cn
    sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
    
    作者:helphi
    链接:https://www.jianshu.com/p/791c91b7c2a4
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    

      

    官网:https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management 

    apk search -v 'jdk'

      apk update
     
      apk add curl=7.55.0-r0

    这里我们选择使用体积更小的 Linux 镜像,Alpine来进行同样功能的二维码服务的容器镜像。
    因为 Alpine 和 Ubuntu 不是一个社区进行维护,所以软件包很多名称是不同的,这里我直接提供我已经查找修改完毕的镜像文件。
    如果你也有类似的需求,需要将不同系统的软件进行迁移安装,可以在 https://pkgs.alpinelinux.org/packages 查找你所需要的软件包的名称。

     ============

    尝试用apt-get install python-matplotlib 安装失败,于是改成用pip 安装

    pip安装matplotlib :pip不能安装操作系统的依赖库导致的失败

     ===========

    执行:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib ,

    问题1

    pip不能安装操作系统的依赖库导致的失败

     解决:

    apk search -v 'freetype' | grep devel

    apk search -v 'png' | grep devel

     手动安装:apk add freetype-dev

    apk add libpng-dev

     问题2:

    gcc: error trying to exec 'cc1plus': execvp: No such file or directory

    导致问题的原因可能是因为没有安装 gcc 或者 g++,也可能是已安装的 gcc 和 g++ 版本不兼容 ,先解决方法如下:

      首先检查 gcc 或者 g++ 是否已经安装,若未安装 sudo apt-get install gcc(g++)再用 gcc -v 和 g++ -v 分别检查 gcc 和 g++ 的版本号, 看版本号是否一致,若不一致,请安装同一个版本的gcc和g++。

    解决:装了gcc,没装g++,所以安装即可:apk add g++

    问题3:

    安装提示解决即可

     最后的Dockerfile是:

    FROM            ***/flask-restful
    
    RUN         apk update &&
                apk add gcc freetype-dev libpng-dev g++
    WORKDIR      /usr/lib/python2.7/site-packages/
    RUN         mkdir -p matplotlib/backends/web_backend
    COPY       jquery-ui-1.12.1.zip   /tmp
    RUN        unzip /tmp/jquery-ui-1.12.1.zip -d /usr/lib/python2.7/site-packages/matplotlib/backends/web_backend
    RUN        rm -rf /tmp/jquery-ui-1.12.1.zip  &&
               pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U pip setuptools &&
               pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib  &&
               apk add ttf-dejavu  &&
               rm -rf /var/cache/apk/*
    COPY        msyh.ttf /usr/share/fonts/ttf-dejavu

     ==========使用root用户安装

    FROM        nx-goldwind.alauda.cn:5000/common/air_grpc:0.0.3
    MAINTAINER  zhangchunyang@goldwind.com.cn
    
    USER 0
    RUN  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U pip setuptools &&
         pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pymongo  &&
         pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas  &&
         pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy   &&
         pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scikit-learn==0.19.1  
    USER airflow
  • 相关阅读:
    redis要注意的一些知识
    redis数据类型及常用命令使用
    基于zookeeper的分布式锁
    基于redis的分布式锁
    基于数据库的分布式锁
    数据库的4中隔离级别
    远程调用历史及代码编写demo
    数据库的ACID跟事务隔离级别
    JAVA8 十大新特性详解
    java8 :: 用法 (JDK8 双冒号用法)
  • 原文地址:https://www.cnblogs.com/testzcy/p/7531281.html
Copyright © 2020-2023  润新知