从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. python函数作用域,嵌套函数,闭包

    函数作用域                                                                                                ...

  2. (4)网络配置及CRT远程连接

    修改linux虚拟机中某一网卡的网络配置: 打开终端,输入命令vi /etc/sysconfig/network-scripts/ifcfg-eth0 在文件中写入以下内容: (这里有个错误,DNS要 ...

  3. leetcode3

    public class Solution { public int LengthOfLongestSubstring(string s) { var dic = new Dictionary< ...

  4. unable to auto-detect email address

    git错误:unable to auto-detect email address 2017年11月14日 08:51:08 陈君豪 阅读数:7914   idea 用git更新的时候报错,详细错误信 ...

  5. 数据库设计,表与表的关系,多对多。Many-To-Many(3)

    多对多:两个数据表里的每条记录都可以和另一个表里的任意数量的记录(或者没记录)相关. 多对多关系是关系数据库中两个表之间的一种关系, 该关系中第一个表中的一个行可以与第二个表中的一个或多个行相关.第二 ...

  6. MySQL二进制日志(binary log)总结

    本文出处:http://www.cnblogs.com/wy123/p/7182356.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错 ...

  7. 《DOM Scripting》学习笔记-——第二章 js语法

    <Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...

  8. 【Django】关于数据过滤

    学到关于数据库过滤方面的内容总结部分注意点: views.py def TestFilter(request): # 多条件过滤 # list=BookInfo.book_manager.filter ...

  9. 算法练习LeetCode初级算法之排序和搜索

    合并两个有序数组 class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { System.arrayco ...

  10. AppleID的双重认证

    [链接]AppleID的双重认证https://support.apple.com/zh-cn/HT204915