docker学习笔记(5):docker搭建DNMP环境

DNMP介绍

环境介绍:

├── mysql
├── nginx
│   └── nginx.conf
└── php
    └── php.ini

本篇文章将介绍一个更加方面的相当于LNMP(linux + NGINX + MySQL + PHP)环境的部署方式,效率更加高效,而对于lnmp或者lamp的介绍,可以看我去年写的那篇文章:

Ubuntu 16.04 安装 Apache, Mysql, PHP7, phpMyAdmin过程解析和错误总结

生成mysql容器

关于mysql的创建方式,我在上一节中已经介绍得很详细了,里面具体有什么坑还有一些需要注意的事项,比如说端口开放问题、权限问题、配置文件问题:

docker学习笔记(4):制作mysql镜像与后续相关维护总结

这里生成mysql容器的步骤基本和之前的一致,为:

# 移动该目录下
cd /mysql

# 拉取镜像
docker pull mysql

#创建容器
docker run \
--name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v "$PWD"/data:/var/lib/mysql \
-v "$PWD"/conf:/etc/mysql/conf.d \
-d mysql

说明:
–name 参数为mysql容器名称,可以自己定义。
-p 指定外部映射到容器的端口
-e 环境变量 MYSQL_ROOT_PASSWORD为指定root账号密码
-v 映射目录或者文件
    * /data 为mysql数据目录
    * /conf 为配置目录
-d 以守护进程的方式运行
-$pwd是变量,相当于在当前路径下的data和conf目录下


查看进程:

docker ps -a

使用上面命令,如果没有出现exit() 后面跟时间,那么基本就启动成功了,因为是以守护进程的方式,它会在后台运行。这时我们配置完mysql容器后,就能用Navicat连接了。


生成PHP容器

php容器其实和上面也是一样的,但这里需要注意的是版本号,php的迭代次数还是会要比mysql快,另外就是对低版本的支持性不高,所以目前我感觉都是mysql 5.7就够了,然而php至少要7以上。所以命令为:

# 移动到该目录下
cd /php

docker pull php:7.2

你可能感兴趣的:(Linux,虚拟化)