Dockerfile制作LAMP环境镜像

news2024/10/5 18:32:25

文章目录

    • 使用Dockerfile制作LAMP环境镜像
      • 编写Dockerfile
        • 不修改默认页面
        • 修改默认页面
      • Start Script
      • 目录结构及文件
      • 登录私有仓库
      • 给镜像打标签
      • 上传镜像
      • 页面检查
      • 检测镜像可用性

使用Dockerfile制作LAMP环境镜像

编写Dockerfile

不修改默认页面

FROM centos:7
MAINTAINER "FOX"
COPY mysql.repo /etc/yum.repos.d/
COPY epel.repo /etc.yum.repos.d/
RUN yum clean all && yum makecache && yum install -y mysql-server php php-gd php-mysql httpd && \
	sed -i "s/#ServerName www.example.com:80/ServerName www.example.com:80/" /etc/httpd/conf/httpd.conf
EXPOSE 80/tcp 3306/tcp
COPY start.sh /opt/
RUN chmod +x /opt/start.sh
CMD ["/opt/start.sh"]

修改默认页面

该Dockerfile在宿主机安装有GUI时通过浏览器可看出效果。

FROM centos:7
MAINTAINER "FOX"
COPY mysql.repo /etc/yum.repos.d/
COPY epel.repo /etc.yum.repos.d/
RUN yum clean all && yum makecache && yum install -y mysql-server php php-gd php-mysql httpd && \
	sed -i "s/#ServerName www.example.com:80/ServerName www.example.com:80/" /etc/httpd/conf/httpd.conf   && \
	echo "<?php phpinfo(); ?>" > /var/www/html/index.php
EXPOSE 80/tcp 3306/tcp
COPY start.sh /opt/
RUN chmod +x /opt/start.sh
CMD ["/opt/start.sh"]

Start Script

#!/bin/bash
/usr/sbin/httpd &
/usr/sbin/mysqld --user=mysql &
tail -f /dev/null

目录结构及文件

├── lamp
│   ├── Dockerfile
│   ├── epel.repo
│   ├── mysql.repo
│   └── start.sh

登录私有仓库

[root@docker lamp]# docker login www.kvm.cn
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

给镜像打标签

[root@docker lamp]# docker tag lamp:v1.1 www.kvm.cn/library/lamp:v1.1  

上传镜像

[root@docker lamp]# docker push www.kvm.cn/library/lamp:v1.1 
The push refers to repository [www.kvm.cn/library/lamp]
cc32351b5cc2: Pushed 
516365b20893: Pushed 
d0be8416d3fd: Pushed 
acedef93300c: Pushed 
174f56854903: Mounted from library/centos7 
v1.1: digest: sha256:74d3d51a999ec3234febc5788018a8f46b58b02461f5e82b8e89268f3bb7b570 size: 1363

页面检查

image-20230821195058028

检测镜像可用性

[root@docker lamp]# docker run -d -it --name lamp --privileged=true lamp:v1.1 /usr/sbin/init
[root@docker lamp]# docker ps
CONTAINER ID   IMAGE       COMMAND           CREATED         STATUS         PORTS              NAMES
d9dddfda70ce   lamp:v1.1   "/opt/start.sh"   6 minutes ago   Up 6 minutes   80/tcp, 3306/tcp   lamp
[root@docker lamp]# curl 172.17.0.2
Web test
[root@docker lamp]# docker exec  -it lamp /bin/bash
[root@4c13402c5313 /]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: activating (start) since Tue 2023-08-22 17:36:44 UTC; 31s ago

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

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

相关文章

怎么把cad文件转成图片?

怎么把cad文件转成图片&#xff1f;我知道有些朋友经常需要制作各种 CAD 图纸。通常情况下&#xff0c;这些图纸以 DWG 格式保存&#xff0c;只能使用专业的 CAD 软件来打开。但是&#xff0c;如果你想与他人共享这些 CAD 图纸&#xff0c;并且对方的计算机上没有安装 CAD 软件…

实验五 Linux 内核的安装与加载

【实验目的】 掌握 uboot 的使用方法&#xff0c;能够使用 uboot 安装和加载内核 【实验环境】 ubuntu 14.04 发行版FS4412 实验平台 【注意事项】 实验步骤中以“$”开头的命令表示在 ubuntu 环境下执行&#xff0c;以“#”开头的命令表 示在开发板下执行 【实验步骤】 …

cve-2023-3079漏洞与patch分析

POC function set(arr, key, val) {arr[key] val; } function leak_hole() {for(let i 0; i < 10; i) {set(arguments, "foo", 1);}set(new Array(), 0, 1);set(arguments, 0, 1);return arguments[1]; } %DebugPrint(leak_hole());分析 通过对此漏洞的patch分…

ASEMI新能源专用整流桥GBU816参数,GBU816封装

编辑-Z GBU816参数描述&#xff1a; 型号&#xff1a;GBU816 最大峰值反向电压(VRRM)&#xff1a;1600V 平均整流正向电流(IF)&#xff1a;8A 正向浪涌电流(IFSM)&#xff1a;200A 工作接点温度和储存温度(TJ, Tstg)&#xff1a;-55 to 150℃ 最大热阻(RθJC)&#xff1…

融云深度参与「新加坡 GTLC 大会」,连接亚太机遇、开拓国际市场

8 月 18 日&#xff0c;由 TGO 鲲鹏会主办的新加坡 GTLC&#xff08;Global Tech Leadership Conference&#xff0c;全球技术领导力大会&#xff09;圆满收官&#xff0c;融云作为共创伙伴深度参与了大会。关注【融云全球互联网通信云】了解更多 本次大会以“Connecting Asia…

