拉取Ubuntu镜像

输入命令:

$ docker pull ubuntu

运行Ubuntu容器

  1. 确认是否已下载好镜像,输入命令:
$ docker images
  1. 上述命令之后如果出现以下情况,即为下载好了。
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              latest              3556258649b2        2 weeks ago         64.2MB
  1. 运行,输入命令:
$ docker run -it -d --name ubuntu -p 80:80 ubuntu

–name自定义容器名,-p指定端口映射,前者为虚拟机端口,后者为容器端口,成功后返回id
查看所有启动的容器。

  1. 查看所有容器。
$ docker ps -a
  1. 如果是以下情况,则为运行成功。
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS                  NAMES
d5d8952f48b2        ubuntu              "/bin/bash"         About a minute ago   Up About a minute   0.0.0.0:8088->80/tcp   ubuntu

进入容器

输入以下命令:

$ docker exec -it ubuntu /bin/bash

安装Apache2和PHP7.2

配置软件源

输入以下命令:

# sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
# apt update

检查PHP和Apache模块

输入以下命令:

# apt list | grep libapache2-mod-php*

结果为以下情况即为可以安装Apache2和PHP7.2

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libapache2-mod-php/bionic,bionic 1:7.2+60ubuntu1 all
libapache2-mod-php7.2/bionic-updates,bionic-security 7.2.19-0ubuntu0.18.04.1 amd64

安装Apache2和PHP7.2

  • 安装
# apt install php7.2 libapache2-mod-php7.2
  • 在安装过程需要设置php的时区,输入相对应的号码即可。
  • 验证是否安装成功。
root@dd29dc7f7771:/# php -v
PHP 7.2.19-0ubuntu0.18.04.1 (cli) (built: Jun  4 2019 14:48:12) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.19-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
root@dd29dc7f7771:/# apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2019-07-16T18:14:45
  • 配置 ServerName
# vi /etc/apache2/apache2.conf

## 添加一行
ServerName localhost
  • 启动
# service apache2 start

查看PHP环境信息以及相关模块

/var/www/html 目录下新建文件phpinfo.php并添加如下代码:

<?php
    phpinfo();
?>

通过浏览器输入IP/phpinfo.php访问。

Demo

安装php-mysqli模块

  • 安装
# apt install php-mysqli
  • 使用命令打开vi /etc/php/7.2/apache2/php.ini去掉extension=mysqli.dll前面的号,保存退出。
  • 重新启动apache
# service apache2 restart

扩展

phpmyadmin

命令如下:

# apt install wget    ## 如果已有可忽略
# cd /avr/www/html
# wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip     ## 下载phpmyadmin
# apt install zip    ## 如果已有可忽略
# unzip phpMyAdmin-4.9.0.1-all-languages.zip     ##解压
# mv phpMyAdmin-4.9.0.1-all-languages phpmyadmin     ##重命名

## 配置phpmyadmin连接远程数据库
# vim /phpMyAdmin/libraries/config.default.php
## 将  $cfg['Servers'][$i]['host'] = ‘localhost’ 中的loaclhost改为自己的远程数据库IP

在浏览器输入IP/phpmyadmin即可查看。
Demo

使用模板

## 首先需要创建一个目录作为映射目录
# mkdir www

## 拉取镜像
# docker pull yancccccc/php-apache

## 运行
# docker run -it -d --name php-apache -p 80:80 -v $PWD/www:/var/www/html yancccccc/php-apache

## 启动apache
# docker exec -it php-apache /bin/bash
# service apache2 start
# exit

## 安装phpmyadmin则将目录改为刚才创建的映射目录即可,其它步骤不需要改变。