搞个alpine的虚拟机,撞上docker和redis之后,只占用1.5g空间,实际运行起来,资源占用也比centos7或者ubuntu18少了一倍有余,docker要用它来做基础镜像是有原因的。
最新版是3.9.1,可从官方网站 alpinelinux.org 上下载,linux内核是4.19.26。
同是3.9.1版本,alpine linux很贴心给出了适合各种安装方式的版本,standard 标准本、extended 扩展版、virtual 虚拟机版等,由于最终要作为一个轻量的服务器使用,因此选择了extended扩展版下载,官方的解释是:
Most common used packages included. Suitable for routers and servers. Runs from RAM.
对于Runs from RAM这句,安装后,系统提供向导使系统运行在磁盘上,很简单,如果一直从RAM运行,那么每次重启,上一次给系统作出的配置都会重置,不会保留,先来安装系统。
使用mac的Paralles Desktop安装这个alpine虚拟机,也可以使用virtualBox在windows系统或mac系统安装,基本一样。
以Paralles Desktop为例,打开后选择“安装Windows或其他操作系统”
“继续”按钮之后,选择“手动选择”按钮,直接把下载的alpine-extended-3.9.1-x86_64.iso拖到Paralles Desktop上,出现“无法检测操作系统”的警告
不用理睬,“继续”按钮后,选择“Debian GNU/Linux”,选别的linux操作系统也行,没所谓,反正识别不出来
最后点击“创建”按钮,等着安装完成就行了,基本上不会超过2分钟
login直接使用root,没有密码直接进入系统,可以进入系统后passwd修改root密码,此时,若是玩票,简单学习linux操作系统,基本上就可以了,如果作为开发用的服务器,还需要设置其他东西。
此时看到虚拟机占用硬盘才几十兆,这是因为系统是内存运行,无论做什么修改,下次重启都会重置为系统初始值,因此需要运行命令:
setup-alpine
系统会以问答向导的方式,一步一步让你设置键盘、语言、主机名、IP、gateway、DNS、root密码等,除了列举出来的这几项,其他直接回车忽略就行。
Paralles Desktop默认使用共享网络创建虚拟机,如果在IP设置中直接回车选择DHCP,则会默认给出一个10.211.55.xxx的IP,使用共享网络创建的虚拟机可以直接通过宿主机连接外网,还是很方便的,相对而言,桥接方式可以让宿主机以外的其他主机访问到虚拟机,而共享网络只能使宿主机以及其他使用共享网络的虚拟机访问到虚拟机,共享网络就可以应对大部分开发需求了。
在宿主机以联网的情况下,alpine linux开始按照配置下载所需的package,当问到Which disk would you like to use?的时候,输入问好,选择硬盘,这样,alpine就会运行在硬盘上了,所有设置都会持久化下来,不会随着重启系统而被重置,然后选择硬盘作为“sys”使用,重启系统
这时,通过ssh root@10.211.55.xxx并不能连接到虚拟机,需要修改/etc/ssh/sshd_config文件中的两项:
PermitRootLogin yes
PasswordAuthentication yes
保存后,运行 /etc/init.d/sshd restart,再用ssh命令就可以连接到虚拟机了。
alpine使用apk工具管理package,与centos的yum、ubuntu的apt-get工具一样,需要什么就add什么,同样类似于yum,有些工具需要先在/etc/apk/repositories中加入条目才能被找到并安装,如apk add docker,则:
在/etc/apk/repositories中加入如下条目:
http://mirror1.hs-esslingen.de/pub/Mirrors/alpine/edge/community
再运行 apk update,最后运行apk add docker,就可以安装docker了
以下repositories仅供参考,由于很多package更新较慢,所以加入了从3.5版本到最新版的所有条目
http://dl-cdn.alpinelinux.org/alpine/v3.9/main
http://dl-cdn.alpinelinux.org/alpine/v3.8/main
http://dl-cdn.alpinelinux.org/alpine/v3.7/main
http://dl-cdn.alpinelinux.org/alpine/v3.6/main
http://dl-cdn.alpinelinux.org/alpine/v3.5/main
http://mirror1.hs-esslingen.de/pub/Mirrors/alpine/edge/community/
@edge http://nl.alpinelinux.org/alpine/edge/main
@edgecommunity http://nl.alpinelinux.org/alpine/edge/community
@testing http://nl.alpinelinux.org/alpine/edge/testing
#http://dl-6.alpinelinux.org/alpine/edge/community
如此,在apk update后,
apk add gcc、apk add docker、 apk add redis、 apk add mongodb都顺利安装,还是很方便的,
官网 : https://pkgs.alpinelinux.org/packages 列出了可用的package,查找非常方便,都可以使用 apk add 或者 apk add --no-cache 进行安装。
alpine linux 最大的好处是,真的很轻便!