Alpine Linux使用简介

原文转载:

http://blog.csdn.net/freewebsys/article/details/53638227

作者:Docker猫猫

来源:CSDN


目录:

一、Alpine简要介绍

二、Alpine本地安装

三、Alpine在Docker下运行

四、Alpine的配置和使用

    4.1网络相关文件

    4.2更新国内源

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

    4.4开启SSH服务

    4.5安装nginx

一、Alpine简要介绍

    Alpine 的意思是“高山的”,比如 Alpine plants高山植物,Alpine skiing高山滑雪、the

alpine resort阿尔卑斯山胜地。

    Alpine Linux 网站首页注明“Small!Simple!Secure!Alpine

Linux is a security-oriented, lightweight Linux distribution based on musl libc and busybox.”概括了以下特点:

1、小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;

2、安全:面向安全的轻量发行版;

3、简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。

4、适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。

二、Alpine本地安装

Alpine Linux是一个完整的操作系统,像其他操作系统一样,可以将Alpine安装到本地硬盘中。我们可以创建一个VirtualBox虚拟机,在VirtualBox

下安装该系统,以便进行测试使用。具体安装过程,参见我写的另一篇文章《Alpine linux硬盘安装》,地址:http://blog.csdn.net/csdn_duomaomao/article/details/76053229。

主要是在安装过程中,指定一些电脑的基本设置,比如键盘布局、主机名、网卡、IP地址、root口令修改、时区设置、软件仓库地址、SSH服务器、NTP客户端、系统安装方式、磁盘格式化等。

三、Alpine在Docker下运行

1、Docker下的运行

官方 Alpine 镜像的文档:http://gliderlabs.viewdocs.io/docker-alpine/

可以使用Docker Toolbox,创建一台Docker虚拟主机,在该主机的Docker环境下运行alpine的

Docker容器。该容器就是一个Alpine Linux系统,

docker pull alpine

docker run -it --name myalpine alpine

2、作为Docker容器的基础镜像

以Alpine为基础镜像,创建一个MySQL容器,镜像大小只有36.5MB,

同样的方式使用Ubuntu系统作为基础镜像,镜像大小有184MB,

Dockerfile文件的内容:

FROM alpine:3.6

RUN apk add --no-cache mysql-client

ENTRYPOINT ["mysql"]

创建一个test/mysqlclient:1.0镜像

docker build -t test/mysqlclient:1.0 .

四、Alpine的配置和使用

4.1网络相关文件

#主机名文件

/etc/hostname   

#使用新设置的主机名立刻生效,执行如下命令:

hostname -F /etc/hostname 

#主机IP和域名映射文件

/etc/hosts   

#文件内容为:

192.168.99.100    alpine.csdn.net

#DNS 服务器配置文件

/etc/resolv.conf 

#文件内容为:

nameserver 218.2.135.1

nameserver 202.102.24.35

#网卡配置文件

/etc/network/interfaces

#文件内容为:

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

      address 192.168.3.166

      netmask 255.255.255.0

      gateway 192.168.3.254

#修改完相关配置以后,重新启动网络服务:

/etc/init.d/networking restart

网络相关的文档,详细参见:https://wiki.alpinelinux.org/wiki/Configure_Networking

4.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/

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

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

可以方便地安装、删除、更新软件。

#查询openssh相关的软件包

apk search  openssh 

#安装一个软件包

apk add  xxx 

#删除已安装的xxx软件包

apk del  xxx 

#获取更多apk包管理的命令参数

apk --help 

#比如安装常用的网络相关工具:

#更新软件包索引文件

apk update   

#用于文本方式查看网页,用于测试http协议

apk add curl 

#提供了查看网络连接的协议端口的命令ss,可以替代netstat命令

apk add iproute2 

#drill 命令可以替代dig和nslookup DNS查询命令

apk add drill 

#测试192.168.3.166的80端口,查看web服务是否能正常访问。

curl 192.168.3.166 

#查看建立的TCP连接

ss -ta 

#查询域名的信息

drill blog.csdn.net @8.8.8.8   

#根据IP地址,反向查找域名

