<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Docker-compose%E6%95%99%E7%A8%8B</id>
	<title>Docker-compose教程 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Docker-compose%E6%95%99%E7%A8%8B"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Docker-compose%E6%95%99%E7%A8%8B&amp;action=history"/>
	<updated>2026-04-20T14:28:59Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Docker-compose%E6%95%99%E7%A8%8B&amp;diff=1521&amp;oldid=prev</id>
		<title>Evan：​/* 限制指令 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Docker-compose%E6%95%99%E7%A8%8B&amp;diff=1521&amp;oldid=prev"/>
		<updated>2025-06-24T01:40:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;限制指令&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年6月24日 (二) 01:40的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l240&quot;&gt;第240行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第240行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==限制指令 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==限制指令 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://docs.docker.com/reference/compose-file/deploy/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://docs.docker.com/reference/compose-file/deploy/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://www.linuxea.com/2577.html docker-compose2和3的常用参数和资源限制]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://nieshouyuan.com/blog/20230617/2023-06-17-docker%20docker-compose%E9%99%90%E5%88%B6CPU%E5%92%8C%E5%86%85%E5%AD%98/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://nieshouyuan.com/blog/20230617/2023-06-17-docker%20docker-compose%E9%99%90%E5%88%B6CPU%E5%92%8C%E5%86%85%E5%AD%98/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://cloud.tencent.com/developer/article/2311471&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://cloud.tencent.com/developer/article/2311471&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://www.linuxea.com/2577.html docker-compose2和3的常用参数和资源限制]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  3的限制指令为deploy.resources.limits&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  3的限制指令为deploy.resources.limits&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff:1.41:old-1520:rev-1521:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Docker-compose%E6%95%99%E7%A8%8B&amp;diff=1520&amp;oldid=prev</id>
		<title>Evan：​/* 限制指令 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Docker-compose%E6%95%99%E7%A8%8B&amp;diff=1520&amp;oldid=prev"/>
		<updated>2025-06-24T01:39:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;限制指令&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年6月24日 (二) 01:39的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l240&quot;&gt;第240行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第240行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==限制指令 ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==限制指令 ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://docs.docker.com/reference/compose-file/deploy/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;https://docs.docker.com/reference/compose-file/deploy/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://nieshouyuan.com/blog/20230617/2023-06-17-docker%20docker-compose%E9%99%90%E5%88%B6CPU%E5%92%8C%E5%86%85%E5%AD%98/&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://cloud.tencent.com/developer/article/2311471&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[https://www.linuxea.com/2577.html docker-compose2和3的常用参数和资源限制]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;限制指令为deploy&lt;/del&gt;.resources.limits&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 3的限制指令为deploy&lt;/ins&gt;.resources.limits&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;version: &amp;#039;3&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;version: &amp;#039;3&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff:1.41:old-305:rev-1520:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Docker-compose%E6%95%99%E7%A8%8B&amp;diff=305&amp;oldid=prev</id>
		<title>Evan：​/* 限制指令 */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Docker-compose%E6%95%99%E7%A8%8B&amp;diff=305&amp;oldid=prev"/>
		<updated>2025-06-09T04:12:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;限制指令&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
可以 Dockerfile 创建容器，docker-compse实现部署 或者直接用官方的img 利用docker-compse实现部署&lt;br /&gt;
&lt;br /&gt;
=introduce=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Compose项目来源于之前的fig项目，使用python语言编写,与docker/swarm配合度很高。&lt;br /&gt;
&lt;br /&gt;
工程、服务、容器&lt;br /&gt;
&lt;br /&gt;
    Docker Compose 将所管理的容器分为三层，分别是工程（project）、服务（service）、容器（container）&lt;br /&gt;
    Docker Compose 运行目录下的所有文件（docker-compose.yml）组成一个工程,一个工程包含多个服务，每个服务中定义了容器运行的镜像、参数、依赖，一个服务可包括多个容器实例&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compose 是 Docker 容器进行编排的工具，定义和运行多容器的应用，可以一条命令启动多个容器，使用Docker Compose不再需要使用shell脚本来启动容器。 &lt;br /&gt;
