当前位置: 首页 > news >正文

docker nginx

  1. 创建nginx容器,挂载配置文件和网站文件。
docker run -d --name docker-nginx --network my_docker_net -v D:\docker\nginx:/usr/share/nginx/html -v nginx_conf:/etc/nginx -p 80:80 nginx

docker run -d --name docker-nginx --network my_docker_net -v D:\docker\nginx\data:/usr/share/nginx/html -v D:\docker\nginx\config:/etc/nginx/conf.d -p 80:80 nginx

windows卷挂载目录为:

\\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes\nginx_conf\_data
  1. 创建mysql容器
docker run --name docker_mysql --network my_docker_net -e MYSQL_ROOT_PASSWORD=123456 -v D:\docker\mysql_data:/var/lib/mysql -p 3307:3306 -d mysql
  1. 创建php容器
docker run -d --name docker-php-7.4-fpm --network my_docker_net -v D:\docker\nginx\data:/var/www/html -p 9000:9000 php:7.4-fpm
  1. 配置nginx
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

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

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /var/www/html;
        fastcgi_pass   docker-php-7.4-fpm:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}


  1. 安装pdo,进入容器,执行 docker-php-ext-install pdo pdo_mysql,重启容器
docker exec -it docker-php-7.4-fpm bash
  1. 新建php文件
<?php
  $servername = "docker_mysql:3306"; // 数据库服务器地址
    $username = "root"; // 数据库用户名
    $password = "123456"; // 数据库密码
    $database = "hyperf_test"; // 数据库名

    
    try {
       $pdo = new PDO("mysql:host=" . $servername. ";dbname=" . $database, $username, $password);//创建一个pdo对象
        $pdo->exec("set names 'utf8'");
        echo "mysql连接成功"; 
    }
    catch(PDOException $e) {
        echo "mysql连接失败:error=> " . $e->getMessage();
    }
     
    $pdo = null;
  1. D:\docker\nginx\data下新建目录tp6-demo
D:\docker\nginx\data> composer create-project topthink/think=6.1.* tp6-demo
  1. 访问http://localhost/tp6-demo/public/index.php
  2. 创建redis容器
docker run --name docker_redis --network my_docker_net -d -p 6379:6379 -v D:\docker\redis:/data -v redis_conf:/etc/redis/redis.conf redis
docker cp docker_redis:/etc/redis/redis.conf d:\docker\redis\config

修改D:\docker\redis\config\redis.conf\redis.conf

bind 0.0.0.0
port 6379
dir /data
dbfilename dump.rdb
# 设置 Redis 密码
requirepass 123456  
appendonly yes

# RDB 持久化配置

# 900 秒(15 分钟)内至少有 1 个键被修改时触发保存
save 900 1     

# 300 秒(5 分钟)内至少有 10 个键被修改时触发保存
save 300 10    

# 60 秒(1 分钟)内至少有 10000 个键被修改时触发保存
save 60 10000  

删除旧容器,建立新的容器

docker rm -f 21f
docker run --name docker_redis --network my_docker_net -d -p 6379:6379 -v D:\docker\redis\data:/data -v D:\docker\redis\config\redis.conf\redis.conf:/etc/redis/redis.conf redis redis-server /etc/redis/redis.conf

相关文章:

  • A - 整数的简单问题/A - A Simple Problem with Integers
  • 《算法笔记》8.2小节——搜索专题->广度优先搜索(BFS)问题 E: 【宽搜入门】巧妙取量
  • 基于 Prometheus + Grafana 监控微服务和数据库
  • 职业教育五金建设改革解析
  • C# 一文读懂委托与事件
  • Web Component 教程(二):如何有效管理和使用自定义属性
  • ✎ 一次有趣的经历
  • Cross-Silo Prototypical Calibration for Federated Learning with Non-IID Data
  • 【操作系统安全】任务6:Linux 系统文件与文件系统安全 学习指南
  • 【项目合集】基于ESP32的智能化妆柜
  • Linux进程信号(上)
  • Python第五章03:函数返回值和None类型
  • 网络编程知识预备阶段
  • 东隆科技携手PRIMES成立中国校准实验室,开启激光诊断高精度新时代
  • 【免费】2004-2017年各地级市实际利用外资数据
  • Grokking System Design 系统设计面试问题
  • 从零开始实现一个HTML5飞机大战游戏
  • java 中散列表(Hash Table)和散列集(Hash Set)是基于哈希算法实现的两种不同的数据结构
  • 【渗透测试】webpack对于渗透测试的意义
  • Linux 如何上传本地文件以及下载文件到本地命令总结
  • 严正交涉!我驻日使馆:如日方采取新的挑衅举动,中方必坚决反制
  • “特朗普效应”下澳大利亚执政工党赢得大选,年轻选民担忧房价
  • 释新闻|新加坡大选今日投票:除了黄循财首次挂帅,还有哪些看点
  • 解放日报:服务国家战略,加快建成科技创新高地
  • 印度宣布即日起对所有巴基斯坦航班关闭领空
  • 两部门预拨4000万元支持山西、广西、陕西做好抗旱救灾工作