Dockerfile创建httpd镜像

本文详细介绍如何使用Docker快速部署Apache服务。从安装Docker开始,到编辑Dockerfile文件,构建镜像,运行容器,直至完成访问测试,全程步骤清晰,适合初学者实践。

1、安装完docker之后启动
详细安装daocker链接
2、首先编辑dockerfile文件,基于centos7镜像

vim Dockerfile

FROM centos:7
RUN yum -y install httpd
RUN mkdir -p /var/www/html
RUN echo "123" >/var/www/html/index.html
CMD ["httpd","-DFOREGROUND"]

3、docker build 生产镜像 ./代表dockerfile在本地

docker build -t httpd:1 ./

在这里插入图片描述
在这里插入图片描述
4.基于创建的镜像生产容器

docker run --name httpd -d -p 80:80 httpd:1

5、访问测试
在这里插入图片描述

使用Dockerfile创建一个基于CentOS 7的LAMP(Linux, Apache, MySQL, PHP)镜像,可以让你快速构建一个包含这些服务的基础环境。以下是创建这样一个Dockerfile的基本步骤: 1. **基础镜像**: 首先,从官方的CentOS 7基础镜像开始,你可以使用`FROM centos:7`。 ```Dockerfile FROM centos:7 ``` 2. **安装基本软件**: 安装Apache、MySQL服务器以及PHP。 ```Dockerfile RUN yum update -y && \ yum install -y httpd mysql-server php-fpm php-mysql ``` 注意这里假设了yum是可用的包管理器,如果容器内部需要更新源或使用dnf,需相应替换。 3. **配置Apache**: 确保Apache能运行并允许外部访问。 ```Dockerfile EXPOSE 80 CMD ["httpd", "-D", "FOREGROUND"] ``` 4. **初始化MySQL**: 如果需要,可以设置MySQL的root密码,并开启安全模式。 ```Dockerfile RUN sed -i 's/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/my.cnf.d/server.cnf && \ sed -i 's/^skip-grant-tables/#skip-grant-tables/' /etc/my.cnf && \ mysql_secure_installation ``` 5. **启动MySQL服务**: 启动MySQL服务并在容器退出时自动重启。 ```Dockerfile CMD ["mysqld", "--default-storage-engine=InnoDB"] & tail -F /dev/null ``` 6. **配置PHP-FPM**: 添加PHP-FPM到开机启动,指定监听端口。 ```Dockerfile RUN usermod -aG docker www-data && \ systemctl enable php-fpm.service ``` 7. **清理缓存**: 清理安装过程产生的临时文件。 ```Dockerfile RUN yum clean all && rm -rf /var/cache/yum/* ``` 最后,将Dockerfile保存,并通过`docker build -t your-image-name .`命令构建镜像。构建完成后,你可以使用`your-image-name`作为基础镜像运行容器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值