内容简介:我们在进行URLOS应用开发时,经常会用到一些基础系统镜像,如:ubuntu、CentOS、Debian等,我们可以通过docker pull命令直接拉取官方镜像。以上是从docker官方拉取的ubuntu18.04镜像,我们可以基于此镜像制作相关的应用,比如LNP网站环境、LAP网站环境、Nodejs环境等等。简单理解,就是说几乎所有的docker应用都是在这些镜像上层层打包后得到的,应用的最终体积也许有几百M甚至上G,我们如何为应用瘦身以减少对磁盘的消耗呢?docker官方为我们打造了
我们在进行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/al...
https://mirrors.aliyun.com/al...
如果采用中国科技大学的源,文件内容为:
https://mirrors.ustc.edu.cn/a...
https://mirrors.ustc.edu.cn/a...
软件包管理工具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-...
URLOS开发交流QQ群:695164700,147882180
URLOS微信公众号:
以上所述就是小编给大家介绍的《URLOS应用开发基础课——Docker基础镜像Alpine入门教程》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- webpack 3 零基础入门教程 #1 - 介绍
- Elasticsearch 零基础到入门新手教程
- iOS汇编入门教程(一)ARM64汇编基础
- iOS 汇编入门教程(一):ARM64 汇编基础
- 0612 - 我入门 Python 后总结的基础教程
- Go 语言基础入门系列教程 —— 预热篇
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Automate This
Christopher Steiner / Portfolio / 2013-8-9 / USD 25.95
"The rousing story of the last gasp of human agency and how today's best and brightest minds are endeavoring to put an end to it." It used to be that to diagnose an illness, interpret legal docume......一起来看看 《Automate This》 这本书的介绍吧!