【URLOS开发入门】docker官方系统镜像——Alpine入门教程

我们在进行URLOS应用开发时,经常会用到一些基础系统镜像,如:ubuntu、CentOS、Debian等,我们可以通过docker pull命令直接拉取官方镜像。

[email protected]:~# 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
[email protected]node:~# docker images
REPOSITORY            TAG                  IMAGE ID            CREATED             SIZE
ubuntu                18.04                94e814e2efa8        6 weeks ago         88.9MB
[email protected]:~#

以上是从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镜像

[email protected]:~# 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
[email protected]:~#

使用docker images命令查看镜像

[email protected]:~# 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
[email protected]:~#

可以看到alpine镜像只有5.53MB,而ubuntu镜像则有88.9MB,Alpine的体积优势非常明显。

下面运行镜像

[email protected]:~# 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微信公众号:

原文地址:https://www.cnblogs.com/yeqing112/p/10773500.html

时间: 2024-11-08 06:50:06

【URLOS开发入门】docker官方系统镜像——Alpine入门教程的相关文章

关于Docker官方CentOS镜像无法启动mysqld的总结

很多童鞋反映,在Docker官方CentOS镜像中安装了Mysql server后,无法正常启动. 无法正常启动表现为两种情况: 1> 初始完数据库后,mysqld启动报错 2> systemctl start mysqld或者service mysqld start报错 首先重现一下现场. 第一种情况 一.启动CentOS镜像,安装Mysql Server 注意,Docker官方CentOS镜像latest版本是7.1.CentOS 7 yum源中默认没有Mysql Server的. 关于如

Docker官方Centos镜像下安装Elasticsearch【详细步骤】

运行docker镜像[官方centos] 启动容器 docker run -it -d -p 9000-9900:9000-9900 --name cenosElasticsearch centos docker run -it -d -p 9200:9200 -p 9300:9300 --name cenosElasticsearch3 e11524101e04 查看容器并进入 docker ps docker attach e584c6fb2eff 这里启动容器选择了一段ip和主机ip映射「

Windows www2992019com系统镜像18669144441

如何下载微软官方原版Windows 系统镜像?MSDN是一个不如何下载微软官方原版Windows 系统镜像?MSDN是一个不错的选择Windows 系统是目前主流的操作系统,占据了市场了主要份额.目前没有任何一款电脑操作系统可以对Windows 系统的垄断地位造成威胁,苹果MAC OS系统虽然非常优秀,但是由于定价过高,主要是一些专业设计和办公者使用,市场占有率非常有限.其他许多定制系统少之又少了,普通消费者基本无法接触到.如何下载微软官方原版Windows 系统镜像?MSDN是一个不错的选择电

Docker快速入门——Docker镜像制作

Docker快速入门--Docker镜像制作 一.Dockerfile脚本 1.Dockerfile脚本简介 Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容就是描述该层应当如何构建.Dockerfile文件示例如下: ## Dockerfile文件格式 # This dockerfile uses the ubuntu image # VERSION 2 - EDITION 1 # Author: docker_us

docker在centos7系统镜像下无法启动服务的解决办法

成功安装服务后发现无法启动,报错为:Failed to get D-Bus connection: Operation not permitted 系统为centos7官方版镜像,源和依赖之类的都已更新,查了下是官方镜像的一个bug docker run -d -v /sys/fs/cgroup:/sys/fs/cgroup:ro --name centos pro_env /usr/sbin/init 启动一个常驻的容器,centos为容器名称,pro_env为镜像名称,不知道镜像名称可以do

docker官方镜像修改为国内镜像

参考:https://www.cnblogs.com/icebutterfly/p/9489133.html 使用docker拉取镜像时,会出现链接超时错误.因为官方镜像访问速度太慢,所以报错,修改为国内镜像可以解决这个问题,操作如下: 在linux系统上,修改 /etc/docker/daemon.json 文件配置1.执行命令,进入daemon.json配置文件 vim /etc/docker/daemon.json 2.修改配置文件为(可自行加减国内镜像地址),然后保存 { "regist

Docker快速入门——Docker简介

Docker快速入门--Docker简介 一.Docker简介 1.Docker简介 Docker是Docker Inc公司开源的一项基于Ubuntu LXC技术构建的应用容器引擎,源代码托管在GitHub上,完全基于go语言开发并遵守Apache2.0协议开源.Docker可以让开发者打包应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux版本机器上,也可以实现虚拟化.Docker容器完全使用沙箱机制,容器相互之间不会有任何接口,并且容器性能开销极低.Docker最初是在

一文快速入门Docker

Docker提供一种安全.可重复的环境中自动部署软件的方式,拉开了基于与计算平台发展方式的变革序幕.如今Docker在互联网公司使用已经非常普遍.本文用十分钟时间,带你快速入门Docker. Docker是什么 Docker是什么? 官网首页的介绍: Enterprise Container Platform for High-Velocity Innovation. Securely build, share and run any application, anywhere 百度百科告诉我们

docker技术剖析--镜像、容器管理

防伪码:博观而约取,厚积而薄发                                 docker技术剖析--镜像.容器管理 一.Docker简介 Docker是什么? Docker的英文本意是"搬运工",在程序员的世界里,Docker搬运的是集装箱(Container),集装箱里装的是任意类型的App,开发者通过Docker可以将App变成一种标准化的.可移植的.自管理的组件,可以在任何主流系统中开发.调试和运行. 说白了,docker是一种用了新颖方式实现的轻量级虚拟机,