运维Linux和python

运维,主要使用的就是linux和python,分享及个人心得。

2017雅俗共赏之docker

    

    偶尔也想写写风花雪月,但是,总是说着说着就与生活无关了,都去说工作上的事了,好纠结。。。其实本来今天也是准备写写技术类的文章的。。。。但是,想着这是2017年最后一篇文章。。。所以就再次尝试看看风花雪月。。。


    


    听听歌,听听这雅俗的音调~~~~


散文


    想了三个小时。。。。MMP,这一年没出去浪过。。。。怎么写,怎么写,尼玛。。。mmp


    1、 下载镜像的时候出现报错,连接docker.io镜像超时

    

    写来写去,我们还是写写docker吧,在安装完docker的时候,你会发现在下载镜像的时候,总是会出现如下的提示:

    

?wx_fmt=png&wxfrom=5&wx_lazy=1


    伟大的墙,连google都上不了我很忧伤。。。。但是。。。我能怎么办呢?我内心也是崩溃的啊,我内心也是无奈的啊。。。所以。。。。到上面注册一个帐号,然后弄个加速器吧。。。注册的地址是:https://www.daocloud.io,注册完之后,你就会看到下面的界面:

    

?wx_fmt=png&wxfrom=5&wx_lazy=1


    一行命令,镜像万千。。。是不是很酷。。。。一行命令,容器万千。。。一行命令,黑锅完全。。。。好可怕。。。


?wx_fmt=png


        然后在这里将这个复制下来,在主机上执行之后,就可以看到配置文件发生了改变,如下:

?wx_fmt=png

    偶尔需要多尝试几次,因为这个速度也是比较纠结的,运气好的话还是很快的,运气不好,那就是time out,time out。。。。


    2、 修改存储驱动的时候出现报错

    在修改存储驱动的时候,偶尔会出现报错,主要是由于存储的文件目录已经存在,在使用docker的目录的时候,所有的文件基本上都存在/var/lib/docker/目录之下,如下所示(在出现问题的时候,可以直接将这个目录删除,然后重启服务之后,这个目录又会被新建,但是所有的存储的卷和镜像文件都会丢失,所以。。。慎重咯,然而。。。并不会。。。just remove it):

?wx_fmt=png

?wx_fmt=png

    基本上见名知意,builder就是用来build的目录,在其中的fscache.db主要是用来构建镜像的时候缓存数据,也就是缓存了相关镜像的数据。从而大大提高了创建镜像的速度,可以在底层的基础之上来构建更高层的镜像。

    containers表示为容器,主要用来存储创建的容器的内容,当你新建一个容器之后,这边就会多出来一个容器,如下所示:

?wx_fmt=png

    在这个容器的id的目录之下,就包含了这个容器的可写层和相关的配置文件,日志文件也是放在这个目录中,日志文件默认是用json格式的文件进行存储,还有就是主机名的配置,相关的dns服务器的地址,一般都是共享主机的dns。在其中的hostconfig.json文件,也就是使用docker inspect containerid显示的内容。

    image目录主要是用来存储镜像的相关信息,当你使用docker images显示镜像的时候,其实读取的就是这个目录的信息,可以删除这个目录,然后对比docker images的输出,如下:

?wx_fmt=png

    在没有删除之前的目录下存在相关的元数据文件,如下所示:

?wx_fmt=png

    在进行重新拉取镜像的时候,会发现无法返回镜像的相关信息了,因为镜像的元数据被删除,而在下载的时候不能进行新建,但是。。报错居然是timeout。。。不科学。。

?wx_fmt=png

    重新启动docker之后,会新建相关的元数据信息,然后这个时候也能重新下载相关的镜像文件了:

?wx_fmt=png

    network目录主要用来存储网络相关的信息,当在创建容器的时候,如果使用到了网络,那么就会更新这个数据文件的信息,如下所示:

?wx_fmt=png

?wx_fmt=png

    overrelay是一种存储驱动,此目录主要是用来存储镜像的,所有的镜像都会存储在这个位置,包括base image或者是在其上的image,如下:

?wx_fmt=png

    plugins目录表示插件,其实这边的overlay就已经是一种插件了。warm目录主要是用来将管理容器的集群的,volumes主要用来存储卷的信息,就是持久化保存的信息,如下:

?wx_fmt=png

    持久化保存了数据信息,妈妈再也不用担心数据丢失的问题了。


    3、 修改存储驱动的时候,报错

    当将存储驱动从devicemapper修改为overlay的方式的时候,可以直接进行切换,但是要切换回来的时候报错:

?wx_fmt=png

    解决方法就是,将overlay的目录删除即可,如下:

?wx_fmt=png

    不过生产环境都是用overlay,所以还是用overlay吧:

?wx_fmt=png

    

结尾

    

    写来写去,绕不过。。。所以转了一个圈。。。所谓的风花雪月离的太远。。。。所以只能玩玩技术类的东西,这种小东西的还是很好玩的。。。


    其实,更多的人应该更加追求战略上的胜利,毕竟那个比这种小的技术要高端大气上档次的多。。。


    本来标题是雅俗共赏。。。。写着写着就变成了技术类的文章。。。。心好累。。。


    这一年。。。时光喂了狗。。。


    如果你看到了这里,那么老衲送你一句话。。。回头是岸。。。


    技术无止境。。。。


    2017年的最后一个文章居然不是风花雪月。。。。怨念啊。。。。。写不出来。。怪我咯。。。对,怪你。。。


?wx_fmt=jpeg



    


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TM6zNf87MDG7Bo/article/details/78936697
想对作者说点什么? 我来说一句

Docker on Windows-Packt Publishing(2017)

2017年08月21日 6.95MB 下载

The Docker Book v2017.03.0(38f1319)

2017年08月07日 6.77MB 下载

没有更多推荐了,返回首页

不良信息举报

2017雅俗共赏之docker

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