Alpine Linux 使用简介
Alpine Linux使用簡介
?
目錄:
?
一、Alpine簡要介紹
二、Alpine本地安裝
三、Alpine在Docker下運行
四、Alpine的配置和使用
????4.1網絡相關文件
????4.2更新國內源
????4.3軟件包管理工具apk的基本使用
????4.4開啟SSH服務
????4.5安裝nginx
?
?
一、Alpine簡要介紹
????Alpine?的意思是“高山的”,比如?Alpine plants高山植物,Alpine skiing高山滑雪、the alpine resort阿爾卑斯山勝地。
????Alpine Linux?網站首頁注明“Small!Simple!Secure!Alpine Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox.”概括了以下特點:
1、小巧:基于Musl libc和busybox,和busybox一樣小巧,最小的Docker鏡像只有5MB;
2、安全:面向安全的輕量發行版;
3、簡單:提供APK包管理工具,軟件的搜索、安裝、刪除、升級都非常方便。
4、適合容器使用:由于小巧、功能完備,非常適合作為容器的基礎鏡像。
?
二、Alpine本地安裝
Alpine Linux是一個完整的操作系統,像其他操作系統一樣,可以將Alpine安裝到本地硬盤中。我們可以創建一個VirtualBox虛擬機,在VirtualBox?下安裝該系統,以便進行測試使用。具體安裝過程,參見我寫的另一篇文章《Alpine linux硬盤安裝》,地址:http://blog.csdn.net/csdn_duomaomao/article/details/76053229。
主要是在安裝過程中,指定一些電腦的基本設置,比如鍵盤布局、主機名、網卡、IP地址、root口令修改、時區設置、軟件倉庫地址、SSH服務器、NTP客戶端、系統安裝方式、磁盤格式化等。
?
三、Alpine在Docker下運行
1、Docker下的運行
官方?Alpine?鏡像的文檔:http://gliderlabs.viewdocs.io/docker-alpine/
可以使用Docker Toolbox,創建一臺Docker虛擬主機,在該主機的Docker環境下運行alpine的?Docker容器。該容器就是一個Alpine Linux系統,
docker pull alpine
docker run -it --name myalpine alpine
?
2、作為Docker容器的基礎鏡像
以Alpine為基礎鏡像,創建一個MySQL容器,鏡像大小只有36.5MB,
同樣的方式使用Ubuntu系統作為基礎鏡像,鏡像大小有184MB,
?
Dockerfile文件的內容:
FROM alpine:3.6
RUN apk add --no-cache mysql-client
ENTRYPOINT ["mysql"]
?
創建一個test/mysqlclient:1.0鏡像
docker build -t test/mysqlclient:1.0 .
?
四、Alpine的配置和使用
?
4.1網絡相關文件
#主機名文件
/etc/hostname ???
#使用新設置的主機名立刻生效,執行如下命令:
hostname -F /etc/hostname ??
?
#主機IP和域名映射文件
/etc/hosts ???
#文件內容為:
192.168.99.100 ???alpine.csdn.net
?
#DNS?服務器配置文件
/etc/resolv.conf ??
#文件內容為:
nameserver 218.2.135.1
nameserver 202.102.24.35
?
#網卡配置文件
/etc/network/interfaces
#文件內容為:
auto lo
iface lo inet loopback
?
auto eth0
iface eth0 inet static
??????address 192.168.3.166
??????netmask 255.255.255.0
??????gateway 192.168.3.254
?
#修改完相關配置以后,重新啟動網絡服務:
/etc/init.d/networking restart
?
網絡相關的文檔,詳細參見:https://wiki.alpinelinux.org/wiki/Configure_Networking
?
4.2更新國內源
#?Alpine的源文件為:
/etc/apk/repositories,
#?默認的源地址為:http://dl-cdn.alpinelinux.org/
?
#可以編輯源文件?/etc/apk/repositories,
#采用國內阿里云的源,文件內容為:
https://mirrors.aliyun.com/alpine/v3.6/main/
https://mirrors.aliyun.com/alpine/v3.6/community/
?
#?如果采用中國科技大學的源,文件內容為:
https://mirrors.ustc.edu.cn/alpine/v3.6/main/
https://mirrors.ustc.edu.cn/alpine/v3.6/community/
?
4.3軟件包管理工具apk的基本使用
alpine?提供了非常好用的apk軟件包管理工具,
可以方便地安裝、刪除、更新軟件。
#查詢openssh相關的軟件包
apk search ?openssh ??
#安裝一個軟件包
apk add ?xxx ??
#刪除已安裝的xxx軟件包
apk del ?xxx ??
#獲取更多apk包管理的命令參數
apk --help ??
?
#比如安裝常用的網絡相關工具:
#更新軟件包索引文件
apk update ???
#用于文本方式查看網頁,用于測試http協議
apk add curl ?
#提供了查看網絡連接的協議端口的命令ss,可以替代netstat命令
apk add iproute2 ?
#drill?命令可以替代dig和nslookup DNS查詢命令
apk add drill ??
?
?#測試192.168.3.166的80端口,查看web服務是否能正常訪問。
curl 192.168.3.166 ?
#查看建立的TCP連接
ss -ta ??
#查詢域名的信息
drill blog.csdn.net @8.8.8.8 ???
#根據IP地址,反向查找域名
drill -x 8.8.8.8 @47.94.71.34 ???
?
4.4開啟SSH服務
#安裝openssh-server服務器
apk add openssh-server
?
#修改配置文件?/etc/ssh/sshd_config,
#如果要想使用root用戶遠程管理,需要修改參數為:
PermitRootLogin yes
?
#將ssh服務配置為開機自動啟動
?rc-update add sshd
?
#如果你想立刻生效,可以執行命令:
/etc/init.d/sshd restart
?
?
4.5安裝nginx
#安裝Nginx軟件并更新到最新,
apk add --update nginx ??
#手工啟動Nginx
/etc/init.d/nginx ?
#將Nginx添加到啟動服務中,下次開機自動運行
rc-update add nginx ???
?
#測試Nginx服務是否正常,使用curl訪問,
#默認配置會返回nginx的404頁面錯誤,標明服務已正常:
curl 192.168.3.166
?
【附圖】
01-在Docker主機中,下載alpine鏡像
?
02-查看鏡像信息,運行alpine容器,查看容器信息
?
03-在Alpine容器系統中安裝常用網絡工具-完成部分安裝
?
04-完成常用網絡工具的安裝
?
05-在容器中,查看Alpine容器的IP地址
?
06-在Docker虛擬主機中使用docker build生成Docker鏡像的過程
?
07-生成Docker鏡像的大小,只有36.5MB
?
08-網絡相關配置文件及內容
?
09-重啟網絡服務?networking restart
?
10-軟件倉庫源的文件內容
?
11-apk軟件包管理常用命令-updae-search-add-del
?
12-使用curl查看Nginx網站的頁面反饋-查看TCP網絡狀態
?
13-使用drill查詢blog.csdn.net網站域名信息1
?
13-使用drill查詢blog.csdn.net網站域名信息2
?
14-修改ssh配置文件,運行Root用戶使用ssh登錄
?
15-使用Xshell客戶端工具,ssh登錄到3.166的Alpine機器上
?
16-更新APK軟件包倉庫的索引文件
?
17-安裝Nginx
?
18-重啟Nginx服務-將Nginx設置為開機自動啟動
?
?
?
【注意事項】:因為Alpine采用的是musl libc,不是通常用的glibc,在使用DNS時,Alpine(musl libc)在DNS解析文件/etc/resolv.conf中,不使用domain或?search選項。在使用DNS作為服務發現時,要查看相應的文檔來解決。相關鏈接:http://gliderlabs.viewdocs.io/docker-alpine/caveats/
?
【心得體會】:
http://wiki.alpinelinux.org?網站上內容非常豐富,英文也非常簡單,幾乎所有的問題都能在該網站上找到答案,強烈推薦該網站。
?
【參考鏈接】:
Alpine Linux package management
http://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
?
Alpine Linux,一個只有5M的Docker鏡像
http://www.infoq.com/cn/news/2016/01/Alpine-Linux-5M-Docker
?
Alpine Linux?源使用幫助
http://mirrors.ustc.edu.cn/help/alpine.html
?
Alpine Linux配置使用技巧【一個只有5M的操作系統(轉)】
http://www.cnblogs.com/zhangmingcheng/p/7122386.html
?
docker(10):virtualbox安裝使用?alpinelinux ??
http://blog.csdn.net/freewebsys/article/details/53638227
?版權聲明:本文為博主原創文章,或轉載自網絡,歡迎轉載分享,讓這世界越來越好。 https://blog.csdn.net/CSDN_duomaomao/article/details/76152416
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Alpine Linux 使用简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven快照版本和发布版本
- 下一篇: gorm增删改查总结