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、浏览器打开地址测试