docker 配置lnmp环境 加redis

docker 安装:


1,一键安装 
curl -fsSL https://get.docker.com/ | sh


2,yum 国外源
wget https://download.docker.com/linux/centos/dockerce.repo
 mv docker-ce.repo /etc/yum.repos.d
yum install -y docker-ce


3,rpm
wget  https://download.docker.com/linux/centos/7/x86_64/stable/Packages/dockerce-17.09.0.ce-1.el7.centos.x86_64.rpm
yum localinstall docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm


4,docker加速器
yum install -y yum-utils device-mapper-persistentdata lvm2 git
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
如果需要指定安装则需要指定完整的rpm包的包名,并且加上--setopt=obsoletes=0 
参数:yum install -y --setopt=obsoletes=0 \
 docker-ce-17.03.2.ce-1.el7.centos.x86_64 \
 docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch


基本操作:


运行
systemctl start docker
查看docker版本
yum list docker-ce --showduplicates
查看镜像
docker images
查看容器
docker  ps
查看docker运行状态
docker info

下载镜像:


docker pull mysql:5.7
docker pull php:7.4-fpm
docker pull nginx:1.17.8
docker pull redis:5.0.2

安装顺序:
1. 安装顺序: mysql-redis-php-nginx 。
2. 容器关联: php关联mysql;  nginx关联php , 被关联的容器先安装 。 mysql-redis-php-nginx 。
mkdir -p /data/docker/nginx/www/html
mkdir -p /data/docker/redis/conf
mkdir -p /data/docker/redis/data
touch /data/docker/redis/conf/redis.conf

docker run -d -p 3306:3306 -v /data/docker/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yang123.aa --name mysql5.7 mysql:5.7

docker run --restart=always  -d --privileged=true -p 6379:6379 -v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /data/docker/redis/data:/data:rw --name redis5.0.2 redis:5.0.2 redis-server /etc/redis/redis.conf --appendonly yes

--restart=always                                            -> 开机启动容器,容器异常自动重启
-d                                                          -> 以守护进程的方式启动容器
--privileged=true                                           -> 提升容器内权限
-p 6379:6379                                                -> 绑定宿主机端口
-v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf    -> 映射配置文件
-v /data/docker/redis/data:/data                               -> 映射数据目录
--name redis                                                -> 指定容器名称
--appendonly yes                                            -> 开启数据持久化

3、进去redis容器
docker exec -it redis bash
4、查看redis版本
redis-server -v

docker run -d -v /data/docker/nginx/www/html:/var/www/html -p 9000:9000 --link mysql5.7 --link redis5.0.2 --privileged --name php7.4 php:7.4-fpm
docker run -d -p 80:80 -v /data/docker/nginx/www/html:/var/www/html --link php7.4 --privileged --name nginx1.17.8 nginx:1.17.8

扩展模块配置
生成php扩展文件目录/usr/src/php/ext
docker-php-source extract   
安装redis扩展
curl -L -o /tmp/reids.tar.gz https://codeload.github.com/phpredis/phpredis/tar.gz/5.0.2
cd /tmp
tar -zxvf reids.tar.gz
mv phpredis-5.0.2/ phpredis
cp -r phpredis/ /usr/src/php/ext/
docker-php-ext-install phpredis
安装pdo_mysql扩展
docker-php-ext-install pdo_mysql

php -m 查看

NGINX配置
apt-get update
apt-get install vim


vim /etc/nginx/conf.d/default.conf

server {
location / {
root  /var/www/html
index index.php;
}
location ~ \.php$ {
root /var/www/html;         (使用$document_root这个地方别忘了改,要么$document_root就改成绝对路径)
fastcgi_pass php7.4:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;    
include fastcgi_params;
}
}


($document_root有个bug,如果你nginx版本过高会导致识别不到。要设置为你存放文件的路径,我的这个路径是/var/www/html,直接把$document_root换成/var/www/html就可以了。
还有一种解决方式是修改$document_root变量    可以在/etc/nginx/fastcgi_params里找到)
exit 
重启
docker restart php7.4
docker restart nginx1.17.8
登陆网页

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值