Docker 常用镜像整理

Docker 搭建靶场很方便,但是每次搭建靶场找到底层镜像都会消耗不少时间,所以特此花时间写下本文,磨刀不误砍柴工,后面再搭建 Docker 靶场的话,效率就会高很多了。

PHP

 PHP 环境,如果不考虑使用数据库的情况下,推荐使用下面的这些镜像:

PHP 5.2

PHP版本系统版本Apache 版本Web路径COMMAND
5.2.17Ubuntu 16.04.52.2.22/var/www/html/init.sh
# 拉取镜像
docker pull seti/php52:latest

# 运行容器
docker run -d -p 8080:80 --name PHP5.2 seti/php52:latestW

PHP 5.6

PHP版本系统版本Apache 版本Web路径COMMAND
5.6.40Ubuntu 16.04.52.4.37/var/www/app/sbin/entrypoint.sh

Bash

# 拉取镜像
docker pull romeoz/docker-apache-php:5.6

# 运行容器
docker run -d -p 8080:80 --name PHP5.6 romeoz/docker-apache-php:5.6

PHP 7.3

PHP版本系统版本Apache 版本Web路径COMMAND
7.3.10Ubuntu 18.04.32.4.4/var/www/app/sbin/entrypoint.sh

Bash

# 拉取镜像
docker pull romeoz/docker-apache-php:7.3

# 运行容器
docker run -d -p 8080:80 --name PHP7.3 romeoz/docker-apache-php:7.3

LAMP

PHP 5.6.28 + MariaDB 10.1.19

PHP版本MariaDB版本系统版本Apache 版本Web路径COMMAND
5.6.2810.1.19Alpine Linux 3.42.4.23/var/www/html/start.sh

MySQL 的用户名和密码信息:

用户名密码
root

Bash

# 拉取镜像
docker pull janes/alpine-lamp:latest

# 运行容器
docker run -d -p 8080:80 --name LAMP janes/alpine-lamp:latest

PHP 5.5.9 + MySQL 5.5.61

PHP版本MySQL版本系统版本Apache 版本Web路径COMMAND
5.5.95.5.61Ubuntu 14.04.52.4.7/var/www/html/start.sh

MySQL 的用户名和密码信息:

用户名密码
rootroot

Bash

# 拉取镜像
docker pull medicean/vulapps:base_lamp

# 运行容器
docker run -d -p 8080:80 --name LAMP medicean/vulapps:base_lamp

PHP 7.3.22 + MariaDB 10.4.15

PHP版本MariaDB版本系统版本Apache 版本Web路径COMMAND
5.5.910.4.15Alpine Linux 3.112.4.46/var/www/localhost/htdocs/entry.sh

MySQL 的用户名和密码信息:

用户名密码
rootroot(构建的时候自己设置的)

Bash

# 拉取镜像
docker pull sqlsec/alpine-lamp

# 运行容器 记住要指定密码
docker run -d -p 8080:80 --name LAMP -e MYSQL_ROOT_PASSWORD=root sqlsec/alpine-lamp

常用命令

Docker 靶场操作中一些比较实用的命令Bash

# 基本操作
docker run -d -p 物理端口1:容器端口1 -p 物理端口2:物理端口2 --name 容器名 <image-name>:<tag>
docker exec -it 容器名/ID bash

# 磁盘挂载
docker run -d -p 8080:80 -v 本机路径:容器路径 --name 容器名  <image-name>:<tag>

# 容器打包镜像
docker commit -a "作者" -m "备注" 容器ID <image-name>:<tag>

# 物理机拷贝到容器
docker cp test.txt 容器ID:/var/www/html

# 容器拷贝到物理机
docker cp 容器ID:/var/www/html/test.txt 物理机路径

# 查看容器 COMMAND
 docker ps -a --no-trunc

# 停止所有容器 以此类推
docker stop $(dokcer ps -aq)

# 将容器打包成规范的镜像
docker commit <exiting-Container> <hub-user>/<repo-name>[:<tag>]

# 将镜像修改成规范的镜像
docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]

# 登录 Docker Hub
docker login

# 上传推送镜像到公共仓库
docker push <hub-user>/<repo-name>:<tag>

# 当前目录的 Dockerfile 创建镜像
docker build -t <image-name>:<tag> . 

# 指定文件构建镜像
docker build -f /path/to/a/Dockerfile -t <image-name>:<tag> .

# 将镜像保存 tar 包
docker save -o image-name.tar <image-name>:<tag>

# 导入 tar 镜像
docker load --input image-name.tar

# docker-compose 命令相关
## 基本操作
docker-compose up -d

## 关闭并删除容器
docker-compose down

## 开启|关闭|重启已经存在的由docker-compose维护的容器
docker-compose start|stop|restart

## 运行当前内容,并重新构建
docker-compose up -d --build
暂无评论

发送评论 编辑评论


				
上一篇
下一篇