<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://pic1.liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://pic1.liuxinxiu.com:80/s/314/</link>
<title><![CDATA[docker自动导入镜像]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[虚拟化]]></category>
<pubDate>Sat, 03 Jun 2023 03:40:29 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/314/</guid> 
<description>
<![CDATA[ 
	<p><span style="color: rgb(0, 0, 255);">vi /sh/scp-docker.sh</span></p><p><strong>#### 同步远程的docker镜像自动装载</strong></p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>cd /data/backup &amp;&amp;&nbsp;&nbsp;</span></span></li><li><span>scp root@172.16.207.22:/data/backup/* ./ &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>docker stop nginx-nodejs-redis:v2b &amp;&amp;&nbsp;&nbsp;</span></li><li><span>docker rm nginx-nodejs-redis:v2b &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>docker stop jenkins-rsync:v2b &amp;&amp;&nbsp;&nbsp;</span></li><li><span>docker rm jenkins-rsync:v2b &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>docker rmi nginx-nodejs-redis:v2b &amp;&amp;&nbsp;&nbsp;</span></li><li><span>docker rmi jenkins-rsync:v2b &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>docker image load -i jenkins-rsync-v2b.tgz &amp;&amp;&nbsp;&nbsp;</span></li><li><span>docker image load -i nginx-nodejs-redis-v2b.tgz &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>rm -rf /data/apps &amp;&amp;&nbsp;&nbsp;</span></li><li><span>mkdir -p /data/apps/nginx/htdocs &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>mkdir -p /data/apps/redis/htdocs &amp;&amp;&nbsp;&nbsp;</span></li><li><span>mkdir -p /data/apps/rsync/www &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>mkdir -p /data/apps/nodejs/htdocs/nest/KTM/dist &amp;&amp;&nbsp;&nbsp;</span></li><li><span>mkdir -p /data/apps/nodejs/htdocs/nest/KTM/<span class="keyword">public</span><span> &amp;&amp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>mkdir -p /data/apps/nodejs/htdocs/nest/do_nest/<span class="keyword">public</span><span>/www &amp;&amp;&nbsp;&nbsp;</span></span></li><li><span>mkdir -p /data/apps/nodejs/htdocs/nest/other &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>docker run &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-u root &#92;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-p 80:80 &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-p 8080:80 &#92;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-p 3000:3000 &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-p 6379:6379 &#92;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/nginx/htdocs:/data/nginx/htdocs &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/redis/htdocs:/data/redis/htdocs &#92;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/rsync:/data/rsync &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/nodejs/htdocs/nest/KTM/dist:/data/nodejs/htdocs/nest/KTM/dist &#92;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/nodejs/htdocs/nest/KTM/<span class="keyword">public</span><span>:/data/nodejs/htdocs/nest/KTM/</span><span class="keyword">public</span><span> &#92;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/nodejs/htdocs/nest/do_nest/<span class="keyword">public</span><span>/www:/data/nodejs/htdocs/nest/do_nest/</span><span class="keyword">public</span><span>/www &#92;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/nodejs/htdocs/nest/other:/data/nodejs/htdocs/nest/other &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;--privileged=<span class="keyword">true</span><span> &#92;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;--name=nginx-nodejs-redis-v2b &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-d --restart=always nginx-nodejs-redis:v2b &amp;&amp;&nbsp;&nbsp;</span></li><li class="alt"><span>docker run -p 4440:8080 -p 5000:5000 -p 8730:873 &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-u root &#92;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;--name=jenkins-rsync-v2b &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;--privileged=<span class="keyword">true</span><span> &#92;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /etc/localtime:/etc/localtime &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/jenkins_home:/data/jenkins &#92;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;-v /data/apps/rsync/www:/data/rsync/www &#92;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;-d --restart=always jenkins-rsync:v2b&nbsp;&nbsp;</span></li></ol></div><p><strong>### 重启定时器服务</strong></p><p>chmod 755 /sh/scp-docker.sh</p><p>systemctl restart crond</p><p><strong>### 编辑和查看定时器配置</strong></p><p>crontab -e</p><p>crontab -l</p><p><strong>### 每天的2:10重启smb</strong></p><p>10 2 * * * /sh/scp-docker.sh</p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/311/</link>
<title><![CDATA[docker对已经启动的容器添加目录映射(挂载目录)]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[虚拟化]]></category>
<pubDate>Sat, 03 Jun 2023 03:27:05 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/311/</guid> 
<description>
<![CDATA[ 
	<p>查看某个容器的详细信息</p><p>docker inspect 657f23bba0c6</p><p>进入默认容器的配置文件目录</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>cd&nbsp;/var/lib/docker/containers/657f23bba0c6ddc002c0b2f57c23edd36be742f9777f5ed9b755538085c419b0&nbsp;&nbsp;</span></span></li></ol></div><p>我们将要修改的文件就是config.v2.json和hostconfig.json</p><p><strong>修改config.v2.json</strong></p><p>调出冒号命令，输入如下（这里注意，shift+：），%!python -m json.tool</p><p>====================================</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="string">&quot;MountPoints&quot;</span><span>:&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;...,&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;/data/rsync&quot;</span><span>:&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Destination&quot;</span><span>:&nbsp;</span><span class="string">&quot;/data/rsync&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Driver&quot;</span><span>:&nbsp;</span><span class="string">&quot;&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Name&quot;</span><span>:&nbsp;</span><span class="string">&quot;&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Propagation&quot;</span><span>:&nbsp;</span><span class="string">&quot;rprivate&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;RW&quot;</span><span>:&nbsp;</span><span class="keyword">true</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;SkipMountpointCreation&quot;</span><span>:&nbsp;</span><span class="keyword">false</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Source&quot;</span><span>:&nbsp;</span><span class="string">&quot;/data/apps/rsync&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Spec&quot;</span><span>:&nbsp;&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Source&quot;</span><span>:&nbsp;</span><span class="string">&quot;/data/apps/rsync&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Target&quot;</span><span>:&nbsp;</span><span class="string">&quot;/data/rsync&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Type&quot;</span><span>:&nbsp;</span><span class="string">&quot;bind&quot;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;,&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;Type&quot;</span><span>:&nbsp;</span><span class="string">&quot;bind&quot;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&#125;&nbsp;&nbsp;</span></li></ol></div><p>&nbsp;</p><p><strong>修改hostconfig.json</strong></p><p>调出冒号命令，输入如下（这里注意，shift+：），%!python -m json.tool</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="string">&quot;AutoRemove&quot;</span><span>:&nbsp;</span><span class="keyword">false</span><span>,&nbsp;&nbsp;</span></span></li><li><span><span class="string">&quot;Binds&quot;</span><span>:&nbsp;[&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;/data/apps/nginx/htdocs:/data/nginx/htdocs&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;/data/apps/redis/htdocs:/data/redis/htdocs&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;/data/apps/nodejs/htdocs/nest/other:/data/nodejs/htdocs/nest/other&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;/data/apps/nodejs/htdocs/nest/do_nest/public/www:/data/nodejs/htdocs/nest/do_nest/public/www&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;/data/apps/nodejs/htdocs/nest/KTM/dist:/data/nodejs/htdocs/nest/KTM/dist&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;/data/apps/nodejs/htdocs/nest/KTM/public:/data/nodejs/htdocs/nest/KTM/public&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;/data/apps/rsync:/data/rsync&quot;</span><span>&nbsp;&nbsp;</span></span></li><li><span>],&nbsp;&nbsp;</span></li></ol></div><p><strong>&nbsp;先关闭docker服务</strong></p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>systemctl&nbsp;start&nbsp;docker&nbsp;&nbsp;</span></span></li><li><span>systemctl&nbsp;stop&nbsp;docker&nbsp;&nbsp;</span></li><li class="alt"><span>systemctl&nbsp;stop&nbsp;docker.socket&nbsp;&nbsp;</span></li><li><span>systemctl&nbsp;enable&nbsp;docker.service&nbsp;&nbsp;</span></li></ol></div><p>&nbsp;</p><div>&nbsp;</div>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/ESXI_OVF_/</link>
<title><![CDATA[vmware 4.1版本物理机部署6.0版本OVF模板 报“硬件系列vmx-11不受支持“的解决办法]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[虚拟化]]></category>
<pubDate>Thu, 22 Jun 2017 05:17:11 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/ESXI_OVF_/</guid> 
<description>
<![CDATA[ 
	<p>&nbsp;<span style="color: rgb(51, 51, 51); font-family: Arial;">问题背景，从vmware6.0版本的物理机上导出虚拟机ovf模板后，导入到4.1版本物理机上时报错：&ldquo;硬件系列vmx-11不受支持&rdquo;。</span></p><p style="color: rgb(51, 51, 51); font-family: Arial;">1.打开xxx.ovf文件，将&lt;vssd:VirtualSystemType&gt;vmx-11&lt;/vssd:VirtualSystemType&gt; 改成物理机支持的版本：&lt;vssd:VirtualSystemType&gt;vmx-7&lt;/vssd:VirtualSystemType&gt;&nbsp;</p><p style="color: rgb(51, 51, 51); font-family: Arial;">2.打开xxx.mf文件，将对VOF引用的哪一行删掉，不然 在部署的时候会报<span style="font-family: Arial, Helvetica, sans-serif, &quot;;color:#333333;Bitstream Vera Sans&quot;;">文件&nbsp;</span><span style="font-family: &quot;;color:#333333;Courier New&quot;;">xxxx.ovf&nbsp;</span><span style="font-family: Arial, Helvetica, sans-serif, &quot;;color:#333333;Bitstream Vera Sans&quot;;">的完整性检查失败，可能在传输过程中已损坏。</span></p><p><span style="color: rgb(51, 51, 51); font-family: Arial;">删掉 SHA1(xxx.ovf)= f801b24cd5f664a9f3f88810b87e0080fb5bf29f</span></p>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/s/283/</link>
<title><![CDATA[Docker v17.04.0-ce-rc1 发布，应用容器引擎]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[虚拟化]]></category>
<pubDate>Wed, 14 Jun 2017 02:51:35 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/s/283/</guid> 
<description>
<![CDATA[ 
	<p><span style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;">Docker v17.04.0-ce-rc1 发布了，并将于 2017-04-05 发布 17.04.0-ce&nbsp;&nbsp;版本。本次更新内容如下：</span></p><h3 style="padding: 0px; margin: 0px; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;">Client</h3><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Sort docker stack ls by name <a href="https://github.com/docker/docker/pull/31085" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31085</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Flags for specifying bind mount consistency <a href="https://github.com/docker/docker/pull/31047" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31047</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Suppressing image digest in docker ps <a href="https://github.com/docker/docker/pull/30848" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30848</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Hide command options that are related to Windows <a href="https://github.com/docker/docker/pull/30788" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30788</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Fix docker plugin install prompt to accept &quot;enter&quot; for the &quot;N&quot; default <a href="https://github.com/docker/docker/pull/30769" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30769</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add truncate function for Go templates <a href="https://github.com/docker/docker/pull/30484" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30484</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Support expanded syntax of ports in stack deploy <a href="https://github.com/docker/docker/pull/30476" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30476</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Support expanded syntax of mounts in stack deploy <a href="https://github.com/docker/docker/pull/30597" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30597</a> <a href="https://github.com/docker/docker/pull/31795" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31795</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add --add-host for docker build <a href="https://github.com/docker/docker/pull/30383" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30383</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add .CreatedAt placeholder for docker network ls --format <a href="https://github.com/docker/docker/pull/29900" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29900</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Update order of --secret-rm and --secret-add <a href="https://github.com/docker/docker/pull/29802" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29802</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Fix use of **/ in .dockerignore <a href="https://github.com/docker/docker/pull/29043" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29043</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add --filter enabled=true for docker plugin ls <a href="https://github.com/docker/docker/pull/28627" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#28627</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add --format to docker service ls <a href="https://github.com/docker/docker/pull/28199" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#28199</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add publish and expose filter for docker ps --filter <a href="https://github.com/docker/docker/pull/27557" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#27557</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Support multiple service IDs on docker service ps <a href="https://github.com/docker/docker/pull/25234" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#25234</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Allow swarm join with --availability=drain <a href="https://github.com/docker/docker/pull/24993" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#24993</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Removal of the email from docker login <a href="https://github.com/docker/docker/pull/26868" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#26868</a></p></li></ul><h3 style="padding: 0px; margin: 0px; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;">Networking</h3><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Check parameter --ip, --ip6 and --link-local-ip in docker network connect <a href="https://github.com/docker/docker/pull/30807" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30807</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Added support for dns-search <a href="https://github.com/docker/docker/pull/30117" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30117</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Added --verbose option for docker network inspect to show task details from all swarm nodes <a href="https://github.com/docker/docker/pull/31710" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31710</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Clear stale datapath encryption states when joining the cluster <a href="https://github.com/docker/libnetwork/pull/1354" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/libnetwork#1354</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Ensure iptables initialization only happens once <a href="https://github.com/docker/libnetwork/pull/1676" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/libnetwork#1676</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Fix bad order of iptables filter rules <a href="https://github.com/docker/libnetwork/pull/961" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/libnetwork#961</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add anonymous container alias to service record on attachable network <a href="https://github.com/docker/libnetwork/pull/1651" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/libnetwork#1651</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Support for com.docker.network.container_interface_prefix driver label <a href="https://github.com/docker/libnetwork/pull/1667" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/libnetwork#1667</a></p></li></ul><h3 style="padding: 0px; margin: 0px; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;">Runtime</h3><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Handle paused container when restoring without live-restore set <a href="https://github.com/docker/docker/pull/31704" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31704</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Do not allow sub second in healthcheck options in Dockerfile <a href="https://github.com/docker/docker/pull/31177" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31177</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Support name and id prefix in secret update <a href="https://github.com/docker/docker/pull/30856" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30856</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Use binary frame for websocket attach endpoint <a href="https://github.com/docker/docker/pull/30460" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30460</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Fix linux mount calls not applying propagation type changes <a href="https://github.com/docker/docker/pull/30416" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30416</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Fix ExecIds leak on failed exec -i <a href="https://github.com/docker/docker/pull/30340" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30340</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Prune named but untagged images if danglingOnly=true <a href="https://github.com/docker/docker/pull/30330" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30330</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add daemon flag to set no_new_priv as default for unprivileged containers <a href="https://github.com/docker/docker/pull/29984" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29984</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add daemon option --default-shm-size <a href="https://github.com/docker/docker/pull/29692" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29692</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Support registry mirror config reload <a href="https://github.com/docker/docker/pull/29650" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29650</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Ignore the daemon log config when building images <a href="https://github.com/docker/docker/pull/29552" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29552</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Move secret name or ID prefix resolving from client to daemon <a href="https://github.com/docker/docker/pull/29218" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29218</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Implement optional ring buffer for container logs <a href="https://github.com/docker/docker/pull/28762" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#28762</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Allow adding rules to cgroup devices.allow on container create/run <a href="https://github.com/docker/docker/pull/22563" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#22563</a></p></li></ul><h3 style="padding: 0px; margin: 0px; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;">Swarm Mode</h3><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Topology-aware scheduling <a href="https://github.com/docker/docker/pull/30725" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30725</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Automatic service rollback on failure <a href="https://github.com/docker/docker/pull/31108" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31108</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Worker and manager on the same node are now connected through a UNIX socket <a href="https://github.com/docker/swarmkit/pull/1828" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/swarmkit#1828</a>, <a href="https://github.com/docker/swarmkit/pull/1850" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/swarmkit#1850</a>, <a href="https://github.com/docker/swarmkit/pull/1851" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/swarmkit#1851</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Improve raft transport package <a href="https://github.com/docker/swarmkit/pull/1748" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/swarmkit#1748</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">No automatic manager shutdown on demotion/removal <a href="https://github.com/docker/swarmkit/pull/1829" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/swarmkit#1829</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Use TransferLeadership to make leader demotion safer <a href="https://github.com/docker/swarmkit/pull/1939" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/swarmkit#1939</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Decrease default monitoring period <a href="https://github.com/docker/swarmkit/pull/1967" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">docker/swarmkit#1967</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add Service logs formatting <a href="https://github.com/docker/docker/pull/31672" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31672</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Fix service logs API to be able to specify stream <a href="https://github.com/docker/docker/pull/31313" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31313</a></p></li></ul><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add --stop-signal for service create and service update <a href="https://github.com/docker/docker/pull/30754" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30754</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Add --read-only for service create and service update <a href="https://github.com/docker/docker/pull/30162" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#30162</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Renew the context after communicating with the registry <a href="https://github.com/docker/docker/pull/31586" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31586</a></p></li></ul><h3 style="padding: 0px; margin: 0px; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;">Windows</h3><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;"><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Wait for OOBE to prevent crashing during host update <a href="https://github.com/docker/docker/pull/31054" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#31054</a></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Block pulling Windows images on non-Windows daemons <a href="https://github.com/docker/docker/pull/29001" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">#29001</a></p></li></ul><h3 style="padding: 0px; margin: 0px; color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma;">下载</h3><ul style="margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style: none;"><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">deb/rpm install: curl -fsSL https://test.docker.com/ &#124; sh</p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Linux 64bits tgz: <a href="https://test.docker.com/builds/Linux/x86_64/docker-17.04.0-ce-rc1.tgz" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">https://test.docker.com/builds/Linux/x86_64/docker-17.04.0-ce-rc1.tgz</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Darwin/OSX 64bits client tgz: <a href="https://test.docker.com/builds/Darwin/x86_64/docker-17.04.0-ce-rc1.tgz" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">https://test.docker.com/builds/Darwin/x86_64/docker-17.04.0-ce-rc1.tgz</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Linux 32bits arm tgz: <a href="https://test.docker.com/builds/Linux/armel/docker-17.04.0-ce-rc1.tgz" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">https://test.docker.com/builds/Linux/armel/docker-17.04.0-ce-rc1.tgz</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Windows 64bits zip: <a href="https://test.docker.com/builds/Windows/x86_64/docker-17.04.0-ce-rc1.zip" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">https://test.docker.com/builds/Windows/x86_64/docker-17.04.0-ce-rc1.zip</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">Windows 32bits client zip: <a href="https://test.docker.com/builds/Windows/i386/docker-17.04.0-ce-rc1.zip" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">https://test.docker.com/builds/Windows/i386/docker-17.04.0-ce-rc1.zip</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;"><a href="https://github.com/docker/docker/archive/v17.04.0-ce-rc1.zip" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">Source code (zip)</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;"><a href="https://github.com/docker/docker/archive/v17.04.0-ce-rc1.tar.gz" style="padding: 0px; margin: 0px; color: rgb(37, 110, 177); text-decoration: none;">Source code (tar.gz)</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><h2 style="margin: 0px; padding: 0px; border: 0px; font-size: 24px; line-height: 36px; font-family: Ubuntu, sans-serif; color: rgb(64, 64, 64); letter-spacing: -2px;">What does el5, el6, and el7 mean?</h2></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;"><font color="#333333" face="Verdana, Arial, Tahoma">EL is short for Red Hat Enterprise Linux (EL).</font></p><p style="margin-bottom: 0px;"><font color="#333333" face="Verdana, Arial, Tahoma">EL6 is the download for Red Hat 6.x, CentOS 6.x, and CloudLinux 6.x.</font></p><p style="margin-bottom: 0px;"><font color="#333333" face="Verdana, Arial, Tahoma">EL5 is the download for Red Hat 5.x, CentOS 5.x, CloudLinux 5.x.</font></p><p style="margin-bottom: 0px;"><font color="#333333" face="Verdana, Arial, Tahoma">EL7 is the download for Red Hat 7.x, CentOS 7.x, and CloudLinux 7.x.</font></p><p style="margin-bottom: 0px;"><font color="#333333" face="Verdana, Arial, Tahoma">The UNIXy Varnish Plugins run on all the above platforms.</font></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">&nbsp;</p><h2 style="margin: 0px; padding: 0px; border: 0px; font-size: 24px; line-height: 36px; font-family: Ubuntu, sans-serif; color: rgb(64, 64, 64); letter-spacing: -2px;">RC ?</h2></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;"><font color="#333333" face="Verdana, Arial, Tahoma">RC=Release Candidate,含义是&rdquo;发布候选版&rdquo;，它不是最终的版本，而是最终版(RTM=Release To Manufacture)之前的最后一个版本。广义上对测试有三个传统的称呼：alpha、beta、gamma，用来标识测试的阶段和范围。alpha 是指内测，即现在说的CB，指开发团队内部测试的版本或者有限用户体验测试版本。beta 是指公测，即针对所有用户公开的测试版本。然后做过一些修改，成为正式发布的候选版本时叫做gamma，现在叫做RC（Release Candidate）。</font></p></li><li style="padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">&nbsp;</p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">官网tar.gz下载:<a href="https://download.docker.com/linux/static/stable/x86_64/" target="_blank">https://download.docker.com/linux/static/stable/x86_64/</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">&nbsp;</p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><p style="margin-bottom: 0px;">官网安装教程：<a href="https://docs.docker.com/engine/installation/linux/centos/#install-from-a-package" target="_blank">https://docs.docker.com/engine/installation/linux/centos/#install-from-a-package</a></p></li><li style="color: rgb(51, 51, 51); font-family: Verdana, Arial, Tahoma; padding: 0px; margin: 0px;"><h2 style="box-sizing: border-box; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; line-height: 1.1; margin: 33px 0px; font-size: 2.8rem;">下载</h2><ul style="box-sizing: border-box; margin: 20px; font-size: 16px; line-height: 26px; list-style: initial; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;"><li style="box-sizing: border-box;"><a href="https://github.com/docker/docker/archive/v17.04.0-ce-rc1.zip" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: rgb(238, 110, 80) !important;"><span style="box-sizing: border-box; font-weight: 700;">Source code</span> (zip)</a></li><li style="box-sizing: border-box;"><a href="https://github.com/docker/docker/archive/v17.04.0-ce-rc1.tar.gz" rel="nofollow" style="box-sizing: border-box; background-color: transparent; color: rgb(238, 110, 80) !important;"><span style="box-sizing: border-box; font-weight: 700;">Source code</span> (tar.gz)</a></li></ul></li></ul>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/Docker/</link>
<title><![CDATA[Docker重大更新，2017-03-02版本升至17.03，包名仓库全换]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[虚拟化]]></category>
<pubDate>Mon, 12 Jun 2017 06:03:10 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/Docker/</guid> 
<description>
<![CDATA[ 
	<p><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">3月2日，Docker 官方发布了一篇 </span><a href="https://blog.docker.com/2017/03/docker-enterprise-edition/" target="_blank" style="color: rgb(34, 34, 156); text-decoration: none; font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">blog</a><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);"> ，宣布企业版到来。版本也从1.13.x一跃到17.03。</span><br style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);" /><br style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);" /><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">之后，Docker 会每月发布一个 edge 版本(17.03, 17.04, 17.05...)，每三个月发布一个 stable 版本(17.03, 17.06, 17.09...)，企业版(EE) 和 stable 版本号保持一致，但每个版本提供一年维护。</span><br style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);" /><br style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);" /><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">Docker 的 Linux 发行版的软件仓库也从以前的</span><a href="https://apt.dockerproject.org/" target="_blank" style="color: rgb(34, 34, 156); text-decoration: none; font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">https://apt.dockerproject.org</a><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);"> / </span><a href="https://yum.dockerproject.org/" target="_blank" style="color: rgb(34, 34, 156); text-decoration: none; font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">https://yum.dockerproject.org</a><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);"> 变更为目前的 </span><a href="https://download.docker.com/" target="_blank" style="color: rgb(34, 34, 156); text-decoration: none; font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">https://download.docker.com/</a><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">。软件包名变更为 docker-ce(社区版) 和 docker-ee(企业版)。</span><br style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);" /><br style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);" /><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">旧的仓库和包名(docker-engine)依旧可以使用，但不确定什么时候会被废弃，docker-engine 的版本号也变成了17.03.0~ce-0这种的版本号。</span><br style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);" /><br style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);" /><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">Docker v17.03.0-ce 版本更新内容和下载地址请查看</span><a href="https://github.com/docker/docker/releases" target="_blank" style="color: rgb(34, 34, 156); text-decoration: none; font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">发行日志</a><span style="font-family: Geneva, Arial, Helvetica, sans-serif; background-color: rgb(249, 249, 249);">。</span></p><p><span style="color: rgb(255, 0, 0);"><strong>Docker的网络模式和跨主机通信(Docker的四种网络模式Bridge模式)</strong></span></p><p>当Docker进程启动时，会在主机上创建一个名为docker0...</p><p>Docker的四种网络模式</p><p><strong>1. Bridge模式</strong></p><p>当Docker进程启动时，会在主机上创建一个名为docker0的虚拟网桥，此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似，这样主机上的所有容器就通过交换机连在了一个二层网络中。</p><p>从docker0子网中分配一个IP给容器使用，并设置docker0的IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备，Docker将veth pair设备的一端放在新创建的容器中，并命名为eth0（容器的网卡），另一端放在主机中，以vethxxx这样类似的名字命名，并将这个网络设备加入到docker0网桥中。可以通过brctl show命令查看。</p><p>bridge模式是docker的默认网络模式，不写--net参数，就是bridge模式。使用docker run -p时，docker实际是在iptables做了DNAT规则，实现端口转发功能。可以使用iptables -t nat -vnL查看。</p><p>&nbsp;</p><p>bridge模式如下图所示：</p><p><a href="http://at.liuxinxiu.com/2017/06/image/docker-01.png" target="_blank"><img src="http://at.liuxinxiu.com/2017/06/image/docker-01.png" width="800" height="919" alt="" /></a>演示：</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="preprocessor">#docker&nbsp;run&nbsp;-tid&nbsp;--net=bridge&nbsp;--name&nbsp;docker_bri1&nbsp;ubuntu-base:v3</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="preprocessor">#docker&nbsp;run&nbsp;-tid&nbsp;--net=bridge&nbsp;--name&nbsp;docker_bri2&nbsp;ubuntu-base:v3</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="preprocessor">#brctl&nbsp;show</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="preprocessor">#docker&nbsp;exec&nbsp;-ti&nbsp;docker_bri1&nbsp;/bin/bash</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="preprocessor">#docker&nbsp;exec&nbsp;-ti&nbsp;docker_bri1&nbsp;/bin/bash</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="preprocessor">#ifconfig&nbsp;&ndash;a</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="preprocessor">#route&nbsp;&ndash;n</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p><strong>2. Host模式</strong></p><p>如果启动容器的时候使用host模式，那么这个容器将不会获得一个独立的Network Namespace，而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡，配置自己的IP等，而是使用宿主机的IP和端口。但是，容器的其他方面，如文件系统、进程列表等还是和宿主机隔离的。</p><p>Host模式如下图所示：</p><p><a href="http://at.liuxinxiu.com/2017/06/image/docker-02.png" target="_blank"><img src="http://at.liuxinxiu.com/2017/06/image/docker-02.png" width="800" height="900" alt="" /></a></p><p>演示：</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="preprocessor">#docker&nbsp;run&nbsp;-tid&nbsp;--net=host&nbsp;--name&nbsp;docker_host1&nbsp;ubuntu-base:v3</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="preprocessor">#docker&nbsp;run&nbsp;-tid&nbsp;--net=host&nbsp;--name&nbsp;docker_host2&nbsp;ubuntu-base:v3</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="preprocessor">#docker&nbsp;exec&nbsp;-ti&nbsp;docker_host1&nbsp;/bin/bash</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="preprocessor">#docker&nbsp;exec&nbsp;-ti&nbsp;docker_host1&nbsp;/bin/bash</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="preprocessor">#ifconfig&nbsp;&ndash;a</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="preprocessor">#route&nbsp;&ndash;n</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p><strong>3. Container模式</strong></p><p>这个模式指定新创建的容器和已经存在的一个容器共享一个 Network Namespace，而不是和宿主机共享。新创建的容器不会创建自己的网卡，配置自己的 IP，而是和一个指定的容器共享 IP、端口范围等。同样，两个容器除了网络方面，其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过 lo 网卡设备通信。</p><p>Container模式示意图：</p><p><a href="http://at.liuxinxiu.com/2017/06/image/docker-03.png" target="_blank"><img src="http://at.liuxinxiu.com/2017/06/image/docker-03.png" width="800" height="914" alt="" /></a></p><p>演示：</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="preprocessor">#docker&nbsp;run&nbsp;-tid&nbsp;--net=container:docker_bri1&nbsp;--name&nbsp;docker_con1&nbsp;ubuntu-base:v3</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="preprocessor">#docker&nbsp;exec&nbsp;-ti&nbsp;docker_con1&nbsp;/bin/bash</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="preprocessor">#docker&nbsp;exec&nbsp;-ti&nbsp;docker_bri1&nbsp;/bin/bash</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="preprocessor">#ifconfig&nbsp;&ndash;a</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="preprocessor">#route&nbsp;-n</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p><strong>4. None模式</strong></p><p>使用none模式，Docker容器拥有自己的Network Namespace，但是，并不为Docker容器进行任何网络配置。也就是说，这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。</p><p>Node模式示意图:</p><p><a href="http://at.liuxinxiu.com/2017/06/image/docker-04.png" target="_blank"><img src="http://at.liuxinxiu.com/2017/06/image/docker-04.png" width="800" height="934" alt="" /></a></p><p>演示：</p><div class="codeText"><div class="codeHead">C#代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="preprocessor">#docker&nbsp;run&nbsp;-tid&nbsp;--net=none&nbsp;--name&nbsp;docker_non1&nbsp;ubuntu-base:v3</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="preprocessor">#docker&nbsp;exec&nbsp;-ti&nbsp;docker_non1&nbsp;/bin/bash</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="preprocessor">#ifconfig&nbsp;&ndash;a</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="preprocessor">#route&nbsp;-n</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p>跨主机通信</p><p>Docker默认的网络环境下，单台主机上的Docker容器可以通过docker0网桥直接通信，而不同主机上的Docker容器之间只能通过在主机上做端口映射进行通信。这种端口映射方式对很多集群应用来说极不方便。如果能让Docker容器之间直接使用自己的IP地址进行通信，会解决很多问题。按实现原理可分别直接路由方式、桥接方式（如pipework）、Overlay隧道方式（如flannel、ovs+gre）等。</p><p>直接路由</p><p>通过在Docker主机上添加静态路由实现跨宿主机通信：</p><p><a href="http://at.liuxinxiu.com/2017/06/image/docker-05.png" target="_blank"><img src="http://at.liuxinxiu.com/2017/06/image/docker-05.png" width="800" height="420" alt="" /></a></p><p><strong>Pipework</strong></p><p>Pipework是一个简单易用的Docker容器网络配置工具。由200多行shell脚本实现。通过使用ip、brctl、ovs-vsctl等命令来为Docker容器配置自定义的网桥、网卡、路由等。</p><p>使用新建的bri0网桥代替缺省的docker0网桥</p><p>bri0网桥与缺省的docker0网桥的区别：bri0和主机eth0之间是veth pair</p>
]]>
</description>
</item>
</channel>
</rss>