docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷

一、什么是Dokcer容器的数据卷?
【数据卷是一个或多个容器中专门指定的目录,它能够绕过联合文件系统。】
卷被设计用作数据持久化、并且是独立于容器的生命周期的。
因此,Docker不会在删除容器时自动删除数据卷卷,也不会主动“垃圾回收”掉容器不再使用的卷。说白了,数据卷的存在就是想让容器的数据持久化存在,而且可以实现容器之间的数据共享;当我们在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们关闭docker容器时是会消失的;’但是其中产生的部分内容我们是希望能够把它给保存起来另作用途的;Docker将应用与运行环境打包成容器发布,我们希望在运行过程钟产生的部分数据是可以持久化的的;而且容器之间我们希望能够实现数据共享;通俗地来说,docker容器数据卷可以看成使我们生活中常用的u盘,它存在于一个或多个的容器中;由docker挂载到容器,但不属于联合文件系统,Docker不会在容器删除时删除其挂载的数据卷。
有三种数据卷类型:

1.宿主机数据卷:直接在宿主机的文件系统中但是容器可以访问(bind mount)
2.命名的数据卷:磁盘上Docker管理的数据卷,但是这个卷有个名字。
3.匿名数据卷:磁盘上Docker管理的数据卷,因为没有名字想要找到不容易,Docker来管理这些文件

数据卷其实都在(如果没有网络文件系统等情况下)宿主机文件系统里面的,
只是第一种是在宿主机内的特定目录下,而后两种则在docker管理的目录下,这个目录一般是 /var/lib/docker/volumes/
二、数据卷的特点
1)数据卷可以在容器之间共享或重用数据;
2)数据卷中的更改可以直接生效;
3)数据卷中的更改不会包含在镜像的更新中;
4)数据卷的生命周期一直持续到没有容器使用它为止;
三、如何添加数据卷?
添加数据卷的方式有两种:
第一种是直接通过命令行挂载
第二种是通过dockerFile添加
(1)第一种通过命令行挂载的方式,命令如下:

docker run -it -v  /宿主机绝对路径目录:  /容器内目录  镜像名

这个命令会在宿主机和容器内分别建立两个目录,两个目录是对接的,里面的数据可以共享
如果我们不知道数据卷是否挂载成功时,我们可以通过以下方式来检查数据卷的挂载结果

docker ps -a     查看出容器的id
docker inspect  容器id

上面的命令可以查看容器的详细情况,命令返回的是JSON格式的字符串;
运行命令之后我们在返回的JSON字符串中找到Volumes属性;
假如挂载成功的话,Volumes里面显示的绑定结果应该是你在挂载时输入的命令参数 (/宿主机绝对路径目录: /容器内目录 )
如果与之前输入的命令一致的话,证明挂载成功;
PS: Volumes里面显示的绑定结果可能有多个,但是只要找到目标结果就可以;
挂载之后,当容器停止运行的时候,宿主机上对数据卷做的内容修改是会同步到容器内的;
我们再挂载的时候还可以给数据卷加上权限,假如我们要宿主机只能读取容器的数据卷内容不能修改,我们可以添加只读权限;

docker run -it -v /宿主机绝对路径目录 : /容器内目录  :ro 镜像名

至于只写的话我们一般不会用到,要么就是读写,要么就是只读,我们可以通过docker inspect 来查看容器的volumesRW来查看容器内数据卷的读写权限
第二种就是利用dockerFile的形式添加
dockerFile对于docker镜像而言就如同java中某个类的.class文件对应上该类的.java文件

首先在linux服务器根目录上新建docker文件夹并建立DockerFile文件
使用volume命令;
(出于可移植可分享的的考虑,用以上 -v /宿主机绝对路径目录 : /容器内目录 的这种方式不能够直接在dockerFile中直接实现,
因为宿主机目录是依赖于特定的宿主机,并不能保证所有的宿主机都存在这样特定的目录);

编写的dockerFile文件如下

FROM  镜像名
VOLUME ["/生成的目录路径"]  -- privileged=true
CMD echo "success build"
CMD /bin/bash

相当于命令行: docker run -it -v /宿主机目录路径 : /生成的目录路径
然后我们通过命令行docker build执行我们写好的dockerFile文件
(docker build和docker commit两个命令都可以建立docker镜像,docker commit 需要在容器内进行,docker build 不需要)

docker build -f  /docker/DockerFile -t  命名空间/镜像名

执行后输入docker images就可以发现自己通过DockerFile所build的镜像,里面有挂载数据卷
3.1那么宿主机所对应的目录到底是什么呢?
同上,我们可以通过docker inspect来查看当前容器的Volumes,里面会有宿主机的数据卷目录
docker容器数据卷,它的作用相当于生活中的活动硬盘
3.2那么什么是docker数据卷容器?
数据卷容器就相当于把多个活动硬盘再挂载到一个活动硬盘上,实现数据的传递依赖。
官网解析:命名的容器挂载数据卷,其他的容器通过挂载这个父容器实现数据共享,挂载数据卷的容器,我们称为数据卷容器。
四、bindmount:将主机上的目录或文件直接mount到容器里,使用直接,高效
docker数据卷是mount到宿主机中,绕开了分层文件系统,和主机磁盘性能相同,容器 删除后依然保留,但是仅限本地磁盘,不能随容器迁移 。

使用 -v 选项指定路径    -v选项指定的路径,如果不存在,挂载时会自动创建。
[root@server1 ~]# docker run -d --name web1 -p 80:80 -v  /opt/website:/usr/share/nginx/html nginx  容器里面的nginx默认发布目录://usr/share/nginx/html
9ecdca0e273a0599675516beac71c014e42072bf7282c7e3360d43012dee427d
[root@server1 ~]# curl localhost   测试访问失败因为默认发布目录没有资源

