Docker容器学习:搭建自己专属的LAMP环境

目录

编写Dockerfile

1.文件内容需求:

2.值得注意的是centos6官方源已下线,所以需要切换centos-vault源!

3.Dockerfile内容 

4.进入到 lamp 开始构建镜像

推送镜像到私有仓库

        1.把要上传的镜像打上合适的标签

        2.登录harbor仓库

        3.上传镜像


LAMP 环境结合了 Linux、Apache、MySQL 和 PHP,提供了一个稳定、可靠、安全和高效的平台,用于创建和管理 Web 应用程序的开源开发平台。

编写Dockerfile

1.文件内容需求:

  1. 基于centos:6基础镜像。
  2. 指定作者信息。
  3. 安装httpd、mysql、mysql-server、php、php-mysql、php-gd。
  4. 暴露80和3306端口。
  5. 设置服务自启动。
  6. 验证镜像。

2.值得注意的是centos6官方源已下线,所以需要切换centos-vault源!

mkdir /dockerfile/lamp
cd /dockerfile/lamp
wget -O CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo[root@node4 lamp]# ll
total 8
-rw-r--r-- 1 root root 2533 Aug  4  2022 CentOS-Base.repo
-rw-r--r-- 1 root root  620 Aug 20 21:15 Dockerfile

3.Dockerfile内容 

[root@node4 lamp]# vim Dockerfile
# 基于centos:6基础镜像
FROM centos:6# 指定作者信息
LABEL maintainer="Zly <1647082043@qq.com>"# 将新的yum源复制到centos中
COPY CentOS-Base.repo /etc/yum.repos.d/# 安装httpd,mysql,mysql-server,php,php-mysql,php-gd
RUN yum install httpd -y && \yum install mysql mysql-server -y && \yum install php php-mysql php-gd -y && \yum clean all# 暴露80和3306端口
EXPOSE 80 3306# 验证镜像
RUN httpd -v && \mysql --version && \php -v# 创建容器时启动httpd,mysql服务
CMD ["/bin/bash","-c","service httpd start && service mysqld start && tail -f /dev/null"]

4.进入到 lamp 开始构建镜像

docker build -t lamp-zly:v1.1 ./

查看有无构建成功

[root@node4 lamp]# docker images | grep lamp
lamp-zly                        v1.1      72bd268a5833   37 minutes ago   347MB

推送镜像到私有仓库

上一篇文章提到如何搭建自己的私有仓库harbor:Docker容器学习:搭建私有镜像仓库Harbor&操作_一路喝狗狗的博客-CSDN博客

1.把要上传的镜像打上合适的标签

[root@node4 lamp]# docker tag lamp-zly:v1.1 docker:80/demo/lamp-zly:v1.1

2.登录harbor仓库

[root@node4 harbor]# docker login docker:80
Username (admin): admin
Password:
Login Succeeded

3.上传镜像

[root@node4 lamp]# docker push docker:80/demo/lamp-zly:v1.1 

完成! 

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

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

相关文章

Mysql| limit限制结果范围(limit,offset )

limit 表示数据的其实位置&#xff0c;从0开始 offset表示返回的数据数量(条数) 例如&#xff1a; select * from table limit 0,10 // 返回从第0条记录开始&#xff0c;后面的10条数据 select * from table limit 1, 10 // 返回从1条记录开始&#xff0c;后面的10条数据 如果…

鸿鹄工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统 em

工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff…

windows下Qt、MinGW、libmodbus源码方式的移植与使用

windows下Qt、MinGW、libmodbus源码方式的移植与使用 1、前言 libmodbus官网&#xff1a;https://libmodbus.org/ github下载&#xff1a;https://github.com/stephane/libmodbus 截止2023年8月26日时&#xff0c;libmodbus最新版本为3.1.10&#xff0c;本篇博客基于此版本进…

层叠上下文、层叠顺序

原文合集地址如下&#xff0c;有需要的朋友可以关注 本文地址 什么是层叠上下文 层叠上下文&#xff08;Stacking Context&#xff09;是指在 HTML 和 CSS 中&#xff0c;用于控制和管理元素层叠顺序以及呈现的一种机制。在一个网页中&#xff0c;许多元素&#xff08;例如文…

kafka复习:(11)auto.offset.reset的默认值

在ConsumerConfig这个类中定义了这个属性的默认值&#xff0c;如下图 也就是默认值为latest,它的含义是&#xff1a;如果没有客户端提交过offset的话&#xff0c;当新的客户端消费时&#xff0c;把最新的offset设置为当前消费的offset. 默认是自动提交位移的&#xff0c;每5秒…

分析系统 - 使用Python爬虫

在竞争激烈的市场环境中&#xff0c;了解和分析竞争对手的销售策略和市场表现对于企业的成功至关重要。本文将介绍如何利用Python爬虫建立低成本的销售竞争对手分析系统&#xff0c;探索其方法、工具和好处&#xff0c;并同时解决可能出现的问题。 销售竞争对手分析的目标是获取…

前端js对字符串进行base64编码,后台Java进行解码

