参考文章:blog.csdn.net/weixin_4087…
以HCTF 2018 warmup为例
1.获得docker文件
git clone https://github.com/ACce1er4t0r/hctf2018_warmup
2.进入目录打开终端,创建名为warmup_img的镜像
docker build -t warmup_img .
3.查看镜像信息
[root@localhost hctf2018_warmup]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
warmup_img latest 792fb501f674 12 seconds ago 446MB
ubuntu 20.04 ba6acccedd29 4 weeks ago 72.8MB
nimmis/apache 14.04 5580ec2505db 2 years ago 316MB
4.创建容器并查看其端口
[root@localhost hctf2018_warmup]# docker run -i -d -P warmup_img
0f3e98c1ddd7d44336153da572f6a8f8ce5355809d51068756a8d965a8f96c6f
[root@localhost hctf2018_warmup]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0f3e98c1ddd7 warmup_img "/my_init" 6 seconds ago Up 5 seconds 0.0.0.0:49155->80/tcp, :::49155->80/tcp vigorous_hofstadter
说明:
-i 以交互模式运行容器,常与-t连用
-d 后台运行
-P 随机把容器的端口映射到一个主机未使用的高端口
5.在浏览器中连接容器
①虚拟机:虚拟机中访问127.0.0.1:49155
②宿主机:先查看虚拟机centos的ip
虚拟机终端输入ip addr
找到ens33的inet,这里是192.168.238.151
知道ip后,宿主机中访问192.168.238.151:49155
6.remake
如果手残把环境打炸了,输入
docker restart <containerId>
重启容器