首页 > 其他分享 >alpine

alpine

时间:2022-08-31 23:26:41浏览次数:61  
标签:-- apk && node1 apr alpine

目录


Alpine介绍

alpine是一个轻量级的Linux发行版本,轻量级不仅体现在其占用空间的大小,还因为他没有图形化界面,只有命令行界面。

alpine官网链接:https://www.alpinelinux.org/

alpine特点

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

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

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

4、适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。以Alpine为基础镜像,创建一个容器,镜像大小只有35.26MB,同样的方式使用centos系统作为基础镜像,镜像大小有127MB;所以以Apline作为基础镜像是个非常明智的选择

alpine命令

命令 作用
apk update 更新最新镜像源列表
apk search 查找所以可用软件包
apk search -v 查找所以可用软件包及其描述内容
apk search -v ‘acf*’ 通过软件包名称查找软件包
apk search -v -d ‘docker’ 通过描述文件查找特定的软件包
apk add openssh 安装一个软件
apk add openssh openntp vim 安装多个软件
apk add --no-cache mysql-client 不使用本地镜像源缓存,相当于先执行update,再执行add
apk info 列出所有已安装的软件包
apk info -a zlib 显示完整的软件包信息
apk info --who-owns /sbin/lbu 显示指定文件属于的包
apk upgrade 升级所有软件
apk upgrade openssh 升级指定软件
apk upgrade openssh openntp vim 升级多个软件
apk add --upgrade busybox 指定升级部分软件包
apk del openssh 删除一个软件

alpine服务管理

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

rc-update 主要用于不同运行级增加或者删除服务
rc-status 主要用于运行级的状态管理
rc-service 主用于管理服务的状态
rc-status -a 列出系统所有服务

alpine的使用

拉取alpine镜像

[root@node1 ~]# podman pull alpine

使用alpine镜像跑一个容器

[root@node1 ~]# podman  run -it --rm 9c6f07244728

修改alpine的源

/etc/apk # sed -i s/dl-cdn.alpinelinux.org/alpine/mirrors.aliyun.com/g

安装软件

/etc/apk # apk add gcc

卸载软件

/etc/apk # apk dev gcc

用alpine镜像构建一个apache

[root@node1 ~]# mkdir apacache
[root@node1 ~]# ls
anaconda-ks.cfg  apacache  httpd  muchen  nginx
[root@node1 ~]# cp -r httpd/files/ apacache/
[root@node1 ~]# 
[root@node1 ~]# cd apacache/
[root@node1 apacache]# 
[root@node1 apacache]# ls
files
[root@node1 apacache]# ls files/
apr-1.7.0.tar.gz       httpd-2.4.53.tar.gz
apr-util-1.6.1.tar.gz  install.sh
FROM alpine
  
LABEL MAINERTAINER "ly [email protected]"
ENV httpd_version 2.4.54
ADD files/* /tmp/apache

RUN adduser -SHs /sbin/nologin apache && \
    cd /etc/apk/ && sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
    apk add --no-cache -U libtool openssl-dev pcre-dev expat-dev libtool make gcc libc-dev  && \
    cd /tmp/apache/apr-1.7.0 && ./configure --prefix=/usr/local/apr && \
    make && make install && \
    cd /tmp/apache/apr-util-1.6.1/ && ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install && \
    cd /tmp/apache/httpd-${httpd_version} && ./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork && make && make install && \
    echo 'export PATH=/usr/local/httpd/bin:$PATH' > /etc/profile.d/httpd.sh && \
    source /etc/profile.d/httpd.sh && \
    cd /tmp/apache && rm -rf *.tar.gz && \
    apk del  gcc make 
             
WORKDIR /tmp/apache
EXPOSE 80
CMD ["apachectl","-D","FOREGOUND"]
ENTRYPOINT ["/bin/bash","/entrypoint.sh"]

标签:--,apk,&&,node1,apr,alpine
From: https://www.cnblogs.com/TQingS/p/16644890.html

相关文章

  • Alpine介绍与使用
    Dockerfile使用alpine创建apache镜像目录Dockerfile使用alpine创建apache镜像AlpineAlpine简介alpine特点:alpine命令alpine服务管理alpine制作httpd镜像拉取alpine镜像,创......
  • Alpine系统
    Alpine目录Alpine1.Alpine是什么2.Alpine的有点3.安装Alpine4.Alpine常用命令软件管理服务管理修改IP地址1.Alpine是什么alpine是一个轻量级的Linux发行版本,轻量级不仅......
  • podman用脚本和dockerfile做apache编译安装镜像(alpine版)
    podman用脚本和dockerfile做apache编译安装镜像(alpine版)alpine系统是什么AlpineLinux是一个基于musllibc和busybox的面向安全的轻量级Linux发行版。alpine系统......
  • 容器化 | 使用 Alpine 构建 Redis 镜像
    上一期我们介绍了几种常见的构建镜像方式,并给出了功能对比、决策树等作为选型参考。本期我们将演示如何使用Alpine构建一个Redis镜像。Alpine系统使用apk包管理工......