Docker搭建服务器实例

Docker 搭建服务器实例

搭建一个 nginx 服务

下载运行

docker pull nginx
docker run -d -p 80:80 nginx

将自己的网页传输到 nginx 容器

  • 法一(不推荐):给容器安装 vim,直接在容器中编辑。

  • 法二(推荐):在自己电脑上写好网站,复制粘贴到容器中。

    docker cp 自己本地文件 containerID:container内的绝对路径
    
    docker cp ./index.html f27:/usr/share/nginx/html/
    			#将自己写好的 index.html 复制到 f27 容器的
    			#/usr/share/nginx/html/ 目录下
    

    image-20250606104017136 image-20250606104114396

  • 法三(推荐):在容器中挂载数据卷。

    docker run -d -v /home/kali/66:/usr/share/nginx/html -p 8000:80 be6
    

    image-20250606111526101

搭建一个 php 服务

docker pull php:7.2-apache		#下载 php 镜像
docker run -d -p 80:80 c61		#启动后台运行
vim index.php					#编辑 php 起始页
docker cp ./index.php d3c:/var/www/html		#将 index.php 文件复制入容器
								#/var/www/html apache 路径

image-20250609185228610

搭建一个 DVMA 服务——image

搜索镜像

docker search dvwa		#也可以直接去 dockerhub 网站上搜索

下载镜像

docker pull c0ny1/dvwa:v1.9

开启容器

docker run -d -p 80:80 imageID

image-20250605201842429

此时开启了 dvwa 以后,物理机的 IP 地址为:192.168.85.1,虚拟机 ubuntu 的 IP 地址为:192.168.85.129,dvwa 的 IP 地址为 172.17.0.2

  1. 物理机访问 dvwa:

    • http://192.168.85.129:可通。
    • http://172.17.0.2http://127.0.0.1:不可通,非同一网段。
  2. ubuntu 访问 dvwa:

    • http://192.168.85.129http://172.17.0.2http://127.0.0.1:均可通,192127 都是其本身,172 是因为开启 docker 后虚拟机会多一个 172 的网段 IP(虚拟网关、虚拟网卡……)。

搭建一个 DVMA 服务——源码

下载 dvwa 源代码

git clone https://github.com/digininja/DVWA.git

选择合适的基础镜像

docker pull php:7.2-apache
docker pull mysql:5.7

创建网络

docker network create -d bridge test_network

创建容器并指定网络和容器名

#创建 php 容器,指定网络 test_network 及容器名 dvwa_web
docker run -d -p 80:80 -v /home/kali/DVWA:/var/www/html --network test_network --name dvwa_web c61

#创建 mysql 容器,指定网络 test_network 及容器名 dvwa_db
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345 --network test_network --name dvwa_db 510 

 

image-20250609194810449

配置 dvwa 源代码

  • 将配置文件中的 config.inc.php.dist 复制为 config.inc.php
  • 编辑 config.inc.phpimage-20250609200236029

报错,连接

  • 此时连接发现如下图报错,出现该报错,安装 mysqli 即可。

image-20250609193329915

  • 进入容器

    docker exec -it dvwa_web bash 
    
  • 执行命令

    docker-php-ext-install mysqli pdo_mysql
    
  • 退出容器并重启容器

    docker restart dvwa_web
    

    image-20250609194103926

搭建一个 pikachu 服务

下载源码

git clone https://github.com/zhuifengshaonianhanlu/pikachu.git

创建网络

docker network create -d bridge test_network

启动 php 和 mysql 容器

#创建 php 容器,指定网络 test_network 及容器名 pikachu_web
docker run -d -p 80:80 -v /home/kali/pikachu:/var/www/html --network test_network --name pikachu_web c61

#创建 mysql 容器,指定网络 test_network 及容器名 pikachu_db
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=12345 --network test_network --name pikachu_db 510 

安装 mysqli

#进入容器
docker exec -it pikachu_web bash

#安装 mysqli
docker-php-ext-install mysqli pdo_mysql

#退出并重启容器
docker restart pikachu_web

编辑 pikachu 配置

vim /home/kali/pikachu/inc/config.inc.php
		#进入后配置正确的 mysqlID、密码

image-20250609200905286

报错,连接

  • 此时连接发现如下图所示报错。

image-20250609201116715

  • 重新创建 mysql 容器,添加数据库名即可

    docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=150105 -e MYSQL_DATABASE=pikachu --network test_network --name pikachu_db 510
    

     

image-20250609201449342

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