&lt;br /&gt;
Compose 通过一个配置文件来管理多个Docker容器，在配置文件中，所有的容器通过services来定义，然后使用docker-compose脚本来启动，停止和重启应用，和应用中的服务以及所有依赖服务的容器，非常适合组合使用多个容器进行开发的场景。&lt;br /&gt;
&lt;br /&gt;
docker-compose默认的模板文件是 docker-compose.yml，其中定义的每个服务都必须通过 image 指令指定镜像或 build 指令（需要 Dockerfile）来自动构建。&lt;br /&gt;
&lt;br /&gt;
其它大部分指令都跟 docker run 中的类似。&lt;br /&gt;
如果使用 build 指令，在 Dockerfile 中设置的选项(例如：CMD, EXPOSE, VOLUME, ENV 等) 将会自动被获取，无需在 docker-compose.yml 中再次设置。&lt;br /&gt;
&lt;br /&gt;
使用Compose 基本上分为三步：&lt;br /&gt;
1.Dockerfile 定义应用的运行环境&lt;br /&gt;
2.docker-compose.yml 定义组成应用的各服务&lt;br /&gt;
3.docker-compose up 启动整个应用&lt;br /&gt;
--------------------- &lt;br /&gt;
&lt;br /&gt;
Compose 项目是 Docker 官方的开源项目，负责实现对 Docker 容器集群的快速编排。&lt;br /&gt;
&lt;br /&gt;
在日常工作中，经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个 Web 项目，除了 Web服务容器本身，往往还需要再加上后端的数据库服务容器，甚至还包括负载均衡容器等。&lt;br /&gt;
&lt;br /&gt;
Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 模板文件（YAML 格式）来定义一组相关联的应用容器为一个项目。&lt;br /&gt;
&lt;br /&gt;
Compose 中有两个重要的概念：&lt;br /&gt;
&lt;br /&gt;
    服务 (service)：一个应用的容器，实际上可以包括若干运行相同镜像的容器实例。&lt;br /&gt;
&lt;br /&gt;
    项目 (project)：由一组关联的应用容器组成的一个完整业务单元，在 docker-compose.yml 文件中定义。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Docker-compose常用命令=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#日志过滤&lt;br /&gt;
docker logs xx -f 2&amp;gt;&amp;amp;1| grep --line-buffered xxx&lt;br /&gt;
docker-compose --help&lt;br /&gt;
&lt;br /&gt;
docker-compose up -d nginx                     构建建启动nignx容器 # #这个是写在yml里面的server名  查看 文件, 不是容器名&lt;br /&gt;
&lt;br /&gt;
docker-compose exec nginx bash            登录到nginx容器中&lt;br /&gt;
&lt;br /&gt;
docker-compose down                              删除所有nginx容器,镜像&lt;br /&gt;
&lt;br /&gt;
docker-compose ps                                   显示所有容器&lt;br /&gt;
&lt;br /&gt;
docker-compose restart nginx                   重新启动nginx容器 #这个是写在yml里面的server名  不是容器名&lt;br /&gt;
&lt;br /&gt;
docker-compose run --no-deps --rm php-fpm php -v  在php-fpm中不启动关联容器，并容器执行php -v 执行完成后删除容器&lt;br /&gt;
&lt;br /&gt;
docker-compose build nginx                     构建镜像 。        &lt;br /&gt;
&lt;br /&gt;
docker-compose build --no-cache nginx   不带缓存的构建。&lt;br /&gt;
&lt;br /&gt;
docker-compose logs  nginx                     查看nginx的日志 &lt;br /&gt;
&lt;br /&gt;
docker-compose logs -f nginx                   查看nginx的实时日志&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
docker-compose config  -q                        验证（docker-compose.yml）文件配置，当配置正确时，不输出任何内容，当文件配置错误，输出错误信息。 &lt;br /&gt;
&lt;br /&gt;
docker-compose events --json nginx       以json的形式输出nginx的docker日志&lt;br /&gt;
&lt;br /&gt;
docker-compose pause nginx                 暂停nignx容器&lt;br /&gt;
&lt;br /&gt;
docker-compose unpause nginx             恢复ningx容器&lt;br /&gt;
&lt;br /&gt;
docker-compose rm nginx                       删除容器（删除前必须关闭容器）&lt;br /&gt;
&lt;br /&gt;
docker-compose stop nginx                    停止nignx容器&lt;br /&gt;
&lt;br /&gt;
docker-compose start nginx                    启动nignx容器&lt;br /&gt;
&lt;br /&gt;
docker-compose exec nginx nginx -t&lt;br /&gt;
docker-compose exec nginx nginx -s reload&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
note:&lt;br /&gt;
docker-compose   知道补充&lt;br /&gt;
&lt;br /&gt;
docker-compose  ps &lt;br /&gt;
          Name                        Command               State                        Ports                      &lt;br /&gt;
