Docker安装LNMP环境的详细过程

步骤一  Docker安装

启动后加入开机启动

yum install docker
sudo systemctl start docker
sudo systemctl enable docker

步骤二  nginx安装

拉取官方镜像,创建并运行容器,映射端口为80

docker pull nginx
docker run --name nginx -p 80:80 -d nginx

步骤三   安装PHP

拉取的管方镜像,可以根据自己所需拉取

docker pull phpdockerio/php7-fpm

步骤四   nginx运行路径

进入nginx容器,查看nginx配置文件

docker exec -it nginx bash
cat /etc/nginx/conf.d/default.conf -n

步骤五   创建并运行php容器

docker run --name phpfpm -d 9000:9000 -v /var/www/html:/usr/share/nginx/html -d phpdockerio/php7-fpm

步骤六   创建index2.php测试文件

进入php容器,进入运行目录,docker没有安装vim,vim 创建index2.php

docker exec -it phpfpm bash
cd /usr/share/nginx/html
apt-get update
apt-get install vim
cat << EOF > /root/.vimrc
:set encoding=utf-8
:set fileencodings=ucs-bom,utf-8,cp936
:set fileencoding=gb2312
:set termencoding=utf-8
EOF
vim index2.php
<?php
echo 1;
?>

步骤七   获取容器ip

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' phpfpm
# 172.17.0.3

步骤八   配置nginx

进入nginx配置目录,安装vim

docker exec -it nginx bash
cd /etc/nginx/conf.d
apt-get update
apt-get install vim
vim default.conf
location / {
root /usr/share/nginx/html/tp5.1/public;
index index.html index.htm index.php;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php$ {
root /usr/share/nginx/html/tp5.1/public;
fastcgi_pass 172.17.0.3:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
include fastcgi_params;
}
docker restart nginx

保存退出,重启nginx

步骤九   拉取Mysql镜像

创建并运行mysql容器

docker pull mysql
docker run --name mysql -p 3306:3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
docker exec -it mysql /bin/bash
mysql -uroot -p
GRANT ALL ON *.* TO 'root'@'%';
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

刷新权限

步骤十   服务器文件放入容器

查看容器id

docker ps 
docker cp linux文件 容器id:容器路径

php -i | grep 'php.ini'
1.docker cp mynginx:/etc/nginx/conf.d/default.conf /users/nginx/default.conf
2.docker cp /users/nginx/default.conf mynginx:/etc/nginx/conf.d/default.conf

原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/4065.html

发表评论

登录后才能评论