【URLOS 应用开发基础课】Docker 官方系统镜像 Alpine 入门教程

简介: Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。本文将为大家详细介绍 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

相关文章
|
4天前
|
Ubuntu 应用服务中间件 nginx
docker告别跨系统装机烦恼
docker告别跨系统装机烦恼
11 1
|
1月前
|
开发框架 .NET Docker
.NET Core项目部署到Windows系统Docker
.NET Core项目部署到Windows系统Docker
33 2
|
2月前
|
Ubuntu Linux 数据安全/隐私保护
百度搜索:蓝易云【Ubuntu Linux 系统上怎么使用 SNAP 安装 Docker?】
现在,你已经使用SNAP成功安装了Docker。你可以使用Docker命令在Ubuntu系统上管理和运行容器化应用程序。记得在进行Docker操作时,可能需要使用 `sudo`命令以管理员权限运行。
49 0
|
2月前
|
关系型数据库 数据库 PostgreSQL
使用 Docker 在 Windows、Mac 和 Linux 系统轻松部署 PostgreSQL 数据库
使用 Docker 在 Windows、Mac 和 Linux 系统轻松部署 PostgreSQL 数据库
129 1
|
2月前
|
数据可视化 uml Docker
在本地Windows 11 系统的桌面版Docker上搭建PlantUML
在本地Windows 11 系统的桌面版Docker上搭建PlantUML
19 0
|
3月前
|
监控 Linux 测试技术
百度搜索:蓝易云【Linux系统Docker优化详细教程。】
请注意,Docker优化是一个综合性的过程,需要根据具体的应用程序和服务器环境进行调整。建议在进行任何更改之前,备份配置文件并进行性能测试。
174 0
|
3月前
|
Ubuntu Docker 索引
百度搜索:蓝易云【Ubuntu 18.04系统编译安装Docker教程。】
现在,您已经成功地在Ubuntu 18.04上编译和安装了Docker。请确保以普通用户身份运行Docker命令时具有必要的权限。请注意,Docker的安装和使用可能需要特定的网络配置和其他设置,具体取决于您的应用程序需求。
104 0
|
3月前
|
存储 Linux Docker
百度搜索:蓝易云【Centos8 stream系统编译安装Docker教程。】
请注意,以上教程是基于通过添加Docker官方存储库来安装Docker的方法。也可以通过其他方式安装Docker,如使用二进制文件或使用其他存储库。根据您的需求和环境,可能需要进行适当的调整。
196 1
|
3月前
|
Ubuntu Docker 容器
百度搜索:蓝易云【Ubuntu 20.04系统编译安装Docker教程。】
请注意,通过编译安装Docker可能需要较长时间,并且在配置和维护方面可能会更加复杂。因此,推荐使用官方提供的脚本或软件包管理器来安装Docker,以便更方便地管理和更新。
41 0
|
3月前
|
存储 Docker 索引
百度搜索:蓝易云【Debian11系统编译安装Docker教程。】
以上是在Debian 11系统上编译安装Docker和Docker Compose的基本步骤。请根据实际情况进行相应的调整和配置。
27 0
推荐文章
更多