Docker使用 LNMP

安装Docker

yum install docker

安装Mysql5.6并创建服务

docker pull mysql:5.6

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.6

安装PHP7.0-fpm创建服务

docker pull php:7.0-fpm

docker run -d -v /home/wwwroot/html:/usr/share/nginx/html -p 9000:9000 --name phpfpm php:7.0-fpm

PHP安装Mysqli拓展

docker exec -it phpfpm /bin/bash

docker-php-ext-install mysqli

exit

安装Nginx 以自定义配置创建服务

docker pull nginx

docker run --name nginx -p 80:80 -d -v /home/wwwroot/html/:/usr/share/nginx/html nginx

配置 nginx.conf

mkdir -p /home/wwwroot/conf

docker cp nginx:/etc/nginx/nginx.conf /home/wwwroot/conf/nginx.conf

配置 default.conf

mkdir -p /home/wwwroot/conf.d

docker cp nginx:/etc/nginx/conf.d/default.conf /home/wwwroot/conf.d/default.conf

docker stop nginx

docker rm nginx

创建Nginx服务

docker run -d -p 80:80 -v /home/wwwroot/html:/usr/share/nginx/html -v /home/wwwroot/conf/nginx.conf:/etc/nginx/nginx.conf  -v /home/wwwroot/logs:/var/log/nginx -v /home/wwwroot/conf.d:/etc/nginx/conf.d --link phpfpm --name nginx nginx:latest

 

问题

Docker映射目录访问返回403 Forbidden

原因是CentOS7中的安全模块selinux把权限禁掉了,主要是挂载的目录没有权限的问题chcon -Rt svirt_sandbox_file_t /home/wwwroot/html/

Docker开启nginx服务一直报 /usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused "exec: \"--link\": executable file not found in $PATH"

创建Nginx的时候  link 要放在 name 的前面

总结

下一步需要打包和集群去构建使用场景

 

posted @ 2020-03-23 20:06  混沌深海里  阅读(242)  评论(0)    收藏  举报