Alpine Linux 使用简介

From:https://www.aliyun.com/jiaocheng/137717.html

Alpine Linux、CoreOS、RancherOS、Red Hat 原子项目、 VMware光子操作系统比较
https://blog.csdn.net/hxpjava1/article/details/78482987

Alpine Linux配置使用技巧:https://www.aliyun.com/jiaocheng/137717.html

alpinelinux 官网:https://www.alpinelinux.org

 

 

Alpine Linux使用简介

 

目录:

 

一、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   

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实例学习SSIS(五)--理论介绍SSIS

导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)--使用日志记录和错误流重定向 实例学习SSIS…

MIT教授Tomaso Poggio演讲与专访:智能背后的科学与工程 | 腾讯AI Lab学术论坛

来源:腾讯AI实验室腾讯AI Lab第二届学术论坛在深圳举行,聚焦人工智能在医疗、游戏、多媒体内容、人机交互等四大领域的跨界研究与应用。全球30位顶级AI专家出席,对多项前沿研究成果进行了深入探讨与交流。腾讯AI Lab还宣布了2018三大核心战略…

linux捕捉信号sigint失败,为shell布置陷阱:trap捕捉信号方法论

本文目录:1.1 信号说明1.2 trap布置陷阱1.3 布置完美陷阱必备知识家里有老鼠,快消灭它!哎,又给跑了。老鼠这小东西跑那么快,想直接直接消灭它还真不那么容易。于是,老鼠药、老鼠夹子或老鼠笼就派上用场了&a…

Trade Stages - The Trade Path

Gieno Trade Stages - The Trade Path STARTS OFF “greed orientated.”Loses because:1 Market problemsNot a zero sum game, a “very negative” sum gameMarket psychology – doing the wrong thing at the wrong timeThe majority is always wrongMarket exists on ch…

win10、oneplus7pro 使用 Kali

1、Windows 10 使用 Kali Linux子系统 微软为 Windows Subsystem for Linux (WSL) 带来了著名的 Kali Linux ,无虚拟机,无Docker实现Windows 和 Kali Linux 交互。 window 开启 wsl 功能: 1.打开控制面板( winR,输入…

干货|十大产业方向深度解析!《2020科技产业趋势报告》

来源:机器人大讲堂报告下载:https://pan.baidu.com/s/1BKf2rINXx0CVLhgokfYrgQ未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评…

交互式数据包处理程序 Scapy 用法

From:https://www.cnblogs.com/hongxueyong/p/5641475.html Scapy 用法官方文档:http://scapy.readthedocs.io/en/latest/#starting-scapyAbout ScapyScapy is a Python program that enables the user to send, sniff and dissect and forge network pa…

展望2021年:智能机器人可监督工业机器人干活,效率提升30%

来源:极客网会帮我们吸地板、在公共场所担任导引员或是拆除炸弹的机器人呢可能感觉比较有趣,但那些负责组装汽车以及在工厂生产在线帮忙拾取物品的机器人,在整体价值上要高得多,而且也有越来越多的工/商业或消费性应用产品是由这种…

ASP。NET的设计思想

自从有了html与http,就有了浏览器与Web服务器,并有了Web应用,最初的交互模式是这样的: 该模式很好地运行了很多年。然而,随着计算机应用的发展,人们越来越不满足于只有静态内容的页面,而由某种机…

Kali linux 渗透测试技术之搭建WordPress Turnkey Linux及检测WordPress 应用程序漏洞

From:https://bbs.ichunqiu.com/thread-15716-1-1.html 怎样用 WPScan,Nmap 和 Nikto 扫描和检查一个 WordPress 站点的安全性:https://www.cnblogs.com/chayidiansec/p/7989274.html 为了收集用于测试的应用程序, Turnkey Linux…

AI芯片格局分布

来源:中国科学院自动化研究所 作者: 吴军宁如果说2016年3月份AlphaGo与李世石的那场人机大战只在科技界和围棋界产生较大影响的话,那么2017年5月其与排名第一的世界围棋冠军柯洁的对战则将人工智能技术推向了公众视野。阿尔法狗(…

科学互驳:大脑细胞活到老,长到老?

来源:中国生物技术网 作者:格格科学家发现,人脑中与学习、记忆和情感相关的区域在成年后依然会持续产生新的神经元。这与过去的理论恰恰相反,即青春期之后大脑停止产生新的神经元。这项发现有助于我们开发治疗神经系统疾病的新方…

AI综述专栏 | 朱松纯教授浅谈人工智能:现状、任务、构架与统一

作者:朱松纯来源:人工智能前沿讲习班导读本文作者:朱松纯,加州大学洛杉矶分校UCLA统计学和计算机科学教授,视觉、认知、学习与自主机器人中心主任。文章前四节浅显探讨什么是人工智能和当前所处的历史时期,…

联想linux笔记本评测,联想(lenovo)G460AL-ITH Linux笔记本电脑接口评测-ZOL中关村在线...

模具和外观的“革新”让我们见识到不一样的联想G460,而在整机的接口扩展能力方面依旧主打实用性。机身左侧从左至右依次是安全锁孔、散热孔、RJ-45以太网接口、VGA视频输出接口、USB2.0接口、e-SATA接口(兼容USB2.0)、Express Card卡槽和HDMI高清视频输出接口。与前…

联合国召开会议讨论“杀手机器人”问题

来源:中国科学报 作者:赵熙熙来自29个国家的57位科学家日前呼吁联合抵制一所韩国大学,因为设立在该校的一个新的中心旨在利用人工智能强化国家安全。人工智能科学家表示,该大学正在开发自主武器,又称“杀手机器人”&a…

【转】近期Coolite控件的技术点总结

1。Coolite下如何自定义控件样式表Code1<style type"text/css"> 2 .x-grid3-td-fullName .x-grid3-cell-inner {}{ 3 font-family:tahoma, verdana; 4 display:block; 5 font-weight:normal; 6 font-style…

Anaconda 完全入门指南

From&#xff1a;https://www.jianshu.com/p/eaee1fadc1e9 Anaconda官网&#xff1a;https://www.anaconda.com/ Anaconda 官网 文档&#xff1a;http://docs.anaconda.com/anaconda/user-guide Anaconda介绍、安装及使用教程&#xff1a;https://zhuanlan.zhihu.com/p/32925…

linux资源使用统计指南,指南:工作量分析文档

指南&#xff1a;工作量分析文档工作量分析文档工作量分析文档用于在不同的性能测试中确定要使用的变量并定义变量值&#xff0c;利用这些性能测试可以模拟主角特征、最终用户业务功能(用例)、负载和容量。主题软件质量要从不同的维度来进行评估&#xff0c;其中包括可靠性、功…

Python爬取大量数据时防止被封IP

From&#xff1a;http://blog.51cto.com/7200087/2070320 基于scrapy框架的爬虫代理IP设置&#xff1a;https://www.jianshu.com/p/074c36a7948c Scrapy: 针对特定响应状态码&#xff0c;使用代理重新请求&#xff1a;http://www.cnblogs.com/my8100/p/scrapy_middleware_aut…

最近发包给朋友,搞定软件小活儿、解决小功能模块的感受

有时候也想&#xff0c;所有的事情都靠自己解决&#xff0c;太辛苦了太累了&#xff0c;在不差钱的这个年代&#xff0c;有些能让别人做的事情&#xff0c;就让别人做吧&#xff0c;但是一直找不到合适的人&#xff0c;什么叫合适的人&#xff1f;我简单的说几下&#xff0c;不…