一个集成Linux-centos7.6、Nginx1.16、MySQL5.7、PHP7.3 的 docker镜像
2.1K
一、简介
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可以参考
linux: https://www.haveyb.com/article/18
mac :https://www.haveyb.com/article/244
2、docker pull haveyb/lnmp
因为整个包的大小达到了3.99G,因此建议执行完这条命令后就可以去做别的事情了(大概会用5分钟左右时间)
3、创建容器
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(文件映射)
在实际中,可能会这么用:
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、进入容器
docker exec -it lnmp bash
注:退出容器 exit
三、程序管理
1、Nginx 的管理:
systemctl status/start/stop/restart/reload nginx
站点的配置文件放在 /usr/local/nginx/conf.d 目录下
2、PHP 的管理
systemctl status/start/stop/restart/reload php-fpm
php.ini 文件位于/usr/local/php/etc/php.ini
phpize全局可用
3、MySQL 的管理
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 的管理
systemctl status/start/stop/restart/reload redis
conf配置文件位于 /etc/redis.conf,哨兵sentinel配置文件位于 /etc/redis-sentinel.conf
初始密码:haveyb
注:如果想通过外网连接redis,需要将redis.conf 中的 bind 参数修改为0.0.0.0
5、memcached 的管理
systemctl status/start/stop/restart/reload memcached
四、Docker 使用过程中问题集锦:
1、Docker创建容器后并映射端口号后,navicat 远程连接mysql
2、Docker中使用git clone 报错 Could not resolve host: github.com; Unknown error
3、进入容器后,没有clear指令
yum install ncurses
4、使用 composer
# 安装composer
yum -y install composer
# 配置composer国内镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
@老迟笔记 https://www.haveyb.com
Content type
Image
Digest
Size
1 GB
Last updated
over 6 years ago
docker pull haveyb/lnmp