使用Docker部署lnmp环境
2022-01-11 11:21:24 于 技术
参考文章:
https://www.jianshu.com/p/f2c9a265bb27
https://hub.docker.com/r/2233466866/lnmp
https://github.com/DuckLL/lnmp
下面的docker镜像以duckll/lnmp为例,也可以使用2233466866/lnmp。
2233466866/lnmp的操作说明见参考文章的第二个链接。
1.获取镜像
安装docker之后 , 使用命令获取指定镜像, 这里使用的是duckll/lnmp
更多docker镜像:https://hub.docker.com/search/?q=image&type=image
docker pull duckll/lnmp2.使用镜像创建docker容器
docker run -dit \
-p 9001:80 \
-p 9002:443 \
-p 9003:3306 \
-p 9004:9000 \
-v /opt/volume/nongcundanao/www:/home/wwwroot/default \
-v /opt/volume/nongcundanao/nginx:/usr/local/nginx \
-v /opt/volume/nongcundanao/php:/usr/local/php \
--privileged=true \
--name=nongcundanao \
--restart=always \
--network=junzhai \
--network-alias=junzhai-nongcundanao-server \
duckll/lnmp3.lnmp安装成功
此时访问该服务器并加上docker的端口就可以访问到nginx了
4.进入容器
docker exec -it nongcundanao /bin/bash5.修改nginx配置文件
配置文件目录位于 /usr/local/nginx/conf/nginx.conf,注意这里是docker内部的nginx
默认的web运行目录为:/home/wwwroot/default
PHP安装目录为:/usr/local/php
注意事项:
(1)第2步的docker实例配置中,将实例的相关目录映射到了宿主机中,以便后续修改配置。
在映射之前,要在宿主机中的相应目录把对应的文件准备好,因为映射的逻辑是将宿主机中的文件拷贝至docker实例中。
这里的矛盾点,如果宿主机中的文件事先没有,比如nginx和php等的文件,那么得先不做映射,启动docker示例后,从docker实例中把文件拷贝至宿主机中。然后将实例停止、删除,再重新启动实例。
cp nongcundanao:/usr/local/nginx /opt/volume/nongcundanao/nginx
cp nongcundanao:/usr/local/php /opt/volume/nongcundanao/php
docker stop nongcundanao
docker rm nongcundanao(2)修改完相关配置后,要回到docker实例中重启nginx和php服务。
cd /usr/local/nginx/sbin
./nginx -s reload
