docker 部署lamp

173 阅读1分钟
mkdir /data/{mysql,php,nginx,www} -p
mkdir /data/mysql/{conf,data,logs}
chmod 777 /data/mysql/logs/ 
mkdir /data/nginx/{conf,logs}
mkdir /data/php/conf

vim /data/nginx/conf/docker.conf

server {
    listen 80;
    server_name localhost;
    location / {
        root /usr/share/nginx/html;
        index index.php index.html;
    }
    location ~ \.php$ {
        root  html;
        fastcgi_pass 172.18.0.101:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
        include fastcgi_params;
    }
}

vim /data/mysql/conf/docker.cnf
[mysqld]
log_error=/mysql/mysql.error.log

docker network create --driver bridge --subnet 172.18.0.0/24 --gateway 172.18.0.1 nmp

docker run -d --name=ngnix -p80:80 --net=nmp --ip=172.18.0.100 \
-v /data/nginx/conf/:/etc/nginx/conf.d \
-v /data/nginx/logs/:/var/log/nginx \
-v /data/www/:/usr/share/nginx/html nginx:latest


docker run -d --name=php7.3 --net=nmp --ip=172.18.0.101 \
-v /data/www/:/var/www/html/ \
-v /data/php/conf:/usr/local/etc/php/conf.d php:7.3.33-fpm-alpine3.14

docker run -d --name=mysql5.7 -p3306:3306 --net=nmp --ip=172.18.0.102 \
-v /data/mysql/data/:/var/lib/mysql \
-v /data/mysql/conf/:/etc/mysql/conf.d \
-v /data/mysql/logs/:/mysql/ -e MYSQL_ROOT_PASSWORD=ypf@5208 mysql:5.7.40

echo "<?php phpinfo(); ?>" > /data/www/index.php