docker学习笔记5【实战 将ctfweb题环境docker打包供他人使用】

                       

置顶,一个很不错的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.04sudo docker ps#查看正在运行的容器idsudo docker exec -it id /bin/bash#id替换为ni上个命令看到的id,一般来说输入前三位即可#除非两个正在运行的docker的前三位是一样的,意思是进入正在运行的docker容器,并使用其的bash
    
    
    
    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

更详细的参考我的博客,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压缩包供复制到其他电脑上去使用
    
    
    
    
  • 1
  • 2
  • 3
  • 4
  • 5

好了,就这么多了,欢迎大家与我探讨使用docker遇到的问题,毕竟玩坏这么多虚拟机了,我还怕啥,qwq

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

你可能感兴趣的:(docker学习笔记5【实战 将ctfweb题环境docker打包供他人使用】)