centos下docker-compose搭建lnmp环境
所有操作均在root权限下进行
sudo -i
1、递归生成容器项目文件夹
mkdir -p /root/lnmp/nginx/html/ /root/lnmp/nginx/conf.d/ /root/lnmp/nginx/logs/
2、新建并写入yml文件内容
vi /root/lnmp/docker-compose.yml
【docker-compose.yml】内容:
version: '3'
services:
nginx:
image: nginx
container_name: nginx
hostname: nginx
privileged: true
ports:
- 80:80
#centos文件夹【/root/lnmp/nginx/html/】和容器文件夹【/usr/share/nginx/html】进行绑定,并设rw权限
#centos文件夹【/root/lnmp/nginx/conf.d/】和容器文件夹【/etc/nginx/conf.d/】进行绑定
#centos文件夹【/root/lnmp/nginx/logs/】和容器文件夹【/var/log/nginx/】进行绑定
volumes:
- /root/lnmp/nginx/html/:/usr/share/nginx/html/:rw
- /root/lnmp/nginx/conf.d/:/etc/nginx/conf.d/:rw
- /root/lnmp/nginx/logs/:/var/log/nginx/:rw
#容器自启
restart: always
networks:
- lnmp
php:
image: php:7.3.29-fpm
container_name: php_01
volumes:
- /root/lnmp/nginx/html/:/var/www/html/:rw
restart: always
cap_add:
- SYS_PTRACE
networks:
- lnmp
mysql:
image: mysql:5.6
container_name: mysql56
ports:
- 3306:3306
volumes:
- /root/lnmp/mysql/data/:/var/lib/mysql/:rw
restart: always
networks:
- lnmp
environment:
MYSQL_ROOT_PASSWORD: "123456"
TZ: "Asia/Shanghai"
networks:
#新建自定义网络【lnmp】
lnmp:
4、新建并写入html文件内容
#新建 vi /root/lnmp/nginx/html/index.html #内容自定义 welcome to nginx
我的博客
5、新建文件【default.conf】,写入内容,并用ftp上传到centos的文件夹【/root/lnmp/nginx/conf.d/】中
注意:
①最好用windows系统自带记事本新建此文件,文件名必须是【default.conf】,编码必须是“UTF-8”。
②否则,会导致容器无法启动,一直处于"restarting"状态,并在logs内报错【unknown directive "er" in /etc/nginx/conf.d/default.conf】。
③如果觉得不好操作,可以把yml文件内容里conf文件夹绑定删掉,则无需操作本步骤,nginx默认使用内置的配置进行启动。
【default.conf】文件内容:
server {
listen 80;
root /usr/share/nginx/html;
index index.html index.htm index.php;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
index index.html index.htm index.php ;
try_files $uri $uri/ /index.php?$query_string;
autoindex on;
}
location ~ \.php$ {
#php_01是容器命名
fastcgi_pass php_01:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
}
}
5、进入lnmp文件夹启动yml文件
cd /root/lnmp docker-compose up -d
6、查看运行情况
docker-compose ps

7、浏览器打开地址测试

浙公网安备 33010602011771号