centos7下安装docker, 搭建nginx和php

Linux piniu 1736浏览 0评论

话不多说,直接上代码。

一、安装docker
查看docker是否安装过

yum list installed | grep docker

使用yum安装docker

yum install -y docker

启动docker

systemctl start docker

查看docker启动状态

systemctl status docker

二、配置阿里云镜像
配置阿里云的镜像

 cat /etc/docker/daemon.json
 tee /etc/docker/daemon.json <<-'EOF'
 {
   "registry-mirrors": ["https://4mdhrl3b.mirror.aliyuncs.com"]
 }
 EOF

重新加载配置,并启动docker

systemctl daemon-reload
systemctl restart docker

查看镜像有哪些

docker images

查看当前容器有哪些

docker ps -a

进入某容器中终端

docker exec -it 8f393829b62d /bin/bash

三、安装nginx和php的准备工作:

mkdir -p /data/appweb/conf -p /data/appweb/logs -p /data/appweb/www -p /data/appweb/conf/conf.d

添加普通执行用户权限

useradd -M -s /sbin/nologin nginx
chown nginx.nginx -R /data/appweb/

四、安装nginx
拉取最新版的ningx

docker pull docker.io/nginx

启动nginx

docker run --name docker-nginx-dev -p 8081:80 -d nginx

将docker中的nginx配置文件,拷贝到映射目录下

docker cp 8f393829b62d:/etc/nginx/nginx.conf /data/appweb/conf/
#注:其中 8f393829b62d 为 容器ID。

启动nginx时关联系统目录到容器目录

 docker run -d -p 8082:80 --name docker-nginx-dev2 \
  -v /data/appweb/www:/usr/share/nginx/html \
  -v /data/appweb/conf/nginx.conf:/etc/nginx/nginx.conf \ 
  -v /data/appweb/logs:/var/log/nginx \
  nginx

五、安装php
拉取指定版本的php-fpm

docker pull docker.io/bitnami/php-fpm:7.2
# 启动php-fpm
docker run -p 9000:9000 --name docker-php-fpm \<br>
 -v /data/appweb/www/:/usr/share/nginx/html \<br>
 -d bitnami/php-fpm:7.2

添加nginx的配置文件, 如:baidu.com.conf
vim /data/appweb/conf/conf.d/baidu.com.conf 内容如:

server {
     listen       80;
     server_name  localhost;

     location / {
         root   /usr/share/nginx/html;
         index  index.html index.htm index.php;
     }

     error_page   500 502 503 504  /50x.html;
     location = /50x.html {
         root   /usr/share/nginx/html;
     }

     location ~ \.php$ {
         fastcgi_pass   php:9000;
         fastcgi_index  index.php;
         fastcgi_param  SCRIPT_FILENAME  
         /usr/share/nginx/html/$fastcgi_script_name;
            include        fastcgi_params;
      }
}

#其中:php:9000: 表示 php-fpm 服务的 URL,下面我们会具体说明。
# 启动Nginx,包括配置文件映射到php上
docker run -d --name docker-nginx-php-dev -p 8083:80 \
 -v /data/appweb/www:/usr/share/nginx/html:ro \
 -v /data/appweb/conf/conf.d:/etc/nginx/conf.d:ro \
 -v /data/appweb/logs:/var/log/nginx \
 --link docker-php-fpm:php \
 nginx

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • * 昵称:
  • * 邮箱: