docker 搭建nginx+php+mysql
-
docker 部署mysql
docker pull mysql:5.7
-
启动mysql 服务
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
-
开启Mysql远程连接
- docker 进入数据库
docker exec -it mysql bash
- 执行命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES
;- 重启docker mysql服务生效
- docker 进入数据库
-
docker 部署php
docker pull bitnami/php-fpm
-
启动php-fpm
docker run -d -p 9000:9000 -v /usr/local/docker/nginx/www:/usr/share/nginx/html --privileged=true --name php-fpm bitnami/php-fpm
-
docker 部署nginx
docker pull nginx
-
复制docker nginx.conf文件以便修改(启动后复制)
docker cp webserver:/etc/nginx/nginx.conf config/nginx.conf
-
启动nginx 服务
docker run -d -p 80:80 --privileged=true -v /usr/local/docker/nginx/www:/usr/share/nginx/html:rw -v /usr/local/docker/nginx/log:/var/log/nginx:rw -v /usr/local/docker/nginx/config/nginx.conf:/etc/nginx/nginx.conf:rw -v /usr/local/docker/nginx/config/conf.d:/etc/nginx/conf.d:rw --link php-fpm:phpfpm --name webserver nginx
- -p表示端口映射
- -v表示目录映射
- –name表示开启应用名称
- –link php-fpm:phpfpm表示与另外一个容器php-fpm建立起联系
-
修改conf.d里面的应用配置文件中的server配置
location ~ \.php$ { fastcgi_pass phpfpm:9000;//phpfpm为建立连接容器的名称 fastcgi_index index.php; fastcgi_param SCRIPT_FILENA $document_root$fastcgi_script_name; include fastcgi_params; }
-
进入容器
docker exec -it webserver bash
-
查看当前宿主机的所有镜像
docker images
-
查看容器信息,可查ip
docker inspect 容器名或ID(用来配置本地域名)