--------------------------------------------------------------------------------------------------------------------&lt;br /&gt;
docker4jenkins_jenkins_1   /sbin/tini -- /usr/local/b ...   Up      0.0.0.0:50000-&amp;gt;50000/tcp, 0.0.0.0:7099-&amp;gt;8080/tcp&lt;br /&gt;
&lt;br /&gt;
 docker-compose  stop  jenkins #后面是加server名  服务名称&lt;br /&gt;
 &lt;br /&gt;
 docker-compose.yml &lt;br /&gt;
 &lt;br /&gt;
 services:&lt;br /&gt;
  jenkins:&lt;br /&gt;
    image: jenkins/jenkins:lts&lt;br /&gt;
&lt;br /&gt;
所以 &lt;br /&gt;
docker-compose  start   jenkins&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=install=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#方法1 如果是国内网络太慢 可以把变量换成对应的值 然后先在desktop 下载回来 &lt;br /&gt;
sudo curl -L &amp;quot;https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)&amp;quot; -o /usr/local/bin/docker-compose&lt;br /&gt;
&lt;br /&gt;
#方法 2  有时axel最快了&lt;br /&gt;
#https://github.com/docker/compose/releases/download/1.24.0/docker-compose-linux-x86_64   -o /usr/local/bin/docker-compose&lt;br /&gt;
sudo chmod +x /usr/local/bin/docker-compose&lt;br /&gt;
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose&lt;br /&gt;
$  docker-compose --version&lt;br /&gt;
docker-compose version 1.24.0, build 0aa59064&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Get started with Docker Compose=&lt;br /&gt;
==Step 1: Setup==&lt;br /&gt;
===1.Create a directory for the project:===&lt;br /&gt;
&amp;lt;pre&amp;gt; mkdir composetest &amp;amp;&amp;amp;  cd composetest&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Create a file called app.py in your project directory and paste this in:===&lt;br /&gt;
&amp;lt;pre&amp;gt;import time&lt;br /&gt;
&lt;br /&gt;
import redis&lt;br /&gt;
from flask import Flask&lt;br /&gt;
&lt;br /&gt;
app = Flask(__name__)&lt;br /&gt;
cache = redis.Redis(host=&amp;#039;redis&amp;#039;, port=6379)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def get_hit_count():&lt;br /&gt;
    retries = 5&lt;br /&gt;
    while True:&lt;br /&gt;
        try:&lt;br /&gt;
            return cache.incr(&amp;#039;hits&amp;#039;)&lt;br /&gt;
        except redis.exceptions.ConnectionError as exc:&lt;br /&gt;
            if retries == 0:&lt;br /&gt;
                raise exc&lt;br /&gt;
            retries -= 1&lt;br /&gt;
            time.sleep(0.5)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@app.route(&amp;#039;/&amp;#039;)&lt;br /&gt;
def hello():&lt;br /&gt;
    count = get_hit_count()&lt;br /&gt;
    return &amp;#039;Hello World! I have been seen {} times.\n&amp;#039;.format(count)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    app.run(host=&amp;quot;0.0.0.0&amp;quot;, debug=True)  &amp;lt;/pre&amp;gt;&lt;br /&gt;
===3.Create another file called requirements.txt in your project directory and paste this in===&lt;br /&gt;
&amp;lt;pre&amp;gt;flask&lt;br /&gt;
redis&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Step 2: Create a Dockerfile==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FROM python:3.4-alpine&lt;br /&gt;
ADD . /code&lt;br /&gt;
WORKDIR /code&lt;br /&gt;
RUN pip install -r requirements.txt&lt;br /&gt;
CMD [&amp;quot;python&amp;quot;, &amp;quot;app.py&amp;quot;]&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Step 3: Define services in a Compose file==&lt;br /&gt;
===Create a file called docker-compose.yml===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: &amp;#039;3&amp;#039;&lt;br /&gt;
services:&lt;br /&gt;
  web:&lt;br /&gt;
    build: .&lt;br /&gt;
    ports:&lt;br /&gt;
     - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
  redis:&lt;br /&gt;
    image: &amp;quot;redis:alpine&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Step 4: Build and run your app with Compose==&lt;br /&gt;
&amp;lt;pre&amp;gt;docker-compose up -d# (后台运行这些containers) 还是这个好 &lt;br /&gt;
#马上访问就行了 哈哈 不用一直等&lt;br /&gt;
web_1    |    Use a production WSGI server instead.&lt;br /&gt;
web_1    |  * Debug mode: on&lt;br /&gt;
web_1    |  * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)&lt;br /&gt;
web_1    |  * Restarting with stat&lt;br /&gt;
&lt;br /&gt;
Enter http://0.0.0.0:5000/ in a browser to see the application running.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 5: Edit the Compose file to add a bind mount==&lt;br /&gt;
Edit docker-compose.yml in your project directory to add a bind mount for the web service:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
version: &amp;#039;3&amp;#039;&lt;br /&gt;
services:&lt;br /&gt;
  web:&lt;br /&gt;
    build: .&lt;br /&gt;
    ports:&lt;br /&gt;
     - &amp;quot;5000:5000&amp;quot;&lt;br /&gt;
    volumes:&lt;br /&gt;
     - .:/code&lt;br /&gt;
  redis:&lt;br /&gt;
    image: &amp;quot;redis:alpine&amp;quot;&lt;br /&gt;
#胶布的端口是机器的5000 后面的端口是容器的5000  volumes 也是这样顺序&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The new volumes key mounts the project directory (current directory) on the host to /code inside the container, allowing you to modify the code on the fly, without having to rebuild the image 把当前目录mounts 到容器的/code&lt;br /&gt;
&lt;br /&gt;
   volumes:&lt;br /&gt;
     - ~/test/composetest:/code  #   将主机的当前目录映射为容器内部的 /code数据卷           把当前目录 ~/test/composetest mounts 到容器的/code&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eg:&lt;br /&gt;
&lt;br /&gt;
#容器&lt;br /&gt;
evan@latop:~/test/composetest$ docker exec -it b4f882c81522 /bin/sh &lt;br /&gt;
/code # pwd&lt;br /&gt;
/code&lt;br /&gt;
/code # ls &lt;br /&gt;
Dockerfile           app.py               app.py~              docker-compose.yml   docker-compose.yml~  requirements.txt&lt;br /&gt;
&lt;br /&gt;
#母机&lt;br /&gt;
evan@latop:~/test/composetest$ ls &lt;br /&gt;
app.py  app.py~  docker-compose.yml  docker-compose.yml~  Dockerfile  requirements.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 6: Re-build and run the app with Compose==&lt;br /&gt;
From your project directory, type docker-compose up to build the app with the updated Compose file, and run it.&lt;br /&gt;
==Step 7: Update the application==&lt;br /&gt;
Because the application code is now mounted into the container using a volume, you can make changes to its code and see the changes instantly, without having to rebuild the image. 可见 有mount 后 只改变母机的不用rebuild 了&lt;br /&gt;
&lt;br /&gt;
Change the greeting in app.py and save it. For example, change the Hello World! message to Hello from Docker!:&lt;br /&gt;
&lt;br /&gt;
return &amp;#039;Hello from Docker! I have been seen {} times.\n&amp;#039;.format(count)&lt;br /&gt;
&lt;br /&gt;
Refresh the app in your browser. The greeting should be updated, and the counter should still be incrementing.&lt;br /&gt;
&lt;br /&gt;
=常用参数=&lt;br /&gt;
==限制指令 ==&lt;br /&gt;
https://docs.docker.com/reference/compose-file/deploy/&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
限制指令为deploy.resources.limits&lt;br /&gt;
&lt;br /&gt;
version: &amp;#039;3&amp;#039;&lt;br /&gt;
services:&lt;br /&gt;
  web:&lt;br /&gt;
    image: nginx&lt;br /&gt;
    deploy:&lt;br /&gt;
      resources:&lt;br /&gt;
        limits:&lt;br /&gt;
          cpus: &amp;#039;0.50&amp;#039;&lt;br /&gt;
          memory: 512M&lt;br /&gt;
          cpuset: &amp;#039;0-3&amp;#039;&lt;br /&gt;
          memswap_limit: 1G&lt;br /&gt;
        reservations:&lt;br /&gt;
          memory: 256M&lt;br /&gt;
      restart_policy:&lt;br /&gt;
        condition: on-failure&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==ports==&lt;br /&gt;
 HOST:CONTAINER格式或者只是指定容器的端口，宿主机会随机映射端口。&lt;br /&gt;
&lt;br /&gt;
 基本遵循规则是从宿主机映射到容器，默认是tcp，如果使用udp，比如5600，要记得在运行时或者yaml文件端口处比如写：5000/udp&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/weixin_34050005/article/details/94609741  docker和docker-compose 端口映射]&lt;br /&gt;
&lt;br /&gt;
==links／external_links参数==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-link  同一个物理机之前  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
external_links&lt;br /&gt;
Docker平台的组合功能提供了一个叫“外部链接”(“external_links”)的设置选项，能用来接连那些在不同组合文件中定义的容器：&lt;br /&gt;
&lt;br /&gt;
eg &lt;br /&gt;
    hostname: rabbitmq02&lt;br /&gt;
    extra_hosts:&lt;br /&gt;
      - &amp;quot;rabbitmq01:10.3.10.141&amp;quot; #前面是hostname 后面是ip &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/kongxx/article/details/38676917 Docker使用Link在容器之间建立连接]&lt;br /&gt;
&lt;br /&gt;
[https://sdk.cn/news/7643 Docker的组合功能：如何用external_links选项连接组合文件外部定义的容器]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/liyuanhong/articles/5851251.html 如何使不同主机上的docker容器互相通信]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/aa984711df80 docker compose 中难缠的网络问题]&lt;br /&gt;
==privileged ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
run on command &lt;br /&gt;
&lt;br /&gt;
docker run \&lt;br /&gt;
--detach \&lt;br /&gt;
-p 8095:8080 \&lt;br /&gt;
--privileged \&lt;br /&gt;
-m 4096M \&lt;br /&gt;
--name jira \&lt;br /&gt;
evan886/jira:latest&lt;br /&gt;
&lt;br /&gt;
on yml file &lt;br /&gt;
&lt;br /&gt;
web:&lt;br /&gt;
  image: an_image-image:1.0&lt;br /&gt;
  container_name: my-container&lt;br /&gt;
  privileged: true&lt;br /&gt;
  entrypoint: [&amp;quot;/usr/sbin/init&amp;quot;]&lt;br /&gt;
  ports:&lt;br /&gt;
    - &amp;quot;8280:8280&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[https://stackoverflow.com/questions/69052575/how-to-bring-up-a-docker-compose-container-as-privileged how to bring up a docker-compose container as privileged]&lt;br /&gt;
&lt;br /&gt;
==restart==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
. &lt;br /&gt;
&lt;br /&gt;
默认值为 no ，即在任何情况下都不会重新启动容器；当值为 always 时，容器总是重新启动；当值为 on-failure 时， on-failure 如果退出代码指示的故障错误政策，重启容器。&lt;br /&gt;
&lt;br /&gt;
restart: &amp;quot;no&amp;quot;&lt;br /&gt;
&lt;br /&gt;
restart: always&lt;br /&gt;
&lt;br /&gt;
restart: on-failure&lt;br /&gt;
&lt;br /&gt;
restart: unless-stopped&lt;br /&gt;
&lt;br /&gt;
注意：使用（版本3）Compose文件在群集模式下部署堆栈时，将忽略此选项，改用restart_policy&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=trouble=&lt;br /&gt;
==  509==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
docker x509: certificate has expired or is not yet valid&lt;br /&gt;
&lt;br /&gt;
1.如果是系统时间问题好办,直接更新一下就行了:&lt;br /&gt;
&lt;br /&gt;
ntpdate cn.pool.ntp.or&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/088c67a41f3c 解决docker x509: certificate has expired or is not yet valid]&lt;br /&gt;
==Question ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
docker-compose up&lt;br /&gt;
&lt;br /&gt;
ERROR: Couldn&amp;#039;t connect to Docker daemon at http+docker://localhost - is it running?&lt;br /&gt;
If it&amp;#039;s at a non-standard location, specify the URL with the DOCKER_HOST environment variable. &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== solve==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Use the command  sudo systemctl edit docker.service  to open an override file for docker.service in a text editor.&lt;br /&gt;
&lt;br /&gt;
Add or modify the following lines, substituting your own values.&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=&lt;br /&gt;
ExecStart=/usr/bin/dockerd -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock&lt;br /&gt;
Save the file.&lt;br /&gt;
&lt;br /&gt;
Reload the systemctl configuration.&lt;br /&gt;
&lt;br /&gt;
 $ sudo systemctl daemon-reload&lt;br /&gt;
Restart Docker:&lt;br /&gt;
&lt;br /&gt;
 $ sudo systemctl restart docker.service&lt;br /&gt;
Check to see whether the change was honored by reviewing the output of netstat to confirm dockerd is listening on the configured port.&lt;br /&gt;
&lt;br /&gt;
$ sudo netstat -lntp | grep dockerd&lt;br /&gt;
tcp        0      0 127.0.0.1:2375          0.0.0.0:*               LISTEN      3758/dockerd&lt;br /&gt;
&lt;br /&gt;
vim ~/.bashrc&lt;br /&gt;
export DOCKER_HOST=tcp://localhost:2375&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://stackoverflow.com/questions/27763340/docker-opts-do-not-work-in-config-file-etc-default-docker&lt;br /&gt;
&lt;br /&gt;
https://stackoverflow.com/questions/44678725/cannot-connect-to-the-docker-daemon-at-unix-var-run-docker-sock-is-the-docker&lt;br /&gt;
&lt;br /&gt;
其它办法 没过过 正确的是将当前用户加入docker组&lt;br /&gt;
jing@ubuntu:/tmp/docker$ sudo gpasswd -a ${USER} docker&lt;br /&gt;
&lt;br /&gt;
=see also=&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/wutao666/p/11332186.html  docker-compose编排参数详解]&lt;br /&gt;
&lt;br /&gt;
使用文档 &lt;br /&gt;
[https://www.jianshu.com/p/658911a8cff3 Docker：Docker Compose 详解]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/2217cfed29d7 Docker Compose 配置文件详解]&lt;br /&gt;
&lt;br /&gt;
https://www.runoob.com/docker/docker-compose.html&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/wyzhou/p/9716370.html  docker-compose文件语法解析（v3.x） ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
安装文档吧  &lt;br /&gt;
官方文档永远是最帅的&lt;br /&gt;
&lt;br /&gt;
https://docs.docker.com/compose/install/#install-compose&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/davis12/p/14312267.html  docker-compose命令参数及使用(3)]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/DragonV96/study-notes/blob/master/Linux%E8%BF%90%E7%BB%B4/docker/Docker-compose.yml%E6%96%87%E4%BB%B6%E5%8F%82%E6%95%B0%E8%AF%A6%E8%A7%A3.md Docker-compose.yml文件参数详解]&lt;br /&gt;
&lt;br /&gt;
[https://my.oschina.net/u/4126211/blog/4550816 Docker 容器编排利器 Docker Compose]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/658911a8cff3 Docker：Docker Compose 详解]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/moxiaoan/p/9299404.html Docker-compose常用命令]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/wanghailong041/article/details/52162293 Docker-compose命令详解]&lt;br /&gt;
&lt;br /&gt;
https://docs.docker.com/compose/gettingstarted/&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/zhujingzhi/p/9786622.html  Docker三剑客之Docker Compose]&lt;br /&gt;
&lt;br /&gt;
https://blog.csdn.net/zhugeaming2018/article/details/81518327&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/regit/p/8309959.html docker-compose常用命令]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/658911a8cff3 Docker：Docker Compose 详解]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://beginor.github.io/2017/06/08/use-compose-instead-of-run.html 使用 docker-compose 替代 docker run]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/ee900222/p/docker_5.html Docker系列之（五）：使用Docker Compose编排容器]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/u011781521/article/details/80464826 Docker(四)----Docker-Compose 详解]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/u014799292/article/details/79094015 安装docker-compose并统一拉取镜像]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/zhugeaming2018/article/details/81518327 『中级篇』Docker Compose的安装和基本使用（39）]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/smartdt/article/details/78431618 Docker学习(6)Docker Compose介绍和编配]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/hujyhfwfh2/article/details/83934415 Docker-Docker Compose]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/yuzhongzi81/article/details/79295672 小白学Docker之Compose]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/pushiqiang/article/details/78682323 docker-compose教程安装，使用, 快速入门]&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/JulianHuang/p/10919346.html docker-compose是个好东西，越用越香]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.cnblogs.com/accordion/p/10450952.html 一步步学会用docker部署应用(nodejs版)]&lt;br /&gt;
&lt;br /&gt;
[http://www.cnblogs.com/sammyliu/p/5932996.html 理解Docker（8）：Docker 存储之卷（Volume）]&lt;br /&gt;
&lt;br /&gt;
[http://dockone.io/article/128 深入理解Docker Volume（一）]&lt;br /&gt;
&lt;br /&gt;
[http://www.cnblogs.com/zhengran/p/4212519.html 深入理解Docker Volume（一）]&lt;br /&gt;
&lt;br /&gt;
[[Docker-compose搭建nginx+php+mysql]]&lt;br /&gt;
&lt;br /&gt;
[[category:容器]][[category: container]] [[category: compose]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>