Alpine Linux使用簡介html
目錄:mysql
1、Alpine簡要介紹linux
2、Alpine本地安裝nginx
3、Alpine在Docker下運行web
4、Alpine的配置和使用sql
4.1網絡相關文件docker
4.2更新國內源shell
4.3軟件包管理工具apk的基本使用安全
4.4開啓SSH服務服務器
4.5安裝nginx
1、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.」歸納瞭如下特色:
一、小巧:基於Musl libc和busybox,和busybox同樣小巧,最小的Docker鏡像只有5MB;
二、安全:面向安全的輕量發行版;
三、簡單:提供APK包管理工具,軟件的搜索、安裝、刪除、升級都很是方便。
四、適合容器使用:因爲小巧、功能完備,很是適合做爲容器的基礎鏡像。
2、Alpine本地安裝
Alpine Linux是一個完整的操做系統,像其餘操做系統同樣,能夠將Alpine安裝到本地硬盤中。咱們能夠建立一個VirtualBox虛擬機,在VirtualBox 下安裝該系統,以便進行測試使用。具體安裝過程,參見我寫的另外一篇文章《Alpine linux硬盤安裝》,地址:http://blog.csdn.net/csdn_duomaomao/article/details/76053229。
主要是在安裝過程當中,指定一些電腦的基本設置,好比鍵盤佈局、主機名、網卡、IP地址、root口令修改、時區設置、軟件倉庫地址、SSH服務器、NTP客戶端、系統安裝方式、磁盤格式化等。
3、Alpine在Docker下運行
一、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
二、做爲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 .
4、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