403 Forbidden<<span class="token operator">/</span>title><<span class="token operator">/</span>head>
<body>
<center><h1>403 Forbidden<<span class="token operator">/</span>h1><<span class="token operator">/</span>center>
<hr><center>nginx<span class="token operator">/</span>1<span class="token punctuation">.</span>19<span class="token punctuation">.</span>0<<span class="token operator">/</span>center>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker exec web1 mount   在容器里面执行挂载,但是不进入容器</span>
并且可以看到<span class="token operator">/</span>dev<span class="token operator">/</span>mapper<span class="token operator">/</span>rhel<span class="token operator">-</span>root,也就是根目录挂载到容器的<span class="token operator">/</span>usr<span class="token operator">/</span>share<span class="token operator">/</span>nginx<span class="token operator">/</span>html
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/606784be7f2f42958920f6a5d3552f28.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/606784be7f2f42958920f6a5d3552f28.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第1张图片" width="650" height="275" style="border:1px solid black;"></a><br> 添加一个默认发布页面<br> <a href="http://img.e-com-net.com/image/info8/d1aba825cecb4f7d9f5ed36f20dd626d.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d1aba825cecb4f7d9f5ed36f20dd626d.jpg" alt="在这里插入图片描述" width="650" height="96"></a><br> 那么之前的Ubuntu就可以这样进入为什么呢?<br> 查看构建历史发现nginx镜像只运行了nginx,没有交互式的shell界面二Ubuntu却有。<br> <a href="http://img.e-com-net.com/image/info8/64fe05adeea24937a924007955e19166.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/64fe05adeea24937a924007955e19166.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第2张图片" width="650" height="177" style="border:1px solid black;"></a><br> 正确进入应用型容器<br> <a href="http://img.e-com-net.com/image/info8/4dcf0be1b90842d3930f70bf0d903ca2.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/4dcf0be1b90842d3930f70bf0d903ca2.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第3张图片" width="650" height="170" style="border:1px solid black;"></a><br> 此种方式,不存在的目录会自动创建(无论是主机还是容器)。但是会以宿主机为准,绑定挂载到容器上,容器中若存在对应的目录或文件存有数据则会被直接覆盖,<br> <strong>【bind、mount】方式挂载是默认的权限是rw,可以在挂载是指定只读。</strong><br> 来测试以下挂载只读和读写权限。宿主机不受约束,只是挂载权限<br> <a href="http://img.e-com-net.com/image/info8/638dad5a9fc44adf96841715601bdfc8.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/638dad5a9fc44adf96841715601bdfc8.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第4张图片" width="650" height="259" style="border:1px solid black;"></a><br> <strong>接下来配置yum源</strong></p> 
  <pre><code class="prism language-powershell"> 要给一个bash 方便查看
<span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker run -it --name vm2 -v /etc/yum.repos.d/westos.repo:/etc/yum.repos.d/westos.repo rhel7 bash</span>
加上ro表示只读不能对yum源做更改
<span class="token namespace">[root@server1 ~]</span><span class="token comment">#  docker run -it --name vm2 -v /etc/yum.repos.d/westos.repo:/etc/yum.repos.d/westos.repo:ro rhel7 bash</span>
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/a8a22347356e45ad991160365618cebb.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a8a22347356e45ad991160365618cebb.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第5张图片" width="650" height="129" style="border:1px solid black;"></a><br> <strong>五、docker managed volume数据卷的演示</strong></p> 
  <p>5.1bind mount必须指定host文件系统路径,移植性差。(若容器在A主机上crash掉,B上面也没有对应的路径那么将无法移植)<br> 5.1docker managed volume 不需要指定mount源。docker自动容器创建,默认数据卷都存放在/var/lib/docke/volumes下<br> 若挂载指向的容器当中存有数据,则元数据会被移植到volumes中</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker run -d --name web1 -p 80:80 -v /usr/share/nginx/html nginx</span>
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/6369950c813f4ee4bfe48ea62fd534a3.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/6369950c813f4ee4bfe48ea62fd534a3.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第6张图片" width="650" height="244" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker inspect web1  查看详细信息</span>
source就是volume在host中的目录<span class="token punctuation">,</span>是docker自动为容器生成的目录<span class="token punctuation">,</span>如果挂载时指向的已有目录<span class="token punctuation">,</span>原有数据会被复制到volume中。
注意,即使删除容器,管理卷也不会删除。
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/ebb71ab2fbe247e7bf63c8b4b1f8c47b.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ebb71ab2fbe247e7bf63c8b4b1f8c47b.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第7张图片" width="650" height="294" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/3d12beb7b99040dca8837187c0179b7b.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/3d12beb7b99040dca8837187c0179b7b.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第8张图片" width="650" height="228" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-powershell">cker自动生成的目录名称会很长,不方便书写使用。我们可以在创建容器时自己定义目录名称
<span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker run -d --name web2 -p 80:80 -v website2:/usr/share/nginx/html nginx  手动指定默认发布页面</span>
<span class="token namespace">[root@server1 ~]</span><span class="token comment"># curl localhost 访问</span>
<span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker inspect web2  查看详细信息</span>

</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/37856f50153b48959f6188577089c8b6.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/37856f50153b48959f6188577089c8b6.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第9张图片" width="650" height="198" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker rm -f web2</span>
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/2e286d343f08484c95f08b709521c6d2.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/2e286d343f08484c95f08b709521c6d2.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第10张图片" width="650" height="391" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker volume ls  再次查看 全部被清空不然会占用我们的资源</span>
DRIVER              VOLUME NAME
</code></pre> 
  <p><strong>另一种使用方法多个容器使用挂载到同一个目录</strong></p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker run -d --name web2 -p 80:80 -v website2:/usr/share/nginx/html nginx   运行容器并指定默认发布页面</span>
96e8801facbbb38aa60da71e5a064a0ceec2f6a4fc515601dd347f8d96487a7c
<span class="token namespace">[root@server1 ~]</span><span class="token comment"># docker inspect web2  查看详细信息</span>
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/df836e72767245d8b947e3ff3adb569f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/df836e72767245d8b947e3ff3adb569f.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第11张图片" width="650" height="371" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/ba344cc3c464456fbce774a216257ac1.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ba344cc3c464456fbce774a216257ac1.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第12张图片" width="650" height="126" style="border:1px solid black;"></a><br> <strong>接下来我们运行一个容器并指定此容器的挂载目录为上面删除容器的默认发布目录</strong></p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 _data]</span><span class="token comment"># docker run -d --name web3 -p 80:80 -v website2:/usr/share/nginx/html nginx</span>
ab3e7d6578c7e47575a58995f5044fdb4bb3d0e0fd94ee5f65d4ab91992892ed
<span class="token namespace">[root@server1 _data]</span><span class="token comment"># curl localhost</span>
www<span class="token punctuation">.</span>westos<span class="token punctuation">.</span>org
<span class="token namespace">[root@server1 _data]</span><span class="token comment"># docker inspect web3</span>
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/d8ff5c3a7277442e9e65ff1bd2b93310.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/d8ff5c3a7277442e9e65ff1bd2b93310.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第13张图片" width="650" height="241" style="border:1px solid black;"></a><br> 创建web3依然可以使用web2的数据<br> 再次创建一个容器去掉端口映射测试</p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 _data]</span><span class="token comment"># docker run -d --name web4 -v website2:/usr/share/nginx/html nginx</span>
79086bf91d4fedbdfd4398e0b18184d45e7da726745e1ccf57fa8304929f4784
<span class="token namespace">[root@server1 _data]</span><span class="token comment"># docker inspect web4</span>
</code></pre> 
  <p><a href="http://img.e-com-net.com/image/info8/115d0916c175464f8b18b71b0c8f0a7c.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/115d0916c175464f8b18b71b0c8f0a7c.jpg" alt="docker(容器)——容器数据卷管理的详解(共享数据)+docker managed volume数据卷_第14张图片" width="650" height="242" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server1 _data]</span><span class="token comment"># curl 172.17.0.3  访问ip创建web4依然可以使用web2的数据 </span>