RunnerGo性能测试时如何从数据库获取数据

我们在做性能测试或者场景测试时往往需要从数据库中获取一些真实的系统数据让我们配置的场景更加贴合实际。而RunnerGo也是在最近的大版本更新中推出连接数据库功能&#xff0c;本篇文章也给大家讲解一下具体的操作方法和实际应用场景。 配置数据库 首先进入RunnerGo页面&…

Java实现excel表数据的批量存储(结合easyexcel插件)

场景&#xff1a;加哥最近在做项目时&#xff0c;苦于系统自身并未提供数据批量导入的功能还不能自行添加上该功能&#xff0c;且自身不想手动一条一条将数据录入系统。随后&#xff0c;自己使用JDBC连接数据库、使用EasyExcel插件读取表格并将数据按照业务逻辑批量插入数据库完…

芯片行业入行小知识,快速学习!

进入芯片行业是一个充满挑战但又充满机会的领域。无论是作为工程师、设计师、销售人员还是管理者&#xff0c;以下是一些有关芯片行业入行的小知识。 1、什么是IC 集成电路的英文简称叫IC&#xff0c;IC即integrated circuit。如果有人和你说他做的是IT行业&#xff0c;那么你…

数字孪生能为教育事业带来什么新变化?

随着科技的飞速发展&#xff0c;数字孪生作为一种创新性技术&#xff0c;正在逐渐在各个领域展现出巨大的潜力。其中&#xff0c;教育领域也开始积极探索数字孪生的应用&#xff0c;为学习和教育带来了新的可能性和改变。在教育中&#xff0c;数字孪生可以用于创造具有真实性的…

Me-and-My-Girlfriend靶场

靶机下载&#xff1a; https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 一、信息收集 查找ip nmap -sP 192.168.16.0/24获取详细端口等信息 nmap -sV -sC -A -p 1-65535 192.168.16.209目录扫描 gobuster dir -u http://192.168.16.209 -w /usr/share/word…

无脑入门pytorch系列(五)—— nn.Dropout

本系列教程适用于没有任何pytorch的同学&#xff08;简单的python语法还是要的&#xff09;&#xff0c;从代码的表层出发挖掘代码的深层含义&#xff0c;理解具体的意思和内涵。pytorch的很多函数看着非常简单&#xff0c;但是其中包含了很多内容&#xff0c;不了解其中的意思…

Seaborn数据可视化(三)

1.绘制直方图 使用displot()绘制直方图。 import seaborn as sns import numpy as np import matplotlib.pyplot as plt# 生成随机数据 np.random.seed(0) data np.random.randn(1000)# 使用displot绘制直方图 sns.displot(data, bins10, kdeTrue)# 展示图形 plt.show() 结…

山西电力市场日前价格预测【2023-08-23】

日前价格预测 预测明日&#xff08;2023-08-23&#xff09;山西电力市场全天平均日前电价为327.31元/MWh。其中&#xff0c;最高日前电价为363.47元/MWh&#xff0c;预计出现在19: 45。最低日前电价为283.86元/MWh&#xff0c;预计出现在03: 30。 价差方向预测 1&#xff1a; 实…

mysql Left Join on条件 where条件的用法区别

数据准备 SELECT t1.id,t1.name,t2.local FROM t1 LEFT JOIN t2 ON t1.idt2.id; 执行结果 SELECT t1.id,t1.name,t2.local FROM t1 LEFT JOIN t2 ON t1.idt2.id and t2.localbeijing; SELECT t1.id,t1.name,t2.local FROM t1 LEFT JOIN t2 ON t1.idt2.id where t2.localbeijing…

微服务之光:探索代码质量的新维度

在当今的软件开发领域&#xff0c;微服务架构已经成为了一种主流的设计模式。但随着其带来的灵活性和可扩展性&#xff0c;也带来了一系列的挑战&#xff0c;尤其是在代码质量管理方面。本文将深入探讨如何在微服务架构中确保代码的质量&#xff0c;并提供一些实践策略和工具。…

Docker容器与虚拟化技术:Docker consul 实现服务注册与发现

目录 一、理论 1.Docker consul 二、实验 1.consul部署 2. consul-template部署 三、总结 一、理论 1.Docker consul &#xff08;1&#xff09;服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的&#xff0c;不保障高可用性&…

系统架构设计师之缓存技术:Redis与Memcache能力比较

系统架构设计师之缓存技术&#xff1a;Redis与Memcache能力比较

中国算力大会丨看看中兴新支点国产系统如何提升算力

近日&#xff0c;由工业和信息化部、宁夏回族自治区人民政府共同主办的2023中国算力&#xff08;基础设施&#xff09;大会在宁夏银川拉开帷幕&#xff0c;为期三天的“算力中国”创新成果展精彩亮相。中兴新支点国产操作系统的亮相&#xff0c;引起现场众多嘉宾前来了解。 “中…

Android类加载机制

要说Android的类加载机制 &#xff0c;就离不开 类加载器ClassLoader&#xff0c;它是一个抽象接口 下面这个图还是比较好表达了类加载流程&#xff0c;但如果不看我红色画的线&#xff0c;就会感觉有点乱&#xff0c;需要注意是采用的是双亲委派模式&#xff0c;class加载要先…

​Softing dataFEED OPC Suite——助力数字孪生技术发展

一 行业概览 数字孪生技术是充分利用物理模型、传感器更新、运行历史等数据&#xff0c;集成多学科、多物理量、多尺度、多概率的仿真过程&#xff0c;在虚拟空间中完成映射&#xff0c;从而反映相对应的实体装备的全生命周期过程。数字孪生技术已经应用在众多领域&#xff1a…