首页 > 其他分享 >创建镜像(alpine版)+alpine

创建镜像(alpine版)+alpine

时间:2022-09-01 00:55:31浏览次数:41  
标签:httpd -- 创建 apk && 镜像 root apr alpine

目录

podman用脚本和dockerfile做apache编译安装镜像


[root@localhost ~]# mkdir httpd 
[root@localhost ~]# cd httpd/ 
[root@localhost httpd]# touch Dockerfile 
[root@localhost httpd]# mkdir files 
[root@localhost httpd]# ls Dockerfile files

[root@localhost httpd]# cd files/ 
[root@localhost files]# wget https://downloads.apache.org/apr/apr-1.7.0.tar.gz https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz https://downloads.apache.org/httpd/httpd-2.4.54.tar.gz 
[root@localhost files]# ls 
apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.54.tar.gz  
[root@localhost files]# vim entrypoint.sh
#!/bin/bash 
sed -i '/^#ServerName/s/#//g' /usr/local/apache/conf/httpd.conf 
exec "$@" 
[root@localhost files]# chmod +x entrypoint.sh

[root@localhost files]# cd .. 
[root@localhost httpd]# ls Dockerfile files 
[root@localhost httpd]# vim Dockerfile
FROM alpine

LABEL MANTAINER "[email protected]"

ENV apr_version=1.7.0 apr_util_version=1.6.1 httpd_version=2.4.54

ADD files/* /tmp/

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
    apk update && \
    adduser -SHs /sbin/nologin apache && \
    apk add --no-cache -U gcc libc-dev make expat-dev pcre-dev openssl-dev libtool && \
    cd /tmp/apr-${apr_version} && \
    sed -i '/$RM "$cfgfile"/d' configure && \
    ./configure --prefix=/usr/local/apr && \
    make && make install && \
    cd /tmp/apr-util-${apr_util_version} && \
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && \
    make && make install && \
    cd /tmp/httpd-${httpd_version} && \
    ./configure --prefix=/usr/local/apache \
    --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 && \
    mv /tmp/entrypoint.sh / && \
    apk del gcc make && \
    rm -rf /tmp/* /var/cache/*

EXPOSE 80
WORKDIR /usr/local/apache
CMD ["/usr/local/apache/bin/httpd","-D","FOREGROUND"]
ENTRYPOINT ["/bin/sh","/entrypoint.sh"]
[root@localhost ~]# podman build -t marui123/httpd:v7.77 httpd/

[root@localhost ~]# podman push marui123/httpd:v7.77
Getting image source signatures
Copying blob 06a1df7414d4 done  
Copying blob 91f416cdf481 done  
Copying blob 994393dc58e7 skipped: already exists  
Copying config 4fedf5ad83 done  
Writing manifest to image destination
Storing signatures

1.0安装介质

计算机硬件,特别是CPU,有几种不同的架构。一种非常常见的消费类架构被称为x86_64 - 传统的英特尔x86架构,带有AMD的64位扩展。如果您要将Alpine安装到传统计算机上,这很可能是您所拥有的。但是,Alpine 支持其他几种体系结构用于磁盘安装目的:
x86_64最常见的台式机、笔记本电脑和服务器架构x86x86_64的旧变体,越来越罕见,并且仅限于4gb的RAMppc64le基于OpenPower的系统,如IBM的POWER8s390xIBM Z(大型机)
在某些情况下,您还可以使用armhf和aarch64架构 - 分别与ARM芯片相关,分别为32位和64位,后者可能支持UEFI。

映像类型Alpine提供各种可下载的图像。
与本手册相关的图像种类如下:
标准最小安装映像。需要联网。扩展标准,但包括其他套餐。可用的体系结构较少,但可能更方便。通常用于非磁盘安装。网靴网络引导映像,旨在与 PXE 一起使用。使用 PXE 不在本手册的讨论范围之内,但可以用它来代替标准映像。虚拟标准映像,但使用不同的内核,针对虚拟环境进行了优化。氙专用映像,旨在用于 xen dom0 安装。
如果不确定要使用哪个映像,则应使用扩展映像,前提是你的体系结构受支持并且启动设备足够大。否则,应使用标准映像。

2.0 特点

alpine系统的特点

  • 小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;
  • 安全:面向安全的轻量发行版;
  • 简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。
  • 适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。

2.0 基础命令

命令 意义
apk update 更新最新镜像源列表
apk search -v 查找所以可用软件包及其描述内容
apk search -v ‘acf* 通过软件包名称查找软件包
apk search -v -d ‘docke’ 通过描述文件查找特定的软件包
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 删除一个软件

3.0 模式

快速模式

  • 设置键盘布局
  • 将您的主机名初始化为默认的“alpine”值
  • 将主(自动检测)接口设置为使用 DHCP,然后开始联网
  • 启用各种相关系统服务,并启动它们
  • 生成有效文件/etc/hosts
  • 启用默认存储库

步骤:

  • 设置 root密码
  • 设置时区
  • 设置可选代理
  • 启用 SSH
  • 启用 NTP 同步
  • 配置磁盘(如果有)
  • 配置 lbu
  • 配置apk的缓存机制

较慢模式

  • 您有一个(当前)物理磁盘,并且想要安装到该磁盘
  • 您的主网络连接是有线的,并且与 DHCP 兼容
  • 您并不关心您使用的引导加载程序或文件系统

标签:httpd,--,创建,apk,&&,镜像,root,apr,alpine
From: https://www.cnblogs.com/marymary/p/16645102.html

相关文章

  • CSS — 如何使用关键帧创建简单的动画
    CSS—如何使用关键帧创建简单的动画我决定对我从事的一些项目的关键帧做一个简单的教程。我不会使用JS对于本教程。第1步—设置HTML首先添加一些简单的样板H......
  • js创建二维数组
    js创建二维数组的方法:方法一:直接设置letarr=[];arr[0]=[1,2,3,4,5,6];arr[1]=[10,20,30,40,50,60]方法二: fill+一个for循环letarr=newArray(1......
  • alpine
    目录AlpineLinux介绍Alpine的优点Alpine常用命令AlpineLinux介绍alpine是一个轻量级的Linux发行版本,轻量级不仅体现在其占用空间的大小,还因为他没有图形化界面,只有命......
  • alpine
    目录Alpine介绍alpine特点alpine命令alpine服务管理alpine的使用Alpine介绍alpine是一个轻量级的Linux发行版本,轻量级不仅体现在其占用空间的大小,还因为他没有图形化界......
  • 关于docker-环境部署及拉取镜像创建容器的过程记录
    背景:因安全部门要求对特定几台应用主机的进行漏洞及脆弱性扫描,使用的工具需要基于docker环境,即他们提供镜像,让我们创建成容器,于是将整个环境安装及创建docker容器的过程记......
  • 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发行版本,轻量级不仅......
  • node.js安装以及淘宝镜像安装
    1.node.js安装地址 https://nodejs.org/  2.安装步骤 傻瓜式安装,直接全部next,然后直接结束 3.检查path环境是否配置node.js环境(cmd命令)直接输入path4.检查no......
  • podman用脚本和dockerfile做apache编译安装镜像(alpine版)
    podman用脚本和dockerfile做apache编译安装镜像(alpine版)alpine系统是什么AlpineLinux是一个基于musllibc和busybox的面向安全的轻量级Linux发行版。alpine系统......
  • 《穿越时空的git》之创建版本库和常用命令操作
    ⬇️点击“下方链接”,提升测试核心竞争力!>>更多技术文章分享和免费资料领取Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git......