1. js编码&#xff08;第一种方式&#xff0c;字符串中即使有中文&#xff0c;在Java后台也能正常解码&#xff09; encode64(value) {let typeValue typeof value;if (typeValue string || typeValue number) {return window.btoa(window.encodeURIComponent(value).repla…

delphi android发送与接收广播

在Delphi中&#xff0c;可以使用TLocalBroadcastManager类来发送和接收广播。以下是一个示例&#xff1a; 发送广播&#xff1a; delphi uses Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers, Androidapi.JNI.JavaTypes, Androidapi.JNI.LocalBroadcastManage…

STM32--MPU6050与I2C外设

文章目录 前言MPU6050参数电路MPU6050框图 IIC外设框图 IIC的基本结构软件IIC实现MPU6050硬件IIC实现MPU6050 前言 在51单片机专栏中&#xff0c;用过I2C通信来进行实现AT24C02的数据存储&#xff1b; 里面介绍的是利用程序的编程来实现I2C的时序&#xff0c;进而实现AT24C02与…

咸虾米之一些快捷方式的操作,一行方块的左右滑动,方块在一区域内的任意移动

由于本着只学习微信小程序的目的&#xff0c;上面的几篇博文都是跟着黑马程序的课程走的&#xff01;后面的就讲解uni-app的实验呢&#xff01;一个人的精力是有限的&#xff0c;于是换了们课程继续深造微信小程序&#xff01;&#xff01;&#xff01; 以下是在 .wxml中的一些…

4399笔试印象

C语言游戏开发工程师笔试已通过 16道选择 平衡二叉树 计算机网络tcp 哈希的一种存储 计算机神经网络的sigmod函数 等 三道编程 第一道忘记了&#xff0c; 第二道贪心方法 题目轮廓&#xff1a;有5,10,15面额的纸笔用最少的张数来花费够多少 第三道cpu调度&#xff0c;task1…

论文阅读及复现——《CT_ICP: Real-time Elastic LiDAR Odometry with Loop Closure》

论文阅读之——《CT_ICP: Real-time Elastic LiDAR Odometry with Loop Closure》带闭环的实时弹性激光雷达里程计 1. 主要贡献2. 相关说明3. 激光里程计3.1 里程计公式构建3.2 局部地图与健壮性 4. 回环检测与后端5. 实验结果5.1 里程计实验结果5.2 回环检测实验结果 6. 总结…

go: 高性能json工具 easyjson 简介

先安装easyjson go get -u github.com/mailru/easyjson/在结构体上加//easyjson:json的注解 //easyjson:json type School struct {Name string json:"name"Addr string json:"addr" }//easyjson:json type Student struct {Id int json:&…

【黑马头条之热点文章kafkaStream】

本笔记内容为黑马头条项目的热点文章-实时计算部分 目录 一、实时流式计算 1、概念 2、应用场景 3、技术方案选型 二、Kafka Stream 1、概述 2、Kafka Streams的关键概念 3、KStream 4、Kafka Stream入门案例编写 5、SpringBoot集成Kafka Stream 三、app端热点文章…

Python 中星号(*)的用法

星号​​*​​ 往往被称为乘法运算符&#xff0c;是所有程序中最为常用的运算符号之一,在Python 中&#xff0c;星号还有很多隐藏的强大功能。 本文将用最容易理解的例子来解释星号*的 五个使用场景&#xff0c;从初级用法到高阶用法。 乘法和幂运算符 最简单的用法是利用星号…

计算机竞赛 基于大数据的股票量化分析与股价预测系统

文章目录 0 前言1 课题背景2 实现效果3 设计原理QTChartsarma模型预测K-means聚类算法算法实现关键问题说明 4 部分核心代码5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于大数据的股票量化分析与股价预测系统 该项目较为新颖…

GMP原理与调度

GMP原理和调度 1.Golang"调度器"的由来1.1单进程时代不需要调度器1.2多进程/线程时代有了调度器需求1.3协程来提高cpu利用率 1.Golang"调度器"的由来 1.1单进程时代不需要调度器 早期的操作系统每个程序就是一个进程&#xff0c;直到一个程序运行完毕&am…

pandas由入门到精通-数据透视表

采集的数据存储后通常会分为多个文件或数据库,如何将这些文件按需拼接,或按键进行连接十分重要。这节将介绍数据索引的复杂操作如分层索引,stack,unstack,seet_index,reset_index等帮助重构数据,数据的拼接如merge,join,concat,combine_first等帮助连接数据,以及数据透视表…

1.7 【MySQL】常用存储引擎

MySQL 支持非常多种存储引擎&#xff0c;我这先列举一些&#xff1a; 存储引擎 描述 ARCHIVE 用于数据存档&#xff08;行被插入后不能再修改&#xff09; BLACKHOLE 丢弃写操作&#xff0c;读操作会返回空内容 CSV 在存储数据时&#xff0c;以逗号分隔各个数据项 FEDE…

微信小程序发布迭代版本后如何提示用户强制更新新版本

在点击小程序发布的时候选择&#xff0c;升级选项 之前用户使用过的再打开小程序页面就会弹出升级弹窗modal