docker安装nginx+php7+mysql+redis
2018-03-21 15:16
489 查看
1、下载镜像#docker pull nginx
#docker pull php:7.1.0-fpm2、建立docker映射目录#mkdir -p /docker/www
#mkdir -p /docker/nginx/conf.d3、编辑nginx配置文件#vim /docker/nginx/conf.d/default.conf
# 以下为示例内容
server {
listen 80 default_server;
server_name _;
root /usr/share/nginx/html;
location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php$is_args$query_string;
autoindex off;
}
location ~ \.php(.*)$ {
root /var/www/html/;
fastcgi_pass 172.17.0.2:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.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;
include fastcgi_params;
}
}4、启动PHP镜像docker run -p 9000:9000 --name myphp -v /docker/www/:/var/www/html/ --privileged=true -d php:7.1.0-fpm
#查看php镜像的ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp
172.17.0.2
#修改default.conf配置文件,使fastcgi_pass的值为 172.17.0.2:9000
vi /docker/nginx/conf.d/default.conf
fastcgi_pass 172.17.0.2:9000;5、启动nginx镜像docker run -p 80:80 --name mynginx -v /docker/www:/usr/share/nginx/html -v /docker/nginx/conf.d:/etc/nginx/conf.d --privileged=true -d nginx6、测试Nginx和php是否正常echo "test" > /docker/www/index.html
echo "<?php echo phpinfo();" > /docker/www/info.php
#使用IP地址或域名访问看是否显示正常说明:docker 启动是使用一个或多个 -v 参数,使容器内的目录映射到宿主机上,每次修改不必进入宿主机操作
7、mysql 和redis/memcached等涉及数据存储的应用不安装docker容器内,防止容器删除数据丢失mysql
#sudo apt-get install mysql-server
#sudo apt isntall mysql-client
redis
#sudo apt-get install redis-server
#sudo service redis-server start8、php docker容器安装php相应的拓展#docker-php-ext-install bcmath dba exif mysqli pdo_mysql sysvsem sysvshm pdo_mysql
#验证
#php -m | grep -i 'mysql'
#docker pull php:7.1.0-fpm2、建立docker映射目录#mkdir -p /docker/www
#mkdir -p /docker/nginx/conf.d3、编辑nginx配置文件#vim /docker/nginx/conf.d/default.conf
# 以下为示例内容
server {
listen 80 default_server;
server_name _;
root /usr/share/nginx/html;
location / {
index index.html index.htm index.php;
try_files $uri $uri/ /index.php$is_args$query_string;
autoindex off;
}
location ~ \.php(.*)$ {
root /var/www/html/;
fastcgi_pass 172.17.0.2:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.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;
include fastcgi_params;
}
}4、启动PHP镜像docker run -p 9000:9000 --name myphp -v /docker/www/:/var/www/html/ --privileged=true -d php:7.1.0-fpm
#查看php镜像的ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' myphp
172.17.0.2
#修改default.conf配置文件,使fastcgi_pass的值为 172.17.0.2:9000
vi /docker/nginx/conf.d/default.conf
fastcgi_pass 172.17.0.2:9000;5、启动nginx镜像docker run -p 80:80 --name mynginx -v /docker/www:/usr/share/nginx/html -v /docker/nginx/conf.d:/etc/nginx/conf.d --privileged=true -d nginx6、测试Nginx和php是否正常echo "test" > /docker/www/index.html
echo "<?php echo phpinfo();" > /docker/www/info.php
#使用IP地址或域名访问看是否显示正常说明:docker 启动是使用一个或多个 -v 参数,使容器内的目录映射到宿主机上,每次修改不必进入宿主机操作
7、mysql 和redis/memcached等涉及数据存储的应用不安装docker容器内,防止容器删除数据丢失mysql
#sudo apt-get install mysql-server
#sudo apt isntall mysql-client
redis
#sudo apt-get install redis-server
#sudo service redis-server start8、php docker容器安装php相应的拓展#docker-php-ext-install bcmath dba exif mysqli pdo_mysql sysvsem sysvshm pdo_mysql
#验证
#php -m | grep -i 'mysql'
相关文章推荐
- docker在windows下的安装和配置
- Docker 安装 TensorFlow GPU 实战
- 在 Linux 上安装和使用 Docker
- Docker学习系列(一):windows下安装docker
- Windwos 10 安装Docker
- Centos7安装Docker-1.9.1
- 如何在ubuntu14.04上安装docker并运行image
- windows docker安装方式的比较小结
- 如何安装和配置 Rex-Ray?- 每天5分钟玩转 Docker 容器技术(74)
- CentOS7 安装docker
- docker学习-简单安装及使用
- Docker Machine快速安装Docker环境(二)
- Docker 安装部署
- Docker CE安装及配置国内镜像加速教程
- 手动安装docker-ce版本
- Debian 7 安装 Docker
- 在docker中安装mysql详解
- 配置docker官方源并用yum安装docker
- ubuntu16.04安装最新版docker、docker-compose、docker-machine
- docker-安装及命令