玩Docker必备:Alpine Linux 常用命令及用法整理 – 喵斯基部落

玩Docker必备:Alpine Linux 常用命令及用法整理 – 喵斯基部落

Alpine_linux_commend.png

博主最近在玩 Docker,因为 Docker 开始对 Alpine Linux 系统产生一些兴趣,在我认为是 Docker 成就了 Alpine,下面的内容主要是关于 Alpine 常用的一些命令及用法,差不多可以满足我的日常需求了。

了解 Alpine展开目录

Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件。

Alpine 由非商业组织维护的,支持广泛场景的 Linux 发行版,它特别为资深 / 重度 Linux 用户而优化,关注安全,性能和资源效能。Alpine 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统 / 环境。

Alpine Docker 镜像也继承了 Alpine Linux 发行版的这些优势。相比于其他 Docker 镜像,它的容量非常小,仅仅只有 5 MB 左右(对比 Ubuntu 系列镜像接近 200 MB),且拥有非常友好的包管理机制。官方镜像来自 docker-alpine 项目。

目前 Docker 官方已开始推荐使用 Alpine 替代之前的 Ubuntu 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。

一:Alpine Linux 开启 SSH 远程登陆展开目录

1. 简介:展开目录

最重要的一个服务了,远程登陆需要用它,文件传输需要用它,必备功能。不管你是在实体机上跑,虚拟机上跑,docker 里面跑,这个都是必须的。

2. 配置展开目录

配置文件位置:/etc/ssh/sshd_config

配置文件选项:#PermitRootLogin prohibit-password

修改为:PermitRootLogin yes

3. 配置命令展开目录

看不懂上面的,直接用下面这句。

  • sed -i "s/#PermitRootLogin.*/PermitRootLogin yes/g" /etc/ssh/sshd_config

4. 重启服务展开目录

改了配置不会直接生效,需要重启服务器或者服务。

重启服务器:reboot

重启服务:rc-service sshd restart

二:Alpine Linux 源管理展开目录

1. 简介展开目录

源这个概念在 linux 早就存在了,其实就是类似于软件市场的存在,apple 在 iphone 上发扬光大了,并且自己管理安全的软件,使得 iphone 上软件兼容性等等问题得到改善,用户体验比较好,android 基于 linux 核心开发,也有了软件市场,最著名的就是 google 市场,因为被墙,所以国内各个大软件厂商也都有了自己的市场。

每个市场(源)都有自己的服务器,linux 默认的都是外国的服务器,我们访问比较慢,所以就有了镜像服务器放在国内,让我们访问快一些。管理源,就是增加镜像服务器。

而且,linux 因为是大众维护更新代码,所以还区分了稳定版,测试版…… 各种版本的市场,这些都需要进行源管理。

2. 国内源简介:展开目录

这几个都有 alpine 的源

清华大学:https://mirror.tuna.tsinghua.edu.cn/alpine/
阿里云:https://mirrors.aliyun.com/alpine/
中科大:http://mirrors.ustc.edu.cn/alpine/
还有一些没有 alpine 的
网易:http://mirrors.163.com/

3. 配置:展开目录

直接抄中科大的帮助 http://mirrors.ustc.edu.cn/help/alpine.html

一般情况下,将 /etc/apk/repositories 文件中 Alpine 默认的源地址 http://dl-cdn.alpinelinux.org/ 替换为 http://mirrors.ustc.edu.cn/ 即可。

可以使用如下命令:

也可以直接编辑 /etc/apk/repositories 文件。以下是 v3.5 版本的参考配置:

也可以使用 latest-stable 指向最新的稳定版本:

更改完 /etc/apk/repositories 文件后请运行 apk update 更新索引以生效。

3. 我的配置:展开目录

打开 /etc/apk/repositories后发现,中科大的sed命令无效,因为默认的源不是dl-cdn

自己改一下吧

原:

改为:

也可以复制下面这组命令,一次执行

或者

三:Alpine Linux 包管理展开目录

1. 简介展开目录

Alpine 使用 apk 进行包管理,下面介绍常用命令

2.apk update展开目录

  • apk update #更新最新镜像源列表

3.apk search展开目录

  • apk search #查找所以可用软件包

  • apk search -v #查找所以可用软件包及其描述内容

  • apk search -v 'acf*' #通过软件包名称查找软件包

  • apk search -v -d 'docker' #通过描述文件查找特定的软件包

4.apk add展开目录

  • apk add openssh #安装一个软件

  • apk add openssh openntp vim #安装多个软件

  • apk add --no-cache mysql-client #不使用本地镜像源缓存,相当于先执行update,再执行add

