<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      ctf簡(jiǎn)單出題流程

      ctf簡(jiǎn)單出題流程

      文件介紹

      index
        src  寫(xiě)一些題目的文件
         index.php
        dockerfile   
      

      首先肯定是要安裝好Docker的

      Docker的流程網(wǎng)上有,這里就不再追述了

      首先可以查看鏡像

      sudo docker images
      

      image-20251029143807212

      文件創(chuàng)建

      我們可以在我們的/app目錄下創(chuàng)建一個(gè)文件夾用于存儲(chǔ)我們的文件index

      sudo mkdir index
      god@localhost:/app$ sudo mkdir index
      

      我們創(chuàng)建好了文件夾之后,進(jìn)入文件夾。

      在新的文件夾中創(chuàng)建新的目錄文件src

      sudo makir src
      god@localhost:/app/index$ sudo mkdir src
      
      

      然后創(chuàng)建一個(gè)配置文件dockerfile

      god@localhost:/app$ cd index
      god@localhost:/app/index$ sudo mkdir src
      god@localhost:/app/index$ sudo touch dockerfile
      god@localhost:/app/index$ ls
      dockerfile  src
      god@localhost:/app/index$ 
      

      image-20251029144648455

      然后在src下創(chuàng)建index.php

      <?php phpinfo();
      

      然后在dockerfile里面寫(xiě)入

      FROM ctftraining/base_image_nginx_mysql_php_56
      
      COPY src /var/www/html
      
      
      
      基于一個(gè)已有的鏡像 ctftraining/base_image_nginx_mysql_php_56 來(lái)構(gòu)建新的鏡像。
      
      把當(dāng)前目錄下的 src 文件夾中的所有文件,復(fù)制到容器內(nèi)的 /var/www/html 目錄下。
      這個(gè)目錄是 Nginx 默認(rèn)的 Web 根目錄,也就是說(shuō),你的網(wǎng)站代碼(PHP、HTML、JS 等)會(huì)被放到這里,供瀏覽器訪問(wèn)。
      
      
      god@localhost:/app/index$ cat dockerfile 
      FROM ctftraining/base_image_nginx_mysql_php_56
      
      COPY src /var/www/html
      god@localhost:/app/index$ 
      
      

      構(gòu)建文件

      先到文件夾/app/index中

      sudo docker build -t index:v1 .
      

      image-20251029151031339

      鏡像已經(jīng)準(zhǔn)備好了

      然后用

      sudo docker images
      

      image-20251029151225988

      啟動(dòng)docker

      sudo docker run -d -p 2555:80 index:v1
      
      2555:80端口映射
      
      段落 含義
      sudo 以管理員身份運(yùn)行,避免權(quán)限不足。
      docker run 啟動(dòng)一個(gè)容器。
      -d 后臺(tái)運(yùn)行(detach),容器不會(huì)霸占當(dāng)前終端。
      -p 2555:80 端口映射:把宿主機(jī)2555 端口映射到容器內(nèi)部的 80 端口。
      index:v1 使用剛才構(gòu)建的鏡像。

      image-20251029153200632

      修改完必須把容器刪了才能重新開(kāi)啟

      把容器停掉和刪除容器

      # 1. 停容器
      sudo docker stop 300c2a6cc488
      300c2a6cc488 id號(hào)
      # 2. 刪容器
      sudo docker rm 300c2a6cc488
      
      # 3. 再刪鏡像
      sudo docker rmi index:v1
      
      

      修改網(wǎng)頁(yè)文件構(gòu)建真正題目

      index.php

      <?php
      error_reporting(0);
      highlight_file(__FILE__);
      include 'flag.php';
      if (isset($_GET['flag'])) {
          echo $flag;
      } else {
          echo '666';
      }
      ?>
      

      flag.php

      <?php 
      $flag="flag{123456}"
      

      直接運(yùn)行

      sudo docker build -t index:v1 .
      sudo docker run -d -p 2555:80 index:v1
       
      god@localhost:/app/indexsudo docker build -t index:v1 .
      [+] Building 3.7s (7/7) FINISHED                 docker:default
       => [internal] load build definition from dockerfile       0.0s
       => => transferring dockerfile: 165B                       0.0s
       => [internal] load metadata for docker.io/ctftraining/ba  3.1s
       => [internal] load .dockerignore                          0.0s
       => => transferring context: 2B                            0.0s
       => [internal] load build context                          0.1s
       => => transferring context: 456B                          0.1s
       => CACHED [1/2] FROM docker.io/ctftraining/base_image_ng  0.0s
       => [2/2] COPY src /var/www/html                           0.2s
       => exporting to image                                     0.0s
       => => exporting layers                                    0.0s
       => => writing image sha256:62ef83cb7df28e6cac2bd047958b7  0.0s
       => => naming to docker.io/library/index:v1                0.0s
      god@localhost:/app/index$ sudo docker run -d -p 2555:80 index:v1
      da1df97450eed98d71a2061114e930d50fc36a11ef27a7665c4fd7c86a2366d5
      
      

      image-20251029174704618

      image-20251029174722233

      改進(jìn)

      由于上面的問(wèn)題總是要重新啟動(dòng)容器才能對(duì)修改的內(nèi)容起作用,所以進(jìn)行方案調(diào)整

      把一堆 Docker 參數(shù)從命令行搬進(jìn)文件,讓“基礎(chǔ)設(shè)施”可復(fù)制、可版本化、一鍵啟停。

      我們可以運(yùn)用一個(gè)東西進(jìn)行掛載

      啟動(dòng)docker-compose.yml
      version: "2"
      services:
        web:
          image: ctftraining/base_image_nginx_mysql_php_56
          container_name: index
          ports:
            - "2556:80"
          volumes:
            - ./src/index.php:/var/www/html/index.php
            - ./src/flag.php:/var/www/html/flag.php
      

      啟動(dòng)

      sudo docker-compose up -d
      
       sudo docker compose up -d
      

      如果沒(méi)安裝

      # Ubuntu / Debian 示例
      sudo apt update
      sudo apt install docker-compose -y
      

      image-20251029180932414

      然后我們更改內(nèi)容的時(shí)候就不需要重新啟動(dòng)容器了

      想停止

      cd /app/index                  # 確保和 docker-compose.yml 同目錄
      sudo docker compose down       # 停+刪容器+網(wǎng)
      
      posted @ 2025-10-30 09:50  Godjian  閱讀(21)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产av永久无码天堂影院 | 亚洲午夜亚洲精品国产成人| 精品无码国产污污污免费| 丰满的少妇被猛烈进入白浆| 天天弄天天模| 伊人久久大香线蕉网av| 日韩av综合中文字幕| 欧美激情肉欲高潮视频| 国产成人片无码视频在线观看| 99精品国产综合久久久久五月天 | 丝袜老师办公室里做好紧好爽| 在线涩涩免费观看国产精品| 好湿好紧太硬了我太爽了视频| 国产剧情视频一区二区麻豆| 2021国产成人精品久久 | 国产精品中文一区二区| 亚洲中文字幕日产无码成人片| 精品福利一区二区三区免费视频| 亚洲国产一区二区三区| 日韩精品福利一区二区三区| 国产高潮又爽又刺激的视频| 亚洲天堂精品一区二区| 99久久国产福利自产拍| 91久久久久无码精品露脸| 亚洲另类激情专区小说图片| 国产精品一线天粉嫩av| 色九月亚洲综合网| 昌宁县| 精品国产中文字幕在线看| 18禁无遮挡啪啪无码网站破解版| 久久亚洲私人国产精品| 国产精品国产三级国产专业| 欧美乱码伦视频免费| 五月丁香色综合久久4438| 蜜桃无码一区二区三区| 成人国产精品中文字幕| 久久精品无码av| 日韩熟妇| 国产精品久久久久影院亚瑟| 亚洲中文字幕国产综合| 久久久久久久久久久久中文字幕 |