Docker - lnmp 开发环境镜像包

Docker  

一、简介

Linux:CentOs7.6  Nginx:1.1.6  MySQL:5.7  PHP:7.3

这是一个集成了 LNMP 环境的镜像,并安装了 PDO、curl、fileinfo、openssl、memcache、memcached、redis、swoole、yaf、yar、amqp 等常用的扩展

 

二、使用

1、在本地安装docker,如果没有使用过docker可以参考这篇文章 https://www.haveyb.com/article/18

 

2、docker pull haveyb/lnmp

因为整个包的大小达到了3.99G,因此建议执行完这条命令后就可以去做别的事情了(大概会用5分钟左右时间)

 

3、创建容器

  1. docker run -itd --name lnmp --privileged haveyb/lnmp /usr/sbin/init

注:下面这行代码同样是创建容器,不同的是,在创建时,指定了将宿主机的 /data/lnmp 与 容器内的 /data 同步,并且做了3个端口的映射。

docker run -itd —name lnmp —privileged -p 6380:6379 -p 81:80 -p 3307:3306 -v /data/lnmp:/data haveyb/lnmp /usr/sbin/init

在docker中,进行端口的映射通过 -p 参数,可以在run时,指定多个 -p(端口映射)。

在docker中,进行文件目录的共享(映射)通过 -v 参数,同样可以在 run 时,指定多个 -v(文件映射)

更全面使用的命令

  1. docker run -itd --name swoft-2 --privileged -p 6381:6379 -p 82:80 -p 3308:3306 -v /data/swoft-pay/swoft-2:/data --net haveyb-network --ip 172.10.1.2 haveyb/lnmp /usr/sbin/init

 

 

4、进入容器

  1. docker exec -it lnmp bash

 
注:退出容器 exit

   

三、程序管理

1、Nginx 的管理:

  1. systemctl status/start/stop/restart/reload nginx

站点的配置文件放在 /usr/local/nginx/conf.d 目录下

 

2、PHP 的管理

  1. systemctl status/start/stop/restart/reload php-fpm

php.ini 文件位于/usr/local/php/etc/php.ini

phpize全局可用

 

3、MySQL 的管理

  1. systemctl status/start/stop/restart/reload mysql

MySQL 数据文件、慢查询日志、错误日志位于 /usr/local/mysql/data 目录下

配置文件位于 /etc/my.cnf

初始密码:123456

--

注1:可以通过设置mysql错误日志级别 log_error_verbosity 来减少mysql错误日志的记录,默认是都记录,建议添加 log_error_verbosity = 1,即只记录error

注2:如果restart报错,则执行 chown -R mysql:mysql /usr/local/mysql/ (这个过程大约会用1分钟左右的时间),然后再restart

注3:注:如果你的云服务器配置没有到 2核cpu-4G内存,那很有可能会出现 mysql 重启失败 ,这是内存容量导致的。因此建议运行docker的云服务器配置不说太高,但是2核4G是最少的了。

云服务器可以和我一样,选购腾讯云的,主要是cpu性能不阉割,价格还便宜 。点击进入购买直通车腾讯云限时秒杀

 

4、Redis 的管理

  1. systemctl status/start/stop/restart/reload redis

conf配置文件位于 /etc/redis.conf,哨兵sentinel配置文件位于 /etc/redis-sentinel.conf

初始密码:haveyb

 

5、memcached 的管理

  1. systemctl status/start/stop/restart/reload memcached

 

@老迟笔记 https://www.haveyb.com



Top