alpine
Alpine Linux Docker鏡像基於Alpine Linux操作系統,后者是一個面向安全的輕型Linux發行版。不同於通常Linux發行版,Alpine Linux采用了musl libc和busybox以減小系統的體積和運行時資源消耗。在保持瘦身的同時,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