drill -x 8.8.8.8 @47.94.71.34   

4.4开启SSH服务

#安装openssh-server服务器

apk add openssh-server

#修改配置文件

/etc/ssh/sshd_config,

#如果要想使用root用户远程管理,需要修改参数为:

PermitRootLogin yes

#将ssh服务配置为开机自动启动

rc-update add sshd

#如果你想立刻生效,可以执行命令:

/etc/init.d/sshd restart

4.5安装nginx

#安装Nginx软件并更新到最新,

apk add --update nginx 

#手工启动Nginx

/etc/init.d/nginx 

#将Nginx添加到启动服务中,下次开机自动运行

rc-update add nginx   

#测试Nginx服务是否正常,使用curl访问,

#默认配置会返回nginx的404页面错误,标明服务已正常:

curl 192.168.3.166

【附图】

01-在Docker主机中,下载alpine镜像

02-查看镜像信息,运行alpine容器,查看容器信息

03-在Alpine容器系统中安装常用网络工具-完成部分安装

04-完成常用网络工具的安装

05-在容器中,查看Alpine容器的IP地址

06-在Docker虚拟主机中使用docker build生成Docker镜像的过程

07-生成Docker镜像的大小,只有36.5MB

08-网络相关配置文件及内容

09-重启网络服务 networking restart

10-软件仓库源的文件内容

11-apk软件包管理常用命令-updae-search-add-del

12-使用curl查看Nginx网站的页面反馈-查看TCP网络状态

13-使用drill查询blog.csdn.net网站域名信息1

13-使用drill查询blog.csdn.net网站域名信息2

14-修改ssh配置文件,运行Root用户使用ssh登录

15-使用Xshell客户端工具,ssh登录到3.166的Alpine机器上

16-更新APK软件包仓库的索引文件

17-安装Nginx

18-重启Nginx服务-将Nginx设置为开机自动启动

【注意事项】:因为Alpine采用的是musl libc,不是通常用的glibc,在使用DNS时,Alpine(musl

libc)在DNS解析文件/etc/resolv.conf中,不使用domain或

search选项。在使用DNS作为服务发现时,要查看相应的文档来解决。相关链接:http://gliderlabs.viewdocs.io/docker-alpine/caveats/

【心得体会】:

http://wiki.alpinelinux.org 网站上内容非常丰富,英文也非常简单,几乎所有的问题都能在该网站上找到答案,强烈推荐该网站。

【参考链接】:

Alpine Linux package management

http://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management

Alpine Linux,一个只有5M的Docker镜像

http://www.infoq.com/cn/news/2016/01/Alpine-Linux-5M-Docker

Alpine Linux 源使用帮助

http://mirrors.ustc.edu.cn/help/alpine.html

Alpine Linux配置使用技巧【一个只有5M的操作系统(转)】

http://www.cnblogs.com/zhangmingcheng/p/7122386.html

docker(10):virtualbox安装使用

alpinelinux 

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,585评论 4 365
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,923评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,314评论 0 248
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,346评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,718评论 3 291
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,828评论 1 223
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,020评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,758评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,486评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,722评论 2 251
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,196评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,546评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,211评论 3 240
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,132评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,916评论 0 200
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,904评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,758评论 2 274

推荐阅读更多精彩内容

  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 11,276评论 1 39
  • 背景 我最初使用 Docker 的时候,每个人都在说它用起来有多简单方便,它内部的机制是有多么好,它为我们节省了多...
    希云Docker容器管理平台阅读 1,554评论 5 8
  • Docker容器技术已经发展了好些年,在很多项目都有应用,线上运行也很稳定。整理了部分Docker的学习笔记以及新...
    __七把刀__阅读 11,339评论 0 59
  • Docker简介Docker是一个由GO语言写的程序运行的“容器”; 目前云服务的基石是操作系统级别的隔离,在同一...
    gakiww阅读 505评论 0 0
  • “做真实的自己,别人才知道怎么爱你”。 最近两天,修片看的电视剧是“深夜食堂”,主要原因是评分很低,很好奇为什么分...
    牧田麻麻阅读 229评论 0 0