Alpine Linuxの詳細
5592 ワード
概要
Small. Simple. Secure.Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox.
Alpine Linuxは、コミュニティが開発したセキュリティアプリケーション向けの軽量級Linuxリリース版です.Alpineは「高山」を意味し、musl libcとbusyboxを採用し、システムの体積と実行時のリソース消費を低減し、独自のパッケージ管理ツールapkを提供しています.
適用環境
コンパクト、安全、シンプル、機能完備の特徴から、多くのDocker容器に広く応用されている.当社が現在使用している基礎ミラーリングはすべてこのシステムに基づいており、dockerhubには各種言語を提供する基礎ミラーリングがある.例えば:
簡単なミラー構築例
ここではpython 3のベースミラーの
比較:同じバージョンのpython、ミラーサイズを比較すると、alpineを使用するメリットがわかります.
apkパッケージ管理ミラーソース構成公式ミラーソースリスト:http://dl-cdn.alpinelinux.org/alpine/MIRRORS.txt
MIRRORS.txtは、現在のAlpineが公式に提供しているミラーソースです(Alpineがインストールされている場合、システムが最適なミラーソースを自動的に選択します)
国内ミラーソース 清華TUNAミラーソース:https://mirror.tuna.tsinghua.edu.cn/alpine/ 中科大鏡像ソース:http://mirrors.ustc.edu.cn/alpine/ アリクラウドミラーソース:http://mirrors.aliyun.com/alpine/
ミラーソースの構成ここではアリクラウドミラーソースの使用を推奨します.会社のアプリケーションはすべてアリクラウドに配置されているため、アリクラウドミラーソースを使用すると多くの apkパッケージ管理コマンドここでは、一般的な操作apkパッケージ管理コマンドについて説明します. を表示できます. が一覧表示されます. を更新 を検索する 指定バージョンパッケージ をインストール指定パッケージ をアップグレード
注意:インストールする前に、ローカルミラーソースを変更し、ミラーソースを更新し、パッケージが存在するかどうかを検索し、適切な岸本を選択してインストールしたほうがいいです. をアンインストールして削除する.
締めくくり
Alpineはそのコンパクトで簡単でdocker容器に広く応用されている.しかし、Alpine Linuxはmuslを使用しており、他のLinuxリリースで使用されているglibc実装とは少し異なる可能性があります.ここでは主にその基礎的な使い方を紹介したが,日常のメンテナンスのニーズを満たすのに十分である.結局,kubernetesクラスタでコンテナ内を操作する環境は,仮想マシンや物理マシンで直接操作するよりも複雑であり,コンテナのサイズが縮小するため,CentOSやUbuntuに比べて多くの機能が欠けている.これらの機能が欠けている場合は、ベースミラーにインストールしたくないため、コンテナが大きくなります.この場合、コンテナが実行された後、実際の必要に応じてインストールできます.
リファレンスドキュメント
https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
Small. Simple. Secure.Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox.
Alpine Linuxは、コミュニティが開発したセキュリティアプリケーション向けの軽量級Linuxリリース版です.Alpineは「高山」を意味し、musl libcとbusyboxを採用し、システムの体積と実行時のリソース消費を低減し、独自のパッケージ管理ツールapkを提供しています.
適用環境
コンパクト、安全、シンプル、機能完備の特徴から、多くのDocker容器に広く応用されている.当社が現在使用している基礎ミラーリングはすべてこのシステムに基づいており、dockerhubには各種言語を提供する基礎ミラーリングがある.例えば:
node:8-alpine
、python:3.6-alpine
、同時にalpineミラーに基づいて自分のニーズに合った基礎ミラーを作成することもできる.簡単なミラー構築例
ここではpython 3のベースミラーの
Dockerfile
,get-pipを提供する.pyはhttps://pip.pypa.io/en/latest/installing/ダウンロードします.FROM alpine
MAINTAINER [email protected]
# pip
COPY get-pip.py /get-pip.py
# alpine
RUN echo "https://mirrors.aliyun.com/alpine/v3.6/main/" > /etc/apk/repositories \
#
&& apk update \
&& apk add --no-cache bash \
# libevent-dev libxml2-dev libffi libxml2 libxslt libxslt-dev \
python3 gcc g++ python3-dev python-dev linux-headers libffi-dev openssl-dev \
# apk pip python2.7 , , get-pip.py
# python3.6 pip
&& python3 /get-pip.py \
#
&& cd .. \
&& rm -f /get-pip.py \
# django , ,
# && pip uninstall -y pip setuptools wheel \
# apk
&& rm -rf /var/cache/apk/*
比較:同じバージョンのpython、ミラーサイズを比較すると、alpineを使用するメリットがわかります.
~ docker images | grep python
python 3.4 ccbffa0d70d9 2 months ago 922MB
alpine-python3 latest 69e41b673a50 2 months ago 297MB
apkパッケージ管理
MIRRORS.txtは、現在のAlpineが公式に提供しているミラーソースです(Alpineがインストールされている場合、システムが最適なミラーソースを自動的に選択します)
国内ミラーソース
ミラーソースの構成ここではアリクラウドミラーソースの使用を推奨します.会社のアプリケーションはすべてアリクラウドに配置されているため、アリクラウドミラーソースを使用すると多くの
$ vi /etc/apk/repositories
# repositories
http://mirrors.aliyun.com/alpine/v3.9/main
http://mirrors.aliyun.com/alpine/v3.9/community
#
http://dl-cdn.alpinelinux.org/alpine/v3.8/main
http://dl-cdn.alpinelinux.org/alpine/v3.8/community
が速くなります.apk --help
完全なパッケージ管理コマンドbash-4.3# apk --help
apk-tools 2.10.0, compiled for x86_64.
Installing and removing packages:
add Add PACKAGEs to 'world' and install (or upgrade) them, while ensuring that all dependencies are met
del Remove PACKAGEs from 'world' and uninstall them
System maintenance:
fix Repair package or upgrade it without modifying main dependencies
update Update repository indexes from all remote repositories
upgrade Upgrade currently installed packages to match repositories
cache Download missing PACKAGEs to cache and/or delete unneeded files from cache
Querying information about packages:
info Give detailed information about PACKAGEs or repositories
list List packages by PATTERN and other criteria
dot Generate graphviz graphs
policy Show repository policy for packages
Repository maintenance:
index Create repository index file from FILEs
fetch Download PACKAGEs from global repositories to a local directory
verify Verify package integrity and signature
manifest Show checksums of package contents
Use apk --help for command-specific help.
Use apk --help --verbose for a full command listing.
This apk has coffee making abilities.
apk info
インストールされているすべてのパッケージapk apk update
最新ローカルミラーソースapk upgrade
アップグレードソフトウェアapk search
利用可能なパッケージを検索し、検索する前に、ミラーソースbash-4.3#apk search#検索を更新することが望ましいので、利用可能なパッケージbash-4.3#apk search-v#検索が可能なので、利用可能なパッケージとその記述内容bash-4.3#apk search-v'acf*'#パッケージ名でパッケージbash-4.3#apk search-v-d'docker'#説明ファイルで特定のパッケージapk add
倉庫から最新のパッケージをインストールし、必要な依存パッケージを自動的にインストールするか、サードパーティ倉庫からパッケージを追加することもできますbash-4.3# apk add curl busybox-extras # , curl telnet
bash-4.3# apk add --no-cache curl
bash-4.3# apk add mongodb --update-cache --repository http://mirrors.ustc.edu.cn/alpine/v3.6/main/ --allow-untrusted #
bash-4.3# apk add mongodb=4.0.5-r0
bash-4.3# apk add 'mongodb<4.0.5'
bash-4.3# apk add 'mongodb>4.0.5'
bash-4.3# apk add --upgrade busybox #
注意:インストールする前に、ローカルミラーソースを変更し、ミラーソースを更新し、パッケージが存在するかどうかを検索し、適切な岸本を選択してインストールしたほうがいいです.
apk del
指定パッケージ締めくくり
Alpineはそのコンパクトで簡単でdocker容器に広く応用されている.しかし、Alpine Linuxはmuslを使用しており、他のLinuxリリースで使用されているglibc実装とは少し異なる可能性があります.ここでは主にその基礎的な使い方を紹介したが,日常のメンテナンスのニーズを満たすのに十分である.結局,kubernetesクラスタでコンテナ内を操作する環境は,仮想マシンや物理マシンで直接操作するよりも複雑であり,コンテナのサイズが縮小するため,CentOSやUbuntuに比べて多くの機能が欠けている.これらの機能が欠けている場合は、ベースミラーにインストールしたくないため、コンテナが大きくなります.この場合、コンテナが実行された後、実際の必要に応じてインストールできます.
リファレンスドキュメント
https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management