【URLOS開發入門】docker官方系統鏡像——Alpine入門教程


我們在進行URLOS應用開發時,經常會用到一些基礎系統鏡像,如:ubuntu、CentOS、Debian等,我們可以通過docker pull命令直接拉取官方鏡像。

root@ubuntu:~# docker pull ubuntu:18.04 18.04: Pulling from library/ubuntu 898c46f3b1a1: Already exists 63366dfa0a50: Already exists 041d4cd74a92: Already exists 6e1bee0f8701: Already exists Digest: sha256:017eef0b616011647b269b5c65826e2e2ebddbe5d1f8c1e56b3599fb14fabec8 Status: Downloaded newer image for ubuntu:18.04 root@master-node:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 18.04 94e814e2efa8 6 weeks ago 88.9MB root@ubuntu:~# 

以上是從docker官方拉取的ubuntu18.04鏡像,我們可以基於此鏡像制作相關的應用,比如LNP網站環境、LAP網站環境、Nodejs環境等等。簡單理解,就是說幾乎所有的docker應用都是在這些鏡像上層層打包后得到的,應用的最終體積也許有幾百M甚至上G,我們如何為應用瘦身以減少對磁盤的消耗呢?

docker官方為我們打造了Alpine。
Alpine 的意思是“高山的”,比如 Alpine plants高山植物,Alpine skiing高山滑雪、the alpine resort阿爾卑斯山勝地,其實Alpine是一個操作系統。

Alpine 操作系統是一個面向安全的輕型 Linux 發行版。目前 Docker 官方已開始推薦使用 Alpine 替代之前的 Ubuntu 做為基礎鏡像環境。這樣會帶來多個好處。包括鏡像下載速度加快,鏡像安全性提高,主機之間的切換更方便,占用更少磁盤空間等。

Alpine的特點:

1、小巧:基於Musl libc和busybox,和busybox一樣小巧,最小的Docker鏡像只有5MB;

2、安全:面向安全的輕量發行版;

3、簡單:提供APK包管理工具,軟件的搜索、安裝、刪除、升級都非常方便。

4、適合容器使用:由於小巧、功能完備,非常適合作為容器的基礎鏡像。

在制作URLOS應用時,我們可以選擇Alpine作為系統基礎鏡像,這樣一來可有效降低應用的大小,方便其他用戶下載安裝。現在我們開始使用Alpine(如果你的系統中沒有安裝docker,建議先安裝URLOS,因為它自帶了docker)。

docker下運行Alpine
使用docker pull命令拉取Alpine鏡像

root@ubuntu:~# docker pull alpine Using default tag: latest latest: Pulling from library/alpine bdf0201b3a05: Pull complete Digest: sha256:28ef97b8686a0b5399129e9b763d5b7e5ff03576aa5580d6f4182a49c5fe1913 Status: Downloaded newer image for alpine:latest root@ubuntu:~# 

使用docker images命令查看鏡像

root@ubuntu:~# docker images REPOSITORY TAG IMAGE ID CREATED SIZE alpine latest cdf98d1859c1 2 weeks ago 5.53MB ubuntu 18.04 94e814e2efa8 6 weeks ago 88.9MB root@ubuntu:~# 

可以看到alpine鏡像只有5.53MB,而ubuntu鏡像則有88.9MB,Alpine的體積優勢非常明顯。

下面運行鏡像

root@ubuntu:~# docker run -it --name myalpine alpine / # 

Alpine的基本配置

1、網絡相關配置

主機名文件

/etc/hostname

使用新設置的主機名立刻生效,執行如下命令:

hostname -F /etc/hostname   

主機IP和域名映射文件

/etc/hosts

文件內容為:

127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.2 a9efe865a8e6 192.168.43.121 www.urlos.com 

DNS 服務器配置文件

/etc/resolv.conf

文件內容為:

#neeanew Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.43.1 

網卡配置文件

/etc/network/interfaces

文件內容為:

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.43.121 netmask 255.255.255.0 gateway 192.168.43.1 

修改完相關配置以后,重新啟動網絡服務:

/etc/init.d/networking restart

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/

軟件包管理工具apk的基本使用

alpine 提供了非常好用的apk軟件包管理工具,

可以方便地安裝、刪除、更新軟件。

查詢相關的軟件包

命令:apk search,如查詢vim軟件包:

/ # apk search vim neovim-doc-0.2.0-r0 faenza-icon-theme-vim-1.3.1-r4 docker-vim-17.05.0-r0 vim-doc-8.0.0595-r0 py-jinja2-vim-2.9.6-r0 vimdiff-8.0.0595-r0 asciidoc-vim-8.6.9-r2 neovim-lang-0.2.0-r0 vim-8.0.0595-r0 neovim-0.2.0-r0 nginx-vim-1.12.2-r2 msmtp-vim-1.6.6-r1 protobuf-vim-3.1.0-r1 gst-plugins-base1-1.10.4-r1 mercurial-vim-4.5.2-r0 / # 

安裝軟件包

命令:apk add,如安裝vim軟件包:

/ # apk add vim (1/5) Installing lua5.2-libs (5.2.4-r2) (2/5) Installing ncurses-terminfo-base (6.0_p20171125-r1) (3/5) Installing ncurses-terminfo (6.0_p20171125-r1) (4/5) Installing ncurses-libs (6.0_p20171125-r1) (5/5) Installing vim (8.0.0595-r0) Executing busybox-1.29.3-r10.trigger OK: 39 MiB in 19 packages / # 

卸載軟件

命令:apk del,如卸載vim軟件:

/ # apk del vim (1/5) Purging vim (8.0.0595-r0) (2/5) Purging lua5.2-libs (5.2.4-r2) (3/5) Purging ncurses-libs (6.0_p20171125-r1) (4/5) Purging ncurses-terminfo (6.0_p20171125-r1) (5/5) Purging ncurses-terminfo-base (6.0_p20171125-r1) Executing busybox-1.29.3-r10.trigger OK: 6 MiB in 14 packages / # 

獲取更多apk包管理的命令參數

命令:apk --help

以上是Alpine最基本的使用方法,更多URLOS開發教程與docker容器教程請訪問URLOS官網獲取。

URLOS官網:https://www.urlos.com/
URLOS安裝方法:https://www.urlos.com/center-home-index-detail-10-22-y.html
URLOS開發交流QQ群:695164700,147882180
URLOS微信公眾號:

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM