docker学习笔记5【实战:将ctfweb题环境docker打包供他人使用】
置顶,一个很不错的wiki,点这里历时三天,玩坏三个虚拟机,云服务器重置一次,终于算是docker入门了,回想起来其实还是linux的一些操作不太熟导致的各种报错,其实还是比较简单的,下面用实战从零来总结一下docker的用法:1、vmvare安装ubuntu16.04虚拟机略,教程很多,镜像推荐去官网下载,被不好的镜像坑过2、更新ubuntu源为国内源略,同上,百度攻略很...
置顶,一个很不错的wiki,点这里
历时三天,玩坏三个虚拟机,云服务器重置一次,终于算是docker
入门了,回想起来其实还是linux
的一些操作不太熟导致的各种报错,其实还是比较简单的,下面用实战从零来总结一下docker
的用法:
1、vmvare安装ubuntu16.04虚拟机
略,教程很多,镜像推荐去官网下载,被不好的镜像坑过
2、更新ubuntu源为国内源
略,同上,百度攻略很多
3、安装docker
参考我的博客,docker学习笔记1 docker的安装
4、更换docker pull国内源
参考我的博客,docker学习笔记2
5、选择容器
这里我选择的为ubuntu16.04
docker pull ubuntu:16.04
6、启动docker
我的命令如下:
sudo docker run -it -d --name ctf -p 8087:80 -v /home/getf/ctf/flower_sql_insert:/var/www/html ubuntu:16.04
#在后台以名字为ctf,端口映射docker80到虚拟机8087,文件夹前面的映射到docker中后面的那个文件夹中运行
#运行的docker容器为ubuntu16.04
sudo docker ps
#查看正在运行的容器id
sudo docker exec -it id /bin/bash
#id替换为ni上个命令看到的id,一般来说输入前三位即可
#除非两个正在运行的docker的前三位是一样的,意思是进入正在运行的docker容器,并使用其的bash
更详细的参考我的博客,docker学习笔记4
7、安装apache+php+mysql
这个是我题目需要用到的环境,可自行选择所需的环境,坑点在这里了,无法安装软件,无法使用vim,解决办法可参考的博客,docker学习笔记3【 E: Unable to locate package docker镜像无法安装软件】
安装的步骤可参考我的博客,ubuntu16.04实测配置【php+mysql+apache】
8、弄题目代码,配置数据库等等
注意,这里我遇到了一个数据库报错,mysql启动报错【No directory, logging in with HOME=/】 ,可自行参考我的博客
9、打包
另开一个bash
命令行
docker commit 8d4 ctf:new
#注:8d4是id的前三位,可从docker ps获得,在对docker操作结束想进行保存是,可另开命令行进行保存
#ctf:new对应的是新的名字与注释
docker export 8d4 > ubuntu.tar
#这个是将其打包成docker压缩包供复制到其他电脑上去使用
好了,就这么多了,欢迎大家与我探讨使用docker遇到的问题,毕竟玩坏这么多虚拟机了,我还怕啥,qwq
更多推荐
所有评论(0)