镜像拉取
git clone + 网址 + 本地目录
git clone https://github.com/SycloverTeam/GeekChallenge2023.git /root/Desktop/CTF
搭建命令
在题目文件夹内打开终端
启动容器
docker-compose up -d
查看网址
docker ps
然后浏览器里访问网址即可
如果想主机访问的话,ifconfig 看一下虚拟机网卡的 ip,然后端口一样访问就行
其他命令
列出所有容器ID
docker ps -aq
查看所有运行或者不运行容器
docker ps -a
停止所有的container(容器),这样才能够删除其中的images:
docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq)
停止所有正在运行的 images 服务
docker-compose down
查看当前有些什么images
docker images
删除images(镜像),通过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为 None 的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image(镜像)的话
docker rmi $(docker images -q)
如果想要删除所有container(容器)的话再加一个指令:
docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq)
一些小问题
正常编写的.sh文件拷贝到docker容器,启动时报错no such file or directory,大概率是格式问题
比如我一开始 windows 拉取镜像然后直接拖到 linux 下。
百度到的方法是:
可以用notepad++转换成unix格式,在拷贝到linux环境
如果在linux环境下,我们可以用vi命令打开文件,再按组合建
shift+:;
(:;为字母L右边的按键)在命令窗口下输入
set ff
可查看当前文件格式如果显示fileformat=dos,我们可以使用命令
set ff=unix
修改文件格式
但是我试了不知道为啥没用(有成功的师傅可以告诉我一声),最后重新在 linux 下 git clone 才解决了。