5.apk info展开目录

  • apk info #列出所有已安装的软件包

  • apk info -a zlib #显示完整的软件包信息

  • apk info --who-owns /sbin/lbu #显示指定文件属于的包

6.apk upgrade展开目录

  • apk upgrade #升级所有软件

  • apk upgrade openssh #升级指定软件

  • apk upgrade openssh openntp vim #升级多个软件

  • apk add --upgrade busybox #指定升级部分软件包

7.apk del展开目录

  • apk del openssh #删除一个软件

四:Alpine Linux 服务管理展开目录

1. 简介展开目录

alpine 没有使用 fedora 的 systemctl 来进行服务管理,使用的是 RC 系列命令

2.rc-update展开目录

rc-update 主要用于不同运行级增加或者删除服务。

  • alpine:~# rc-update --help

  • Usage: rc-update [options] add <service> [<runlevel>...]

  • or: rc-update [options] del <service> [<runlevel>...]

  • or: rc-update [options] [show [<runlevel>...]]

  • Options: [ asuChqVv ]

  • -a, --all Process all runlevels

  • -s, --stack Stack a runlevel instead of a service

  • -u, --update Force an update of the dependency tree

  • -h, --help Display this help output

  • -C, --nocolor Disable color output

  • -V, --version Display software version

  • -v, --verbose Run verbosely

  • -q, --quiet Run quietly (repeat to suppress errors)

3.rc-status展开目录

rc-status 主要用于运行级的状态管理。

  • alpine:~# rc-status --help

  • Usage: rc-status [options] <runlevel>...

  • or: rc-status [options] [-a | -c | -l | -m | -r | -s | -u]

  • Options: [ aclmrsuChqVv ]

  • -a, --all Show services from all run levels

  • -c, --crashed Show crashed services

  • -l, --list Show list of run levels

  • -m, --manual Show manually started services

  • -r, --runlevel Show the name of the current runlevel

  • -s, --servicelist Show service list

  • -u, --unused Show services not assigned to any runlevel

  • -h, --help Display this help output

  • -C, --nocolor Disable color output

  • -V, --version Display software version

  • -v, --verbose Run verbosely

  • -q, --quiet Run quietly (repeat to suppress errors)

4.rc-service展开目录

rc-service 主用于管理服务的状态

  • alpine:~# rc-service --help

  • Usage: rc-service [options] [-i] <service> <cmd>...

  • or: rc-service [options] -e <service>

  • or: rc-service [options] -l

  • or: rc-service [options] -r <service>

  • Options: [ ce:ilr:INChqVv ]

  • -e, --exists <arg> tests if the service exists or not

  • -c, --ifcrashed if the service is crashed then run the command

  • -i, --ifexists if the service exists then run the command

  • -I, --ifinactive if the service is inactive then run the command

  • -N, --ifnotstarted if the service is not started then run the command

  • -l, --list list all available services

  • -r, --resolve <arg> resolve the service name to an init script

  • -h, --help Display this help output

  • -C, --nocolor Disable color output

  • -V, --version Display software version

  • -v, --verbose Run verbosely

  • -q, --quiet Run quietly (repeat to suppress errors)

5.openrc展开目录

openrc 主要用于管理不同的运行级。

  • alpine:~# openrc --help

  • Usage: openrc [options] [<runlevel>]

  • Options: [ a:no:s:SChqVv ]

  • -n, --no-stop do not stop any services

  • -o, --override <arg> override the next runlevel to change into

  • when leaving single user or boot runlevels

  • -s, --service <arg> runs the service specified with the rest

  • of the arguments

  • -S, --sys output the RC system type, if any

  • -h, --help Display this help output

  • -C, --nocolor Disable color output

  • -V, --version Display software version

  • -v, --verbose Run verbosely

  • -q, --quiet Run quietly (repeat to suppress errors)

6. 我常用的 RC 系列命令展开目录

1. 增加服务到系统启动时运行,下例为 docker

  • rc-update add docker boot

2. 重启网络服务

  • rc-service networking restart

3. 列出所有服务

  • rc-status -a

五:关机重启展开目录

  • $ reboot #重启系统

  • $ poweroff #关机

相关资源展开目录

本文标题 玩 Docker 必备:Alpine Linux 常用命令及用法整理
若文章需要更新或相关链接出现 404 – 请联系 MoeWah
本站采用 “知识共享署名 – 非商业性使用 – 相同方式共享 4.0 中国大陆许可协议” 进行许可,转载请注明出处!