从Docker Hub上Pull最新的CentOS 7镜像并新建容器

# sudo docker pull centos
docker run -p 8082:80 --name centos_c -itd centos:latest

进入container  (镜像):

# docker exec -it centos_c  bash

修改镜像,安装所需软件

  • 安装ifconfig命令(原先没有)

ifconfig命令是在net-tools软件包中,安装net-tools即可,net-tools包括ifconfig,netstat等命令

# yum install net-tools
  • 安装wget命令(原先没有)
yum install wget
  • 更新yum源,使用阿里云的yum源(也可以选其他的),先备份原来的,再下载新的
# cd /etc/yum.repos.d/
# mv CentOS-Base.repo CentOS-Base.repo_backup
# wget http://mirrors.aliyun.com/repo/Centos-7.repo
# mv Centos-7.repo CentOS-Base.repo
# yum makecache

安装使用Apache作为应用代理服务器

  • 安装Apache
# yum install httpd
  • 设置Apache服务开机自启动(可选,不过设置自启动方便)
# /sbin/chkconfig httpd on
  • 启动Apache服务

在CentOS 7中无法直接使用/sbin/service这样的方式来启动服务,会报Failed to get D-Bus connection: No connection to service manager - CentOS 7错误
但是可以把httpd文件拷贝到/etc/init.d/目录下,直接使用/etc/init.d/httpd -k start来启动Apache服务,不拷贝到此目录下也可以,原理一样的,找到可执行文件即可

# cp /usr/sbin/httpd /etc/init.d/
# /etc/init.d/httpd -k start

执行上述命令时会报警告
httpd: Could not reliably determine the server's fully qualified domain name

消除这个警告需要更改Apache的设置文件httpd.conf,取消注释ServerName即可,并把www.example.com换成自己的IP地址或是localhost

同时: 按照这篇文档http://drupal.org/node/15365说明,把apache conf里面的AllowOverride None改为AllowOverride All.

# vi /etc/httpd/conf/httpd.cof

执行yum install httpd-devel,进行安装,如果不安装的话,后期不会生成.so的扩展文件(如:modules/libphp7.so)。

yum install httpd-devel

执行yum list |grep php7 , 查看是否有php7的源,如果没有则需要进行更新yum源:

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm   ##CentOs 7.X

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

如果想删除上面安装的包,重新安装

rpm -qa | grep webstatic

rpm -e  上面搜索到的包即可

安装PHP:

yum install mod_php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-mcrypt.x86_64 php72w-mysql.x86_64 php72w-pdo.x86_64  
yum install php72w-xml.x86_64  php72w-opcache.x86_64  

保持/var/www/目录的用户与apache 的一致:

root# chown apache:apache -R /var/www/html 

使用Docker搭建CentOS 7 + Apache 2.4+ PHP7的更多相关文章

  1. 使用docker搭建centos虚拟机

    网上有很多安装linux的,这里不记录; windows安装docker 转自:https://www.cnblogs.com/samwu/p/10360943.html(windows是家庭版的) ...

  2. Docker容器Centos不能使用systemctl命令问题

    注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/bug-dock ...

  3. 基于docker 搭建Elasticsearch6.2.4(centos)

    一.介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为 ...

  4. docker环境搭建centos+jdk+tomcat_CENTOS篇

    前言 (1)写在前面的话,鉴于在linux或类unix系统中安装jdk+tomcat等环境,没有什么经验,所以选择在docker容器中安装之,以防止安装失败无法恢复系统 (2)需要下载对应的系统的do ...

  5. 使用Docker搭建apache环境

    Docker搭建apache环境 前言 操作机:ubuntu16 x64 Dockers servion 18.09.7 下载镜像 使用docker pull 拉取最新的 apache镜像 命令:do ...

  6. ubuntu 或centos 使用Docker搭建anaconda+python基本环境

    ubuntu 16 使用Docker安装anacondaubuntu docker 安装centos docker 安装搜索可用镜像 docker search anaconda 拉取你中意的镜像 d ...

  7. Docker 搭建 Tomcat + Mysql

    Docker 搭建 Tomcat + Mysql 准备 虚拟机 虚拟机安装Docker 在纯净的Centos镜像上搭建 Centos镜像准备 虚拟机上拉取 Centos 镜像: docker pull ...

  8. Docker入门详解——安装docker并利用docker搭建lnmp

    首先我们需先安装docker环境,这个比较简单,以centos7为例 docker在centos7上安装需要系统内核版本3.10+,可以通过uname -r查看内核版本号,如果版本不符请自行查阅资料更 ...

  9. 使用Docker搭建Spark集群(用于实现网站流量实时分析模块)

    上一篇使用Docker搭建了Hadoop的完全分布式:使用Docker搭建Hadoop集群(伪分布式与完全分布式),本次记录搭建spark集群,使用两者同时来实现之前一直未完成的项目:网站日志流量分析 ...

随机推荐

  1. issue_hana

    2019-01-11T14:35:01.910187+08:00 SHADEVDB01 cron[57062]: PAM unable to dlopen(/lib64/security/pam_sy ...

  2. Java 原子语义同步的底层实现

    原子语义同步的底层实现 volatile volatile只能保证变量对各个线程的可见性,但不能保证原子性.关于 Java语言 volatile 的使用方法就不多说了,我的建议是 除了 配合packa ...

  3. __getitem__ __setitem__ __delitem__ 使用

    #__getitem__ __setitem__ __delitem__运行设置key value值了class fun: def __init__(self): print('test') def ...

  4. 笔记:MYSQL四种事务隔离级。

    1·未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据 脏读: 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库 ...

  5. python 路径处理

    1.分解路径名 比如要把xxx/yyy/zzz.py 分解成文件名和目录 两种方法: 一.os.path.split(file) 二.os.path.basename()  ;   os.path.d ...

  6. lambda正则化参数的大小影响

    当lambda的值很小时,其惩罚项值不大,还是会出现过拟合现象,当时lambda的值逐渐调大的时候,过拟合现象的程度越来越低,但是当labmda的值超过一个阈值时,就会出现欠拟合现象,因为其惩罚项太大 ...

  7. 100道c++面试题(上)

    1. new, delete, malloc, free关系 new/delete是c++的运算符,delete会调用对象的析构函数: malloc/free是c/c++的标准库函数,free只释放内 ...

  8. React Context(一):隐式传递数据

    一 Context概述 Context provides a way to pass data through the component tree without having to pass pr ...

  9. c#: Label控件加入AutoHeight属性

    此功能在界面布局中颇为实用,录代码以记之: public class LabelEx : Label { private bool autoHeight = true; [DefaultValue(t ...

  10. [leetcode]84. Largest Rectangle in Histogram直方图中的最大矩形

    Given n non-negative integers representing the histogram's bar height where the width of each bar is ...