www<span class="token punctuation">.</span>westos<span class="token punctuation">.</span>org
</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1737821380772159488"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(docker,数据卷)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1943985462716723200.htm"
                           title="docker-compose方式搭建lnmp环境——筑梦之路" target="_blank">docker-compose方式搭建lnmp环境——筑梦之路</a>
                        <span class="text-muted">筑梦之路</span>
<a class="tag" taget="_blank" href="/search/linux%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/1.htm">linux系统运维</a><a class="tag" taget="_blank" href="/search/%E5%9B%BD%E4%BA%A7%E5%8C%96/1.htm">国产化</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/adb/1.htm">adb</a>
                        <div>docker-compose.yml文件#生成docker-compose.ymlcat>docker-compose.ymlnginx/conf.d/default.conf">www/index.phpecho"开始启动服务..."docker-composeup-d#获取本机ipip_addr=$(hostname-I|awk'{print$1}')echo"部署完成!"echo"访问测试页</div>
                    </li>
                    <li><a href="/article/1943975122729758720.htm"
                           title="EMQX 社区版单机和集群部署" target="_blank">EMQX 社区版单机和集群部署</a>
                        <span class="text-muted">pcj_888</span>
<a class="tag" taget="_blank" href="/search/MQTT/1.htm">MQTT</a><a class="tag" taget="_blank" href="/search/MQTT/1.htm">MQTT</a><a class="tag" taget="_blank" href="/search/EMQ/1.htm">EMQ</a>
                        <div>EMQ支持Docker,宿主机,k8s部署;支持单机或集群部署。以下给出EMQX社区版单机和集群部署方法1.Docker单机部署官方推荐最小配置:2核4G下载容器镜像dockerpullemqx/emqx:5.3.2启动容器dockerrun-d--nameemqx\-p1883:1883\-p8083:8083\-p8883:8883\-p8084:8084\-p18083:18083\emqx</div>
                    </li>
                    <li><a href="/article/1943972599365169152.htm"
                           title="docker安装node部分问题" target="_blank">docker安装node部分问题</a>
                        <span class="text-muted">自律的蜗牛</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a>
                        <div>sudonlatestsudo:n:commandnotfound如果运行sudonlatest时出现:sudo:n:commandnotfound说明n版本管理工具未安装或未添加到PATH环境变量。解决方案1️⃣先检查n是否已安装运行:whichn或者:command-vn如果有输出/usr/local/bin/n,说明n已安装,但可能需要sudo访问。如果没有任何输出,说明n没有安装,跳到方法</div>
                    </li>
                    <li><a href="/article/1943963649831923712.htm"
                           title="玩转Docker | 使用Docker部署gopeed下载工具" target="_blank">玩转Docker | 使用Docker部署gopeed下载工具</a>
                        <span class="text-muted">心随_风动</span>
<a class="tag" taget="_blank" href="/search/%E7%8E%A9%E8%BD%ACDocker/1.htm">玩转Docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>玩转Docker|使用Docker部署gopeed下载工具前言一、gopeed介绍Gopeed简介主要特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署gopeed服务下载镜像创建容器检查容器状态检查服务端口安全设置四、访问gopeed应用五、测试与下载六、总结前言在当今信息爆炸的时代,高效地获取和管理网络资源变得尤为重要。无论是下载大型文件还是进行日常的数据传输,一个稳</div>
                    </li>
                    <li><a href="/article/1943962515373355008.htm"
                           title="Docker指定网桥和指定网桥IP" target="_blank">Docker指定网桥和指定网桥IP</a>
                        <span class="text-muted"></span>

                        <div>$dockernetworklsNETWORKIDNAMEDRIVER7fca4eb8c647bridgebridge9f904ee27bf5nonenullcf03ee007fb4hosthostBridge默认bridge网络,我们可以使用dockernetworkinspect命令查看返回的网络信息,我们使用dockerrun命令是将网络自动应用到新的容器Host如果是hosts模式,启动容</div>
                    </li>
                    <li><a href="/article/1943957596671111168.htm"
                           title="docker0网卡没有ip一步解决" target="_blank">docker0网卡没有ip一步解决</a>
                        <span class="text-muted">ξ流ぁ星ぷ132</span>
