docker 构建自己的镜像

news/2024/10/18 13:25:33

docker镜像仓库的镜像,很多时候不能满足我们的使用。比如,需要一个安装了redis、swoole、mongodb、pdo扩展的php7.4版本的扩展,从哪里获取呢?这时候,就能用到今天这篇文档了。

docker 可以通过Dockerfile文件,来构建自己的专属镜像。那么,究竟怎么操作呢?

# 基础镜像选择swoole官方的版本,当然也可以选择php:7.4-cli 它是PHP的命令行版本
FROM phpswoole/swoole:5.1.2-php8.1# 更新软件包列表并安装编译依赖
RUN apt-get update && apt-get install -y \git \make \gcc \g++ \curl \libssl-dev \libxml2-dev \zip \unzip# 安装php扩展
RUN docker-php-ext-install intl
RUN docker-php-ext-configure intl# 安装Redis扩展
RUN pecl install redis && docker-php-ext-enable redis# 安装MongoDB扩展
#RUN pecl install mongodb && docker-php-ext-enable mongodb# 安装fileinfo扩展
RUN docker-php-ext-install fileinfo
RUN docker-php-ext-install opcache# 安装mysqli扩展
RUN docker-php-ext-install mysqli# 安装PDO扩展
RUN docker-php-ext-install pdo pdo_mysql# 清理缓存文件
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*# 设置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

如果需要什么扩展,自己去RUN docker-php-ext-install ***加即可。这里提一句,若FROM 选择了,php:7.4-cli,这个是官方的源,那么安装swoole就得使用pecl install swoole-版本号去处理了。还需要去启用扩展,删除禁用函数等等操作,还是比较啰嗦的。

这里推荐使用swoole的官方源,已经集成好了swoole的php对应版本源,这样就直接安装其他扩展即可!!!

https://github.com/swoole/docker-swoole?tab=readme-ov-file  自己选择合适的版本去使用,非常方便。

最后执行,docker build -t 镜像名称 . (小点别丢掉了~)就可以了。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

墨刀原型设计工具分析

一、墨刀工具简介 墨刀是一款在线原型设计与协同工具,它允许产品经理、设计师、开发、销售、运营及创业者等用户群体构建产品原型,演示项目效果,并进行团队协作。墨刀的设计理念是为用户提供一个简单易用的工具,以便快速上手并开始原型设计。二、墨刀的主要特点 1易于上手:…

5.9-15护网常考漏洞

1、中间件漏洞态势感知(SA):situation awareness 2、常见软件服务漏洞 shiro550和721漏洞区别; java框架,4a认证,认证授权会话加密。 登录后有个remember me选项,记住会话,验证时先看remember me 选项是否勾选 ;若勾选,将用户身份序列化,再AES加密,之后base64编码…

矩阵位移法大作业监工日记

5/15 新建文件夹,先做好前期结构数据化的手写性梳理,写一点变量的定义,感觉有很多重复的信息,但是懒得精简了。 编写输入文件in.txt,和直接用const差不多,感觉不如直接程序内打表,因为后面结构数据化的时候还是直接存的信息,泛用化水平进一步降低。1 /* 矩阵位移法大作…

原创-CommonsCollections1-DefaultMap链

今天我打算整点儿不一样的内容,通过之前学习的TransformerMap和LazyMap链,想搞点不一样的,所以我关注了另外一条链DefaultedMap链,主要调用链为: 调用链详细描述:ObjectInputStream.readObject()DefaultedMap.readObject()DefaultedMap.get()ChainedTransformer.transfor…

Idefics2 简介: 为社区而生的强大 8B 视觉语言模型

我们很高兴在此发布 Idefics2,这是一个通用的多模态模型,接受任意文本序列和图像序列作为输入,并据此生成文本。它可用于回答图像相关的问题、描述视觉内容、基于多幅图像创作故事、从文档中提取信息以及执行基本的算术运算。 Idefics2 由 Idefics1 改进而得,其参数量为 8B…

文件处理命令

目录1.sort命令--对行内容进行升序排序2.uniq命令--对连续的重复行进行去重3.tr命令--对输入的内容进行替换(1)删除空行(2) Windows的另起一行格式(\r\n)转换成Linux的另起一行格式(\n)(3)对数组排序4.cut命令--对行内容进行字段截取5.split命令--linux下将一个大的文件拆…

Django3.2使用xadmin2遇到的问题

使用xadmin2遇到的问题&解决 环境配置: 使用的模块版本:关联的包 Django 3.2.15 mysqlclient 2.2.4 xadmin 2.0.1 django-crispy-forms >= 1.6.0 django-import-export >= 0.5.1 django-reversion >= 2.0.0 django-formto…

NSSCTF round#22逆向

NSSCTF round#22逆向1.wp要及时写不然忘光光 2.赛题分文件夹放ezcrypt 下载下来是python打包的exe,解包出pyc用pycdc反编译看一下嗯不认识BEFORE_WITH命令。丢到gpt4o里看看还蛮准确的,和作者提供的源码一样。不过对填充的处理不对,原程序是填充\x00。不过比自己硬看好太多了…