zoukankan      html  css  js  c++  java
  • Docker Compose搭建LAMP环境

    最近买了《代码审计 企业级WEB代码安全架构》这本书,想要测试一下里面的一些漏洞,但是又不想弄脏我的工作环境,于是便学习了一下怎样用Docker来搭建LAMP环境。

    先建个文件夹,用来存我们接下来的文件。

    mkdir lamp
    cd lamp/
    

    然后写php-apache的dockerfile。
    自己写,不直接用image的原因是直接用image没装mysqli插件,连不上数据库。

    touch Dockerfile
    vi Dockerfile
    
    FROM php:apache
    RUN docker-php-ext-install mysqli
    EXPOSE 80
    

    接着就可以开始写docker-compse了(有的装docker会自带,没有的话手动装下就好)。

    touch docker-compose.yml
    vi docker-copmose.yml
    
    version: '3'
    services:
        web:
            build: 
                context: ./
                dockerfile: Dockerfile
            volumes: 
                - ./php:/var/www/html
            ports: 
                - 80:80
            depends_on:
                - db
        db:
            image: mysql
            command: --default-authentication-plugin=mysql_native_password
            restart: alawys
            environment: 
                MYSQL_ROOT_PASSWORD: root
            ports: 
                - 3306:3306
    

    检查一下有没有问题。

    docker-compose config
    

    然后就可以运行了。

    docker-compose up
    

    也可以加上-d参数让它在后台运行。

    docker-compose up -d
    

    接着就可以到php目录下写我们的php代码了。
    (php目录的owner是root,所以得先切换下owner,否则没有权限进行写操作。)

    chown username:usergroup php/
    

    测试下能不能正常连接到数据库。

    touch index.php
    vi index.php
    
    <?php
    $host = 'db';
    $user = 'root';
    $pass = 'root';
    $conn = new mysqli($db,$user,$pass);
    if($conn->connection_error)
    {
        echo $conn->connection_error;
    }
    else
    {  
        echo "Connected to Database Successfully.";
    }
    ?>
    

    访问localhost,成功。

    最后记一下我遇到的一个问题,就是连接docker的守护进程需要权限,所以每次都要加上sudo才能执行命令。
    解决办法就是把用户加进docker组.

    sudo useradd -aG docker $USER
    newgrp docker
    
  • 相关阅读:
    洛谷 P1194 飞扬的小鸟 题解
    洛谷 P1197 星球大战 题解
    洛谷 P1879 玉米田Corn Fields 题解
    洛谷 P2796 Facer的程序 题解
    洛谷 P2398 GCD SUM 题解
    洛谷 P2051 中国象棋 题解
    洛谷 P1472 奶牛家谱 Cow Pedigrees 题解
    洛谷 P1004 方格取数 题解
    洛谷 P2331 最大子矩阵 题解
    洛谷 P1073 最优贸易 题解
  • 原文地址:https://www.cnblogs.com/rpish/p/12303343.html
Copyright © 2011-2022 走看看