<a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>正常查看ip的时候一直显示没有ip这里先删除docker0网卡iplinkdeletedocker0然后重启服务systemctlrestartdocker再次查看显示有ip了并且查看配置文件也是正常的cat/etc/docker/daemon.json{"registry-mirrors":["https://docker.m.daocloud.io","https://docker.imgdb</div>
                    </li>
                    <li><a href="/article/1943949028848889856.htm"
                           title="系统迁移从CentOS7.9到Rocky8.9" target="_blank">系统迁移从CentOS7.9到Rocky8.9</a>
                        <span class="text-muted"></span>

                        <div>我有两台阿里云上的服务器是CentOS7.9,由于CentOS7已经停止支持,后续使用的话会有安全漏洞,所以需要尽快迁移,个人使用的话目前兼容性好的还是RockyLinux8,很多脚本改改就能用了。一、盘点系统和迁移应用查看当前系统发行版版本cat/etc/os-release盘点迁移清单服务器应用部署方式docker镜像来源v1wordpressdockerdockerhubv1zdirdock</div>
                    </li>
                    <li><a href="/article/1943932394662850560.htm"
                           title="Docker容器底层原理详解:从零理解容器化技术" target="_blank">Docker容器底层原理详解:从零理解容器化技术</a>
                        <span class="text-muted">Debug Your Career</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>一、容器本质:一个“隔离的进程”关键认知:Docker容器并不是一个完整的操作系统,而是一个被严格隔离的进程。这个进程拥有独立的文件系统、网络、进程视图等资源,但它直接运行在宿主机内核上(而虚拟机需要模拟硬件和操作系统)。类比理解:想象你在一个办公楼里租了一间独立办公室(容器)。你有自己的桌椅(文件系统)、电话分机(网络)、门牌号(主机名),但共享整栋楼的水电(宿主机内核)和电梯(硬件资源)。办公</div>
                    </li>
                    <li><a href="/article/1943930755528847360.htm"
                           title="在 Windows 上安装 Docker Desktop" target="_blank">在 Windows 上安装 Docker Desktop</a>
                        <span class="text-muted">不老刘</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a>
                        <div>还是简单说一下,如何在Windows上安装DockerDesktop,具体步骤如下:系统要求Windows10/1164-bit(专业版、企业版或教育版,版本21H2或更高)启用WSL2(WindowsSubsystemforLinux2)或Hyper-V至少4GB内存BIOS中启用虚拟化(VT-x/AMD-V)安装步骤1.下载DockerDesktop访问Docker官网下载页面。下载Docke</div>
                    </li>
                    <li><a href="/article/1943887012146769920.htm"
                           title="Ubuntu 安装 RAGFlow 简单流程" target="_blank">Ubuntu 安装 RAGFlow 简单流程</a>
                        <span class="text-muted">steven_41936912</span>
<a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/RAGFlow/1.htm">RAGFlow</a>
                        <div>Docker拉取镜像慢可以更换镜像源sudotee/etc/docker/daemon.json<<-'EOF'{"registry-mirrors":["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com","https</div>
                    </li>
                    <li><a href="/article/1943880578281566208.htm"
                           title="OpenWebUI系列之 如何通过docker自动将其更新到OpenWebUI最新版本" target="_blank">OpenWebUI系列之 如何通过docker自动将其更新到OpenWebUI最新版本</a>
                        <span class="text-muted">知识大胖</span>
<a class="tag" taget="_blank" href="/search/NVIDIA/1.htm">NVIDIA</a><a class="tag" taget="_blank" href="/search/GPU%E5%92%8C%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B/1.htm">GPU和大语言模型开发教程</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/llm/1.htm">llm</a><a class="tag" taget="_blank" href="/search/openwebui/1.htm">openwebui</a>
                        <div>实战需求OpenWebUI是一个可扩展、功能丰富且用户友好的自托管WebUI,旨在完全离线运行。它支持各种LLM运行器,包括Ollama和OpenAI兼容API。如何通过docker自动将其更新到OpenWebUI最新版本?系列文章《OpenWebUI系列之如何通过docker更新到OpenWebUI的最新版本》权重0,本地类、opewebui类《OpenWebUI系列之如何通过docker自动将</div>
                    </li>
                    <li><a href="/article/1943879065014431744.htm"
                           title="远程登录docker执行shell报错input is not a terminal问题" target="_blank">远程登录docker执行shell报错input is not a terminal问题</a>
                        <span class="text-muted"></span>

                        <div>背景最近要远程去k8sdocker里面获取信息,于是,写了一个如下的命令,执行完之后,报错了。ssh192.168.100.2sudocrictlexec-itxxx.docker/usr/bin/lscpu--online--extended错误信息如下:time=“2025-07-11T21:00:39+08:00”level=fatalmsg=“execingcommandincontain</div>
                    </li>
                    <li><a href="/article/1943863812016893952.htm"
                           title="Docker高级管理 --Dockerfile镜像制作" target="_blank">Docker高级管理 --Dockerfile镜像制作</a>
                        <span class="text-muted">牛爷爷敲代码</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/LNMP/1.htm">LNMP</a><a class="tag" taget="_blank" href="/search/dockerfile/1.htm">dockerfile</a><a class="tag" taget="_blank" href="/search/%E9%95%9C%E5%83%8F%E5%88%B6%E4%BD%9C/1.htm">镜像制作</a>
                        <div>Docker高级管理--Dockerfile镜像制作一、Dockerfile基础概念1.定义与作用定义:Dockerfile是一个包含创建Docker镜像所需指令的文本文件。作用:自动化镜像构建流程,避免手动配置的繁琐和不一致性。版本控制:Dockerfile可纳入代码仓库,便于团队协作和追踪变更。可重复性:相同的Dockerfile构建出的镜像内容完全一致。2.核心组件指令(Instructio</div>
                    </li>
                    <li><a href="/article/1943863558789984256.htm"
                           title="如何在Windows系统下使用Dockerfile构建Docker镜像:完整指南" target="_blank">如何在Windows系统下使用Dockerfile构建Docker镜像:完整指南</a>
                        <span class="text-muted">996蹲坑</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a>
                        <div>前言Docker作为当前最流行的容器化技术,已经成为开发、测试和运维的必备工具。本文将详细介绍在Windows系统下使用Dockerfile构建Docker镜像的完整流程,包括两种镜像构建方式的对比、Dockerfile核心指令详解、实战案例演示以及Windows系统下的特殊注意事项。一、Docker镜像构建的两种方式1.容器转为镜像(不推荐)这种方式适合临时保存容器状态,但不适合生产环境使用:#</div>
                    </li>
                    <li><a href="/article/1943860905200644096.htm"
                           title="Docker初识:mysql8主从复制(单向)- 主从搭建扩展知识" target="_blank">Docker初识:mysql8主从复制(单向)- 主从搭建扩展知识</a>
                        <span class="text-muted">滴水可藏海</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>主从服务(master-slave)新学习到的知识。1、全库同步与部分同步上回书说到Docker初识:mysql8主从复制(单向)的配置都是针对全库配置的。但是实际上并不需要针对全库做备份,只需要对一些特别重要的库或者表来进行同步。例如information_schema等。可以通过配置文件中的一些属性指定需要针对哪些库或者哪些表记录binlog。Master配置:#需要同步的二进制数据库名bin</div>
                    </li>
                    <li><a href="/article/1943836066754654208.htm"
                           title="玩转Docker | 使用Docker部署HomeBox家庭库存管理工具" target="_blank">玩转Docker | 使用Docker部署HomeBox家庭库存管理工具</a>
                        <span class="text-muted">心随_风动</span>
<a class="tag" taget="_blank" href="/search/%E7%8E%A9%E8%BD%ACDocker/1.htm">玩转Docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>玩转Docker|使用Docker部署HomeBox家庭库存管理工具前言一、HomeBox介绍Homebox简介主要特点主要使用场景二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署HomeBox服务下载HomeBox镜像编辑部署文件创建容器检查容器状态检查服务端口安全设置四、访问HomeBox服务访问HomeBox首页注册账号五、HomeBox使用体验总结前言随着智能家居和</div>
                    </li>
                    <li><a href="/article/1943835184487002112.htm"
                           title="docker常见问题解决方法" target="_blank">docker常见问题解决方法</a>
                        <span class="text-muted">小王聊技术</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a>
                        <div>目录迁移至其他服务器清理Docker占用的磁盘空间常见问题:迁移至其他服务器1.将docker容器导出dockerexport-o保存路径/xxx.tar容器id2.将容器tar远程拷贝到新的服务器(从新的服务器上向老服务器上请求复制)scproot@服务器地址:/data/xxx.tar/root3.将导入的tar包转为镜像dockerimport-cxxx.tarimage_name:tag </div>
                    </li>
                    <li><a href="/article/1943833163788775424.htm"
                           title="麒麟v10arm64自制nginx1.26.1的docker镜像包" target="_blank">麒麟v10arm64自制nginx1.26.1的docker镜像包</a>
                        <span class="text-muted">睡不醒的双眼皮</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                        <div>#基础镜像openeuler2203arm64#1.宿主机下载nginx对应版本编译./configure--prefix=/usr/local/nginx--conf-path=/etc/nginx/nginx.conf&&make&&makeinstall2.#创建构建镜像目录mkdir/opt/dockerfilecp-r/usr/local/nginx/opt/dockerfile/ngi</div>
                    </li>
                    <li><a href="/article/1943830011131785216.htm"
                           title="玩转Docker | 使用Docker部署NotepadMX笔记应用程序" target="_blank">玩转Docker | 使用Docker部署NotepadMX笔记应用程序</a>
                        <span class="text-muted">心随_风动</span>
<a class="tag" taget="_blank" href="/search/%E7%8E%A9%E8%BD%ACDocker/1.htm">玩转Docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/eureka/1.htm">eureka</a>
                        <div>玩转Docker|使用Docker部署NotepadMX笔记应用程序前言一、NotepadMX介绍工具简介主要特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署NotepadMX服务下载NotepadMX镜像编辑部署文件创建容器检查容器状态检查服务端口安全设置四、访问NotepadMX服务访问NotepadMX首页设置访问验证编辑笔记总结前言在如今快节奏的工作与学习中,一</div>
                    </li>
                    <li><a href="/article/1943823454520274944.htm"
                           title="三、【docker】docker和docker-compose的常用命令" target="_blank">三、【docker】docker和docker-compose的常用命令</a>
                        <span class="text-muted"></span>

                        <div>文章目录一、docker常用命令1、镜像管理2、容器管理3、容器监控和调试4、网络管理5、数据卷管理6、系统维护7、实用组合命令8、常用技巧二、docker-compose常用命令1、基本命令2、构建相关3、运行维护4、常用组合命令5、实用参数一、docker常用命令1、镜像管理#查看本地镜像dockerimages#拉取镜像dockerpull:#删除镜像dockerrmi#构建镜像docker</div>
                    </li>
                    <li><a href="/article/1943823452737695744.htm"
                           title="mac挂载阿里云盘做本地盘【webdav-aliyundriver】【CloudMounter】" target="_blank">mac挂载阿里云盘做本地盘【webdav-aliyundriver】【CloudMounter】</a>
                        <span class="text-muted">木有会</span>
<a class="tag" taget="_blank" href="/search/%E6%9D%82%E4%B8%83%E6%9D%82%E5%85%AB/1.htm">杂七杂八</a><a class="tag" taget="_blank" href="/search/%E5%AE%B6%E5%BA%AD%E5%B7%A5%E4%BD%9C%E7%AB%99/1.htm">家庭工作站</a><a class="tag" taget="_blank" href="/search/%E9%BC%93%E6%8D%A3%E9%BC%93%E6%8D%A3/1.htm">鼓捣鼓捣</a>
                        <div>转自:提升工作效率-mac挂载阿里云盘做本地盘webdav-aliyundriver用来把阿里云盘变成本地文件服务器。CloudMounter这个工具可以用来挂载文件服务器当做本地磁盘。webdav-aliyundriver安装:github:https://github.com/messense/aliyundrive-webdav比较喜欢用docker,感觉干净些。下载镜像dockerpull</div>
                    </li>
                    <li><a href="/article/1943794700737638400.htm"
                           title="【ceph】坏盘更换,osd的具体操作" target="_blank">【ceph】坏盘更换,osd的具体操作</a>
                        <span class="text-muted">向往风的男子</span>
<a class="tag" taget="_blank" href="/search/ceph/1.htm">ceph</a><a class="tag" taget="_blank" href="/search/ceph/1.htm">ceph</a>
                        <div>本站以分享各种运维经验和运维所需要的技能为主《python零基础入门》:python零基础入门学习《python运维脚本》:python运维脚本实践《shell》:shell学习《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战《k8》暂未更新《docker学习》暂未更新《ceph学习》ceph日常问题解决分享《日志收集》ELK+各种中间件《运维日常》运维日常《l</div>
                    </li>
                    <li><a href="/article/1943771008292941824.htm"
                           title="微信小程序控制空调之EMQX服务器安装与配置" target="_blank">微信小程序控制空调之EMQX服务器安装与配置</a>
                        <span class="text-muted">今天长脑子了吗</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/ESP32/1.htm">ESP32</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a>
                        <div>目录前言一、EMQX服务器安装与配置1.Windows系统安装(推荐Docker方式)二、MQTTX客户端安装与使用1.下载安装2.连接EMQX服务器三、客户端与服务器通信测试1:MQTTX自收发测试四、安全加固建议(生产环境必做)修改默认密码启用TLS加密IP访问限制常见问题排查总结前言以下是EMQX服务器安装配置、MQTTX客户端使用及通信测试的完整教程,主要Windows平台实现,并附客户端</div>
                    </li>
                    <li><a href="/article/1943762687385202688.htm"
                           title="20250707-3-Kubernetes 核心概念-有了Docker,为什么还用K8s_笔记" target="_blank">20250707-3-Kubernetes 核心概念-有了Docker,为什么还用K8s_笔记</a>
                        <span class="text-muted">Andy杨</span>
<a class="tag" taget="_blank" href="/search/CKA-%E4%B8%93%E6%A0%8F/1.htm">CKA-专栏</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>一、Kubernetes核心概念1.有了Docker,为什么还用Kubernetes1)企业需求独立性问题:Docker容器本质上是独立存在的,多个容器跨主机提供服务时缺乏统一管理机制负载均衡需求:为提高业务并发和高可用,企业会使用多台服务器部署多个容器实例,但Docker本身不具备负载均衡能力管理复杂度:随着Docker主机和容器数量增加,面临部署、升级、监控等统一管理难题运维效率:单机升</div>
                    </li>
                    <li><a href="/article/1943758776741982208.htm"
                           title="20250707-4-Kubernetes 集群部署、配置和验证-K8s基本资源概念初_笔记" target="_blank">20250707-4-Kubernetes 集群部署、配置和验证-K8s基本资源概念初_笔记</a>
                        <span class="text-muted"></span>

                        <div>一、kubeconfig配置文件文件作用:kubectl使用kubeconfig认证文件连接K8s集群生成方式:使用kubectlconfig指令生成核心字段:clusters:定义集群信息,包括证书和服务端地址contexts:定义上下文,关联集群和用户users:定义客户端认证信息current-context:指定当前使用的上下文二、Kubernetes弃用Docker1.弃用背景原因:</div>
                    </li>
                    <li><a href="/article/1943753358779150336.htm"
                           title="麒麟系统离线安装docker" target="_blank">麒麟系统离线安装docker</a>
                        <span class="text-muted"></span>

                        <div>随着CentOS全面停服,国产操作系统会慢慢代替centos系统,在后续的项目中,项目部署的环境都必将是国产操作系统,本文就国产操作系统下如何离线安装docker,做下笔记分享一、材料准备1、国产操作系统麒麟10,arm64v82、dokcer部署包(版本:docker-18.09.tgz)3、部署docker脚本(docker.service),已经启动命令脚本(install.sh)二、编写d</div>
                    </li>
                    <li><a href="/article/1943751844517965824.htm"
                           title="在ARM46+KylinOS下安装配置Docker的详细步骤" target="_blank">在ARM46+KylinOS下安装配置Docker的详细步骤</a>
                        <span class="text-muted">Q_Daniooi</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>目录一、安装前准备(一)环境检查(二)依赖准备二、Docker安装步骤(一)添加Docker官方源(以Debian分支银河麒麟为例,RPM系类似调整)(二)安装Docker引擎(三)启动与基础配置三、Docker优化配置(可选但推荐)(一)镜像加速(二)存储驱动优化四、注意事项(一)系统兼容性(二)网络与镜像源(三)权限与安全(四)ARM架构特殊点五、经常遇见的问题及解决方法六、学习经验分享一、前</div>
                    </li>
                    <li><a href="/article/1943751845583319040.htm"
                           title="银河麒麟V10离线安装Docker" target="_blank">银河麒麟V10离线安装Docker</a>
                        <span class="text-muted">checkQQ</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2%E8%AE%B0%E5%BD%95/1.htm">安装部署记录</a><a class="tag" taget="_blank" href="/search/Devops%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/1.htm">Devops工具使用</a><a class="tag" taget="_blank" href="/search/Liunx%E8%BF%90%E7%BB%B4%E5%B7%A5%E5%85%B7/1.htm">Liunx运维工具</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>场景:内网环境,无法连接公网,需要在麒麟系统部署一个docker环境运行容器。一、准备docker离线安装包:Indexoflinux/static/stable/x86_64/https://download.docker.com/linux/static/stable/x86_64/选择合适的版本,这里个人选择的20.10.14二、上传压缩包到服务器后进行解压tar--strip-compon</div>
                    </li>
                    <li><a href="/article/1943718693351518208.htm"
                           title="SkyWalking实现微服务链路追踪的埋点方案" target="_blank">SkyWalking实现微服务链路追踪的埋点方案</a>
                        <span class="text-muted">MenzilBiz</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/skywalking/1.htm">skywalking</a>
                        <div>SkyWalking实现微服务链路追踪的埋点方案一、SkyWalking简介SkyWalking是一款开源的APM(应用性能监控)系统,特别为微服务、云原生架构和容器化(Docker/Kubernetes)应用而设计。它主要功能包括分布式追踪、服务网格遥测分析、指标聚合和可视化等。SkyWalking支持多种语言(Java、Go、Python等)和协议(HTTP、gRPC等),能够提供端到端的调用</div>
                    </li>
                    <li><a href="/article/1943713525000105984.htm"
                           title="使用Dockerfile构建含私有Maven仓库依赖包的Java容器" target="_blank">使用Dockerfile构建含私有Maven仓库依赖包的Java容器</a>
                        <span class="text-muted"></span>

                        <div>背景需要用JDBC方式访问ArgoDB星环提供了ArgoDBjar包应用将以Container的方式运行我希望打包成镜像之后,镜像启动就能测试连接是否成功连接URL串需要能够传递进去失败的方案一:本地文件导入POMpom.xml配置本地路径com.transwarpinceptor-driver8.31.2system${project.basedir}/lib/inceptor-driver-8</div>
                    </li>
                                <li><a href="/article/94.htm"
                                       title="PHP,安卓,UI,java,linux视频教程合集" target="_blank">PHP,安卓,UI,java,linux视频教程合集</a>
                                    <span class="text-muted">cocos2d-x小菜</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>╔-----------------------------------╗┆                           </div>
                                </li>
                                <li><a href="/article/221.htm"
                                       title="各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。" target="_blank">各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。</a>
                                    <span class="text-muted">bozch</span>
<a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/.net+mvc/1.htm">.net mvc</a>
                                    <div>在.net mvc5中,在执行某一操作的时候,出现了如下错误: 
      各表中的列名必须唯一。在表 'dbo.XXX' 中多次指定了列名 'XXX'。 
经查询当前的操作与错误内容无关,经过对错误信息的排查发现,事故出现在数据库迁移上。 
回想过去: 在迁移之前已经对数据库进行了添加字段操作,再次进行迁移插入XXX字段的时候,就会提示如上错误。  
&</div>
                                </li>
                                <li><a href="/article/348.htm"
                                       title="Java 对象大小的计算" target="_blank">Java 对象大小的计算</a>
                                    <span class="text-muted">e200702084</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>                          Java对象的大小 
 
如何计算一个对象的大小呢? 
 
 
   </div>
                                </li>
                                <li><a href="/article/475.htm"
                                       title="Mybatis Spring" target="_blank">Mybatis Spring</a>
                                    <span class="text-muted">171815164</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a>
                                    <div>ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
CustomerService userService = (CustomerService) ac.getBean("customerService");
Customer cust</div>
                                </li>
                                <li><a href="/article/602.htm"
                                       title="JVM 不稳定参数" target="_blank">JVM 不稳定参数</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a>
                                    <div>        -XX 参数被称为不稳定参数,之所以这么叫是因为此类参数的设置很容易引起JVM 性能上的差异,使JVM 存在极大的不稳定性。当然这是在非合理设置的前提下,如果此类参数设置合理讲大大提高JVM 的性能及稳定性。        可以说“不稳定参数”</div>
                                </li>
                                <li><a href="/article/729.htm"
                                       title="用户自动登录网站" target="_blank">用户自动登录网站</a>
                                    <span class="text-muted">永夜-极光</span>
<a class="tag" taget="_blank" href="/search/%E7%94%A8%E6%88%B7/1.htm">用户</a>
                                    <div>1.目标:实现用户登录后,再次登录就自动登录,无需用户名和密码 
2.思路:将用户的信息保存为cookie 
           每次用户访问网站,通过filter拦截所有请求,在filter中读取所有的cookie,如果找到了保存登录信息的cookie,那么在cookie中读取登录信息,然后直接</div>
                                </li>
                                <li><a href="/article/856.htm"
                                       title="centos7 安装后失去win7的引导记录" target="_blank">centos7 安装后失去win7的引导记录</a>
                                    <span class="text-muted">程序员是怎么炼成的</span>
<a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a>
                                    <div>1.使用root身份(必须)打开 /boot/grub2/grub.cfg 2.找到 ### BEGIN /etc/grub.d/30_os-prober ###   在后面添加    menuentry "Windows 7 (loader) (on /dev/sda1)" { </div>
                                </li>
                                <li><a href="/article/983.htm"
                                       title="Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载" target="_blank">Oracle 10g 官方中文安装帮助文档以及Oracle官方中文教程文档下载</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a>
                                    <div>Oracle 10g 官方中文安装帮助文档下载:http://download.csdn.net/tag/Oracle%E4%B8%AD%E6%96%87API%EF%BC%8COracle%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3%EF%BC%8Coracle%E5%AD%A6%E4%B9%A0%E6%96%87%E6%A1%A3 Oracle 10g 官方中文教程</div>
                                </li>
                                <li><a href="/article/1110.htm"
                                       title="JavaEE开源快速开发平台G4Studio_V3.2发布了" target="_blank">JavaEE开源快速开发平台G4Studio_V3.2发布了</a>
                                    <span class="text-muted">無為子</span>
<a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/javaee/1.htm">javaee</a><a class="tag" taget="_blank" href="/search/G4Studio/1.htm">G4Studio</a>
                                    <div>  
我非常高兴地宣布,今天我们最新的JavaEE开源快速开发平台G4Studio_V3.2版本已经正式发布。大家可以通过如下地址下载。 
  
访问G4Studio网站  
http://www.g4it.org      
G4Studio_V3.2版本变更日志 
功能新增 
(1).新增了系统右下角滑出提示窗口功能。 
(2).新增了文件资源的Zip压缩和解压缩</div>
                                </li>
                                <li><a href="/article/1237.htm"
                                       title="Oracle常用的单行函数应用技巧总结" target="_blank">Oracle常用的单行函数应用技巧总结</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/%E6%97%A5%E6%9C%9F%E5%87%BD%E6%95%B0/1.htm">日期函数</a><a class="tag" taget="_blank" href="/search/%E8%BD%AC%E6%8D%A2%E5%87%BD%E6%95%B0%28%E6%A0%B8%E5%BF%83%29/1.htm">转换函数(核心)</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97%E5%87%BD%E6%95%B0/1.htm">数字函数</a><a class="tag" taget="_blank" href="/search/%E9%80%9A%E7%94%A8%E5%87%BD%E6%95%B0%28%E6%A0%B8%E5%BF%83%29/1.htm">通用函数(核心)</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E5%87%BD%E6%95%B0/1.htm">字符函数</a>
                                    <div>单行函数;   字符函数,数字函数,日期函数,转换函数(核心),通用函数(核心) 
一:字符函数: 
   .UPPER(字符串) 将字符串转为大写
   .LOWER (字符串) 将字符串转为小写 
   .INITCAP(字符串) 将首字母大写
   .LENGTH (字符串) 字符串的长度
   .REPLACE(字符串,'A','_') 将字符串字符A转换成_
</div>
                                </li>
                                <li><a href="/article/1364.htm"
                                       title="Mockito异常测试实例" target="_blank">Mockito异常测试实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a><a class="tag" taget="_blank" href="/search/mockito/1.htm">mockito</a>
                                    <div>Mockito异常测试实例: 
package com.bijian.study;

import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

import org.junit.Assert;
import org.junit.Test;

import org.mockito.</div>
                                </li>
                                <li><a href="/article/1491.htm"
                                       title="GA与量子恒道统计" target="_blank">GA与量子恒道统计</a>
                                    <span class="text-muted">Bill_chen</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">浏览器</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6/1.htm">百度</a><a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a><a class="tag" taget="_blank" href="/search/%E9%98%B2%E7%81%AB%E5%A2%99/1.htm">防火墙</a>
                                    <div>前一阵子,统计**网址时,Google Analytics(GA) 和量子恒道统计(也称量子统计),数据有较大的偏差,仔细找相关资料研究了下,总结如下: 
  
为何GA和量子网站统计(量子统计前身为雅虎统计)结果不同? 
首先:没有一种网站统计工具能保证百分之百的准确出现该问题可能有以下几个原因:(1)不同的统计分析系统的算法机制不同;(2)统计代码放置的位置和前后</div>
                                </li>
                                <li><a href="/article/1618.htm"
                                       title="【Linux命令三】Top命令" target="_blank">【Linux命令三】Top命令</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/linux%E5%91%BD%E4%BB%A4/1.htm">linux命令</a>
                                    <div>Linux的Top命令类似于Windows的任务管理器,可以查看当前系统的运行情况,包括CPU、内存的使用情况等。如下是一个Top命令的执行结果: 
  
  
top - 21:22:04 up 1 day, 23:49, 1 user, load average: 1.10, 1.66, 1.99
Tasks: 202 total,   4 running, 198 sl</div>
                                </li>
                                <li><a href="/article/1745.htm"
                                       title="spring四种依赖注入方式" target="_blank">spring四种依赖注入方式</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>   平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化,而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入的另一种说法是“控制反转”,通俗的理解是:平常我们new一个实例,这个实例的控制权是我</div>
                                </li>
                                <li><a href="/article/1872.htm"
                                       title="angular.injector" target="_blank">angular.injector</a>
                                    <span class="text-muted">boyitech</span>
<a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/AngularJS+API/1.htm">AngularJS API</a>
                                    <div>angular.injector 
   描述:   创建一个injector对象, 调用injector对象的方法可以获得angular的service, 或者用来做依赖注入.        使用方法:   angular.injector(modules, [strictDi])        参数详解:      Param Type Details   mod</div>
                                </li>
                                <li><a href="/article/1999.htm"
                                       title="java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待" target="_blank">java-同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/Integer/1.htm">Integer</a>
                                    <div>

public class PC {

	/**
	 * 题目:生产者-消费者。
	 * 同步访问一个数组Integer[10],生产者不断地往数组放入整数1000,数组满时等待;消费者不断地将数组里面的数置零,数组空时等待。
	 */
	
	private static final Integer[] val=new Integer[10];
	private static</div>
                                </li>
                                <li><a href="/article/2126.htm"
                                       title="使用Struts2.2.1配置" target="_blank">使用Struts2.2.1配置</a>
                                    <span class="text-muted">Chen.H</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a>
                                    <div>Struts2.2.1 需要如下 jar包: commons-fileupload-1.2.1.jar commons-io-1.3.2.jar commons-logging-1.0.4.jar freemarker-2.3.16.jar javassist-3.7.ga.jar ognl-3.0.jar spring.jar 
struts2-core-2.2.1.jar struts2-sp</div>
                                </li>
                                <li><a href="/article/2253.htm"
                                       title="[职业与教育]青春之歌" target="_blank">[职业与教育]青春之歌</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E6%95%99%E8%82%B2/1.htm">教育</a>
                                    <div> 
 
       每个人都有自己的青春之歌............但是我要说的却不是青春... 
 
       大家如果在自己的职业生涯没有给自己以后创业留一点点机会,仅仅凭学历和人脉关系,是难以在竞争激烈的市场中生存下去的.... 
 
  &nbs</div>
                                </li>
                                <li><a href="/article/2380.htm"
                                       title="oracle连接(join)中使用using关键字" target="_blank">oracle连接(join)中使用using关键字</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/JOIN/1.htm">JOIN</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/using/1.htm">using</a>
                                    <div>在oracle连接(join)中使用using关键字 
34. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables. 
Evaluate the following SQL statement: 
SELECT oi.order_id, product_id, order_date 
FRO</div>
                                </li>
                                <li><a href="/article/2507.htm"
                                       title="NIO示例" target="_blank">NIO示例</a>
                                    <span class="text-muted">daysinsun</span>
<a class="tag" taget="_blank" href="/search/nio/1.htm">nio</a>
                                    <div>NIO服务端代码: 
 

public class NIOServer {
	
	private Selector selector;

	
	public void startServer(int port) throws IOException {

		ServerSocketChannel serverChannel = ServerSocketChannel.open(</div>
                                </li>
                                <li><a href="/article/2634.htm"
                                       title="C语言学习homework1" target="_blank">C语言学习homework1</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/homework/1.htm">homework</a>
                                    <div>0、 课堂练习做完 
1、使用sizeof计算出你所知道的所有的类型占用的空间。 
int x; 
sizeof(x); 
  
sizeof(int); 
  
# include <stdio.h>

int main(void)
{
	int x1;
	char x2;
	double x3;
	float x4;

	printf(&quo</div>
                                </li>
                                <li><a href="/article/2761.htm"
                                       title="select in order by , mysql排序" target="_blank">select in order by , mysql排序</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>If i select like this: 
SELECT id FROM users WHERE id IN(3,4,8,1); 
This by default will select users in this order 
1,3,4,8, 
I would like to select them in the same order that i put IN() values so: </div>
                                </li>
                                <li><a href="/article/2888.htm"
                                       title="页面校验-新建项目" target="_blank">页面校验-新建项目</a>
                                    <span class="text-muted">fanxiaolong</span>
<a class="tag" taget="_blank" href="/search/%E9%A1%B5%E9%9D%A2%E6%A0%A1%E9%AA%8C/1.htm">页面校验</a>
                                    <div>$(document).ready(
	function() {
			var flag = true;
		$('#changeform').submit(function() {
			var projectScValNull = true;
			var s ="";
			var parent_id = $("#parent_id").v</div>
                                </li>
                                <li><a href="/article/3015.htm"
                                       title="Ehcache(02)——ehcache.xml简介" target="_blank">Ehcache(02)——ehcache.xml简介</a>
                                    <span class="text-muted">234390216</span>
<a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/ehcache.xml/1.htm">ehcache.xml</a><a class="tag" taget="_blank" href="/search/%E7%AE%80%E4%BB%8B/1.htm">简介</a>
                                    <div>ehcache.xml简介 
  
       ehcache.xml文件是用来定义Ehcache的配置信息的,更准确的来说它是定义CacheManager的配置信息的。根据之前我们在《Ehcache简介》一文中对CacheManager的介绍我们知道一切Ehcache的应用都是从CacheManager开始的。在不指定配置信</div>
                                </li>
                                <li><a href="/article/3142.htm"
                                       title="junit 4.11中三个新功能" target="_blank">junit 4.11中三个新功能</a>
                                    <span class="text-muted">jackyrong</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>junit 4.11中两个新增的功能,首先是注解中可以参数化,比如 
 
 


import static org.junit.Assert.assertEquals;
 
import java.util.Arrays;
 
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runn</div>
                                </li>
                                <li><a href="/article/3269.htm"
                                       title="国外程序员爱用苹果Mac电脑的10大理由" target="_blank">国外程序员爱用苹果Mac电脑的10大理由</a>
                                    <span class="text-muted">php教程分享</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a><a class="tag" taget="_blank" href="/search/Microsoft/1.htm">Microsoft</a><a class="tag" taget="_blank" href="/search/perl/1.htm">perl</a>
                                    <div>Mac 在国外很受欢迎,尤其是在 设计/web开发/IT 人员圈子里。普通用户喜欢 Mac 可以理解,毕竟 Mac 设计美观,简单好用,没有病毒。那么为什么专业人士也对 Mac 情有独钟呢?从个人使用经验来看我想有下面几个原因: 
1、Mac OS X 是基于 Unix 的 
这一点太重要了,尤其是对开发人员,至少对于我来说很重要,这意味着Unix 下一堆好用的工具都可以随手捡到。如果你是个 wi</div>
                                </li>
                                <li><a href="/article/3396.htm"
                                       title="位运算、异或的实际应用" target="_blank">位运算、异或的实际应用</a>
                                    <span class="text-muted">wenjinglian</span>
<a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a>
                                    <div>一. 位操作基础,用一张表描述位操作符的应用规则并详细解释。 
      二. 常用位操作小技巧,有判断奇偶、交换两数、变换符号、求绝对值。 
      三. 位操作与空间压缩,针对筛素数进行空间压缩。 
   &n</div>
                                </li>
                                <li><a href="/article/3523.htm"
                                       title="weblogic部署项目出现的一些问题(持续补充中……)" target="_blank">weblogic部署项目出现的一些问题(持续补充中……)</a>
                                    <span class="text-muted">Everyday都不同</span>
<a class="tag" taget="_blank" href="/search/weblogic%E9%83%A8%E7%BD%B2%E5%A4%B1%E8%B4%A5/1.htm">weblogic部署失败</a>
                                    <div>好吧,weblogic的问题确实…… 
  
问题一: 
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [zip:E:/weblogic/user_projects/domains/base_domain/serve</div>
                                </li>
                                <li><a href="/article/3650.htm"
                                       title="tomcat7性能调优(01)" target="_blank">tomcat7性能调优(01)</a>
                                    <span class="text-muted">toknowme</span>
<a class="tag" taget="_blank" href="/search/tomcat7/1.htm">tomcat7</a>
                                    <div>  
    
Tomcat优化:   1、最大连接数最大线程等设置    
<Connector port="8082" protocol="HTTP/1.1" 
               useBodyEncodingForURI="t</div>
                                </li>
                                <li><a href="/article/3777.htm"
                                       title="PO VO DAO DTO BO TO概念与区别" target="_blank">PO VO DAO DTO BO TO概念与区别</a>
                                    <span class="text-muted">xp9802</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/%E9%A2%86%E5%9F%9F%E6%A8%A1%E5%9E%8B/1.htm">领域模型</a>
                                    <div>O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有两个基本的也是重要的东东需要了解,即VO,PO。 
它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(指的是他们的属性)。这样,PO独立出来,数据持</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>