<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docker-Compose on 计算机知识分享网</title><link>https://jiaochengziyuan.cn/tags/docker-compose/</link><description>Recent content in Docker-Compose on 计算机知识分享网</description><generator>Hugo</generator><language>zh-CN</language><managingEditor>986945193@qq.com (David)</managingEditor><webMaster>986945193@qq.com (David)</webMaster><copyright>Copyright © 2014-至今, David.</copyright><lastBuildDate>Wed, 17 Sep 2025 10:14:59 +0800</lastBuildDate><follow_challenge><feedId>00000000000000000</feedId><userId>00000000000000000</userId></follow_challenge><atom:link href="https://jiaochengziyuan.cn/tags/docker-compose/index.xml" rel="self" type="application/rss+xml"/><item><title>【docker-compose】使用docker-compose部署dufs文件服务器</title><link>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E9%83%A8%E7%BD%B2dufs%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8/</link><pubDate>Wed, 17 Sep 2025 10:14:59 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E9%83%A8%E7%BD%B2dufs%E6%96%87%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8/</guid><description>&lt;h5 id="首先我们构建一个docker-composeyml-文件"&gt;首先，我们构建一个&lt;code&gt;docker-compose.yml&lt;/code&gt; 文件&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;services:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; dufs:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image: sigoden/dufs:latest&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; container_name: dufs&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; command: /data -A&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ports:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - 5000:5000&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; volumes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - ./data:/data&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; restart: always&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="参数接单说明"&gt;参数接单说明&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# （命令）：允许 data 目录所有操作&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;command: /data -A&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 登录账号：user 登录密码：pass&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;command: /data -a user:pass@/:rw&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="自带webdav功能可以直接使用http地址进行挂载到本地"&gt;自带&lt;code&gt;Webdav&lt;/code&gt;功能，可以直接使用&lt;code&gt;http&lt;/code&gt;地址进行挂载到本地&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;http://10.168.1.170:5000&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="官网参考地址"&gt;官网参考地址&lt;/h5&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/sigoden/dufs" target="_blank" rel="noopener noreferrer"&gt;https://github.com/sigoden/dufs&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item><item><title>【docker-compose】使用docker-compose部署beszel监控中心</title><link>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E9%83%A8%E7%BD%B2beszel%E7%9B%91%E6%8E%A7%E4%B8%AD%E5%BF%83/</link><pubDate>Sat, 13 Sep 2025 14:37:08 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E9%83%A8%E7%BD%B2beszel%E7%9B%91%E6%8E%A7%E4%B8%AD%E5%BF%83/</guid><description>&lt;h5 id="首先我们搭建一个服务中心"&gt;首先，我们搭建一个服务中心&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;services:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; beszel:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image: henrygd/beszel:0.12&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; container_name: beszel&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; restart: unless-stopped&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ports:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - 8090:8090&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; volumes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - ./beszel_data:/beszel_data&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="然后登录web管理后台创建需要监控的具体应用"&gt;然后登录web管理后台，创建需要监控的具体应用。&lt;/h5&gt;&#10;&lt;h5 id="最后再添加具体的客户端主机执行agent命令也可以参考管理后台给出的命令"&gt;最后再添加具体的客户端主机，执行&lt;code&gt;agent&lt;/code&gt;命令，也可以参考管理后台给出的命令。&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 仅供参考，具体可以参考管理后台&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;d &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;name beszel&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;agent &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;network host &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;restart unless&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;stopped &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;run&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;sock&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;run&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;sock&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;ro &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;./&lt;/span&gt;beszel_agent_data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;lib&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;beszel&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;agent &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;e KEY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII3EgZw7YejMxsdfidsCWS3GynYjYvH235cJ7&amp;#34;&lt;/span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;e LISTEN&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;45876&lt;/span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;e TOKEN&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;717d-5c3747d2e4-x09c-68ca3xeca&amp;#34;&lt;/span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;e HUB_URL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;http://10.168.1.170:8090&amp;#34;&lt;/span&gt; henrygd&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;beszel&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;agent&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;0.12&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="官网参考地址"&gt;官网参考地址&lt;/h5&gt;&#10;&lt;p&gt;&lt;a href="https://beszel.dev/zh/guide/getting-started" target="_blank" rel="noopener noreferrer"&gt;https://beszel.dev/zh/guide/getting-started&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item><item><title>【docker-compose】使用docker-compose安装私服registry和ui管理工具</title><link>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E5%AE%89%E8%A3%85%E7%A7%81%E6%9C%8Dregistry%E5%92%8Cui%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/</link><pubDate>Fri, 20 Jun 2025 15:23:45 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E5%AE%89%E8%A3%85%E7%A7%81%E6%9C%8Dregistry%E5%92%8Cui%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/</guid><description>&lt;h5 id="首先构建配置文件"&gt;首先构建配置文件&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;version&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;3.8&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;services&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; registry&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ui&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; joxit&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;registry&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ui&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2.5&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;7&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; restart&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ports&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0550ae"&gt;8082&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;80&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; environment&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SINGLE_REGISTRY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; REGISTRY_TITLE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;Docker Registry UI&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DELETE_IMAGES&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SHOW_CONTENT_DIGEST&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; NGINX_PROXY_PASS_URL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;http&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;//&lt;/span&gt;&lt;span style="color:#0550ae"&gt;10.168&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;1.170&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;5000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SHOW_CATALOG_NB_TAGS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; CATALOG_MIN_BRANCHES&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; CATALOG_MAX_BRANCHES&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; TAGLIST_PAGE_SIZE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;100&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; REGISTRY_SECURED&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; CATALOG_ELEMENTS_LIMIT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;1000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; container_name&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; registry&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ui&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; registry&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;server&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; registry&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2.8&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; restart&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ports&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0550ae"&gt;5000&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;5000&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; environment&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; REGISTRY_HTTP_HEADERS_Access&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Control&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Allow&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Origin&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;[http://10.168.1.170:8082,http://10.168.1.170:5000]&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; REGISTRY_HTTP_HEADERS_Access&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Control&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Allow&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Methods&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;[HEAD,GET,OPTIONS,DELETE]&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; REGISTRY_HTTP_HEADERS_Access&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Control&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Allow&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Credentials&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;[true]&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; REGISTRY_HTTP_HEADERS_Access&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Control&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Allow&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Headers&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;[Authorization,Accept,Cache-Control]&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; REGISTRY_HTTP_HEADERS_Access&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Control&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Expose&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;Headers&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;[Docker-Content-Digest]&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; REGISTRY_STORAGE_DELETE_ENABLED&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;true&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; volumes&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0550ae"&gt;./&lt;/span&gt;registry&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;lib&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;registry&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; container_name&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; registry&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;server&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="启动服务"&gt;启动服务&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="在浏览器打开网页验证是否成功"&gt;在浏览器打开网页，验证是否成功&lt;/h5&gt;&#10;&lt;p&gt;https://10.168.1.170:8082&lt;/p&gt;&#10;&lt;h5 id="如果需要迁移其他服务器只需要将registry-data文件迁移走即可"&gt;如果需要迁移其他服务器，只需要将&lt;code&gt;./registry-data&lt;/code&gt;文件迁移走即可&lt;/h5&gt;&#10;</description></item><item><title>【docker-compose】使用docker-compose安装运行jitsi-meet视频会议系统</title><link>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E5%AE%89%E8%A3%85%E8%BF%90%E8%A1%8Cjitsi-meet%E8%A7%86%E9%A2%91%E4%BC%9A%E8%AE%AE%E7%B3%BB%E7%BB%9F/</link><pubDate>Fri, 05 Jul 2024 14:48:33 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E5%AE%89%E8%A3%85%E8%BF%90%E8%A1%8Cjitsi-meet%E8%A7%86%E9%A2%91%E4%BC%9A%E8%AE%AE%E7%B3%BB%E7%BB%9F/</guid><description>&lt;h5 id="下载对应的软件包"&gt;下载对应的软件包&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;waget https://github.com/jitsi/docker-jitsi-meet/tree/stable-9457-1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="服务器上解压代码压缩包"&gt;服务器上解压代码压缩包&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;unzip docker-jitsi-meet-stable-9457-1.zip&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd docker-jitsi-meet-stable-9457-1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp env.example .env&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="修改env文件打开这个配置"&gt;修改.env文件,打开这个配置&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;PUBLIC_URL=http://10.168.1.224:8443&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="创建jitsi各组件运行时必要的配置文件所需的目录"&gt;创建Jitsi各组件运行时，必要的配置文件所需的目录&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="启动服务"&gt;启动服务&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="在浏览器打开网页验证是否成功"&gt;在浏览器打开网页，验证是否成功&lt;/h5&gt;&#10;&lt;p&gt;https://10.168.1.224:8443&lt;/p&gt;&#10;</description></item><item><title>【docker-compose】Linux下docker-compose的安装教程</title><link>https://jiaochengziyuan.cn/p/docker-composelinux%E4%B8%8Bdocker-compose%E7%9A%84%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</link><pubDate>Tue, 28 Nov 2023 11:23:30 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/docker-composelinux%E4%B8%8Bdocker-compose%E7%9A%84%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</guid><description>&lt;p&gt;参考官网地址：https://docs.docker.com/compose/install/&lt;/p&gt;&#10;&lt;h5 id="获取对应的软件包"&gt;获取对应的软件包&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 按理说都是可以用的，因为使用了uname获取版本信息&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# centos7 验证可用&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo curl &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;L &lt;span style="color:#0a3069"&gt;&amp;#34;https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)&amp;#34;&lt;/span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;o &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;usr&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;local&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;bin&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;compose&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# debian 12 验证可用&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;L &lt;span style="color:#0a3069"&gt;&amp;#34;https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-$(uname -s)-$(uname -m)&amp;#34;&lt;/span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;o &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;usr&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;local&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;bin&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;compose&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="增加执行权限"&gt;增加执行权限&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sudo chmod +x /usr/local/bin/docker-compose&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="可以添加软连接"&gt;可以添加软连接&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="测试是否安装成功"&gt;测试是否安装成功&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose --version&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>【docker-compose】docker-compose基本常用命令介绍</title><link>https://jiaochengziyuan.cn/p/docker-composedocker-compose%E5%9F%BA%E6%9C%AC%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E4%BB%8B%E7%BB%8D/</link><pubDate>Fri, 26 Aug 2022 10:49:50 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/docker-composedocker-compose%E5%9F%BA%E6%9C%AC%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E4%BB%8B%E7%BB%8D/</guid><description>&lt;h5 id="docker-compose命令格式"&gt;Docker-Compose命令格式&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose [-f &amp;lt;arg&amp;gt;...] [options] [COMMAND] [ARGS...]&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;命令选项如下：&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-f，–file FILE指定Compose模板文件，默认为docker-compose.yml，可以多次指定。&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-p，–project-name NAME指定项目名称，默认将使用所在目录名称作为项目名。&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-x-network-driver 使用Docker的可拔插网络后端特性（需要Docker 1.9+版本）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-x-network-driver DRIVER指定网络后端的驱动，默认为bridge（需要Docker 1.9+版本）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-verbose输出更多调试信息&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-v，–version打印版本并退出&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="启动所有服务"&gt;启动所有服务&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up &#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;选项参数包括：&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-d 在后台运行服务容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–no-color 不使用颜色来区分不同的服务的控制输出&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–no-deps 不启动服务所链接的容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–force-recreate 强制重新创建容器，不能与–no-recreate同时使用&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–no-recreate 如果容器已经存在，则不重新创建，不能与–force-recreate同时使用&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–no-build 不自动构建缺失的服务镜像&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–build 在启动容器前构建服务镜像&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–abort-on-container-exit 停止所有容器，如果任何一个容器被停止，不能与-d同时使用&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-t, –timeout TIMEOUT 停止容器时候的超时（默认为10秒）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–remove-orphans 删除服务中没有在compose文件中定义的容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;–scale SERVICE=NUM 设置服务运行容器的个数，将覆盖在compose中通过scale指定的参数&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;-f 指定使用的Compose模板文件，默认为docker-compose.yml，可以多次指定。&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;启动所有服务&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="在后台启动所有服务"&gt;在后台启动所有服务&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="在后台所有启动服务指定编排文件"&gt;在后台所有启动服务,指定编排文件&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose -f docker-compose.yml up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="列出项目中目前的所有容器"&gt;列出项目中目前的所有容器&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose ps&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="停止正在运行的容器"&gt;停止正在运行的容器&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose stop&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="启动停止运行的容器"&gt;启动停止运行的容器&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose start&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="停止和删除容器网络卷镜像"&gt;停止和删除容器、网络、卷、镜像&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose down&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="其他参考"&gt;其他参考&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose 命令 --help 获得一个命令的帮助&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up -d nginx 构建启动nignx容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose exec nginx bash 登录到nginx容器中&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose down 此命令将会停止 up 命令所启动的容器，并移除网络&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose ps 列出项目中目前的所有容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose restart nginx 重新启动nginx容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose build nginx 构建镜像 &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose build --no-cache nginx 不带缓存的构建&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose top 查看各个服务容器内运行的进程 &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose logs -f nginx 查看nginx的实时日志&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose images 列出 Compose 文件包含的镜像&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose config 验证文件配置，当配置正确时，不输出任何内容，当文件配置错误，输出错误信息。 &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose events --json nginx 以json的形式输出nginx的docker日志&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose pause nginx 暂停nignx容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose unpause nginx 恢复ningx容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose rm nginx 删除容器（删除前必须关闭容器，执行stop）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose stop nginx 停止nignx容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose start nginx 启动nignx容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose restart nginx 重启项目中的nignx容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose run --no-deps --rm php-fpm php -v 在php-fpm中不启动关联容器，并容器执行php -v 执行完成后删除容器&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>【docker-compose】使用Docker Compose部署SpringBoot应用</title><link>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E9%83%A8%E7%BD%B2springboot%E5%BA%94%E7%94%A8/</link><pubDate>Wed, 08 Aug 2018 11:11:11 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/docker-compose%E4%BD%BF%E7%94%A8docker-compose%E9%83%A8%E7%BD%B2springboot%E5%BA%94%E7%94%A8/</guid><description>&lt;h1 id="使用docker-compose部署springboot应用"&gt;使用Docker Compose部署SpringBoot应用&lt;/h1&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Docker Compose是一个用于定义和运行多个docker容器应用的工具。使用Compose你可以用YAML文件来配置你的应用服务，然后使用一个命令，你就可以部署你配置的所有服务了。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="安装"&gt;安装&lt;/h2&gt;&#10;&lt;h3 id="下载docker-compose"&gt;下载Docker Compose&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-&lt;span style="color:#0a3069"&gt;`&lt;/span&gt;uname -s&lt;span style="color:#0a3069"&gt;`&lt;/span&gt;-&lt;span style="color:#0a3069"&gt;`&lt;/span&gt;uname -m&lt;span style="color:#0a3069"&gt;`&lt;/span&gt; &amp;gt; /usr/local/bin/docker-compose&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="修改该文件的权限为可执行"&gt;修改该文件的权限为可执行&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod +x /usr/local/bin/docker-compose&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="查看是否已经安装成功"&gt;查看是否已经安装成功&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose --version&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&#13;&#10; class="image-caption image-zoom-container"&#13;&#10;&gt;&#13;&#10; &#13;&#10; &lt;input&#13;&#10; type="checkbox"&#13;&#10; id="img-9dd22b1d"&#13;&#10; class="image-zoom-toggle"&#13;&#10; aria-label="放大图片："&#13;&#10; /&gt;&#13;&#10; &lt;label&#13;&#10; for="img-9dd22b1d"&#13;&#10; class="image-zoom-label"&#13;&#10; &gt;&#13;&#10; &lt;img&#13;&#10; src="https://jiaochengziyuan.cn/img/blogmd/refer_screen_96.png"&#13;&#10; alt=""&#13;&#10; loading="lazy"&#13;&#10; class="zoomable-image"&#13;&#10; /&gt;&#13;&#10; &lt;/label&gt;&#13;&#10; &#13;&#10; &lt;label&#13;&#10; for="img-9dd22b1d"&#13;&#10; class="image-zoom-overlay"&#13;&#10; &gt;&#13;&#10; &lt;img&#13;&#10; src="https://jiaochengziyuan.cn/img/blogmd/refer_screen_96.png"&#13;&#10; alt=""&#13;&#10; class="zoomable-image"&#13;&#10; /&gt;&#13;&#10; &lt;/label&gt;&#13;&#10; &#13;&#10; &lt;figcaption&gt;&lt;/figcaption&gt;&#13;&#10;&lt;/figure&gt;&#13;&#10;&lt;/p&gt;&#10;&lt;h2 id="使用docker-compose的步骤"&gt;使用Docker Compose的步骤&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;使用Dockerfile定义应用程序环境，一般需要修改初始镜像行为时才需要使用；&lt;/li&gt;&#10;&lt;li&gt;使用docker-compose.yml定义需要部署的应用程序服务，以便执行脚本一次性部署；&lt;/li&gt;&#10;&lt;li&gt;使用docker-compose up命令将所有应用服务一次性部署起来。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="docker-composeyml常用命令"&gt;docker-compose.yml常用命令&lt;/h2&gt;&#10;&lt;h3 id="image"&gt;image&lt;/h3&gt;&#10;&lt;p&gt;指定运行的镜像名称&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 运行的是mysql5.7的镜像&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;image&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;mysql:5.7&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="container_name"&gt;container_name&lt;/h3&gt;&#10;&lt;p&gt;配置容器名称&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 容器名称为mysql&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;container_name&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;mysql&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="ports"&gt;ports&lt;/h3&gt;&#10;&lt;p&gt;指定宿主机和容器的端口映射（HOST:CONTAINER）&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 将宿主机的3306端口映射到容器的3306端口&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;ports&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- &lt;span style="color:#0550ae"&gt;3306&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;3306&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="volumes"&gt;volumes&lt;/h3&gt;&#10;&lt;p&gt;将宿主机的文件或目录挂载到容器中（HOST:CONTAINER）&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 将外部文件挂载到myql容器中&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;volumes&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- /mydata/mysql/log:/var/log/mysql&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- /mydata/mysql/data:/var/lib/mysql&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- /mydata/mysql/conf:/etc/mysql&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="environment"&gt;environment&lt;/h3&gt;&#10;&lt;p&gt;配置环境变量&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 设置mysqlroot帐号密码的环境变量&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;environment&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- MYSQL_ROOT_PASSWORD=root&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="links"&gt;links&lt;/h3&gt;&#10;&lt;p&gt;连接其他容器的服务（SERVICE:ALIAS）&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 可以以database为域名访问服务名称为db的容器&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;links&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- db:database&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="docker-compose常用命令"&gt;Docker Compose常用命令&lt;/h2&gt;&#10;&lt;h3 id="构建创建启动相关容器"&gt;构建、创建、启动相关容器&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# -d表示在后台运行&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="指定文件启动"&gt;指定文件启动&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose -f docker-compose.yml up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="停止所有相关容器"&gt;停止所有相关容器&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose stop&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="列出所有容器信息"&gt;列出所有容器信息&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose ps&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="使用docker-compose-部署应用"&gt;使用Docker Compose 部署应用&lt;/h2&gt;&#10;&lt;h3 id="编写docker-composeyml文件"&gt;编写docker-compose.yml文件&lt;/h3&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;Docker Compose将所管理的容器分为三层，工程、服务及容器。docker-compose.yml中定义所有服务组成了一个工程，services节点下即为服务，服务之下为容器。容器与容器直之间可以以服务名称为域名进行访问，比如在mall-tiny-docker-compose服务中可以通过jdbc:mysql://db:3306这个地址来访问db这个mysql服务。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;version&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;3&amp;#39;&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;services&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定服务名称&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;db&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定服务使用的镜像&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;image&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;mysql:5.7&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定容器名称&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;container_name&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;mysql&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定服务运行的端口&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;ports&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- &lt;span style="color:#0550ae"&gt;3306&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;3306&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定容器中需要挂载的文件&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;volumes&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- /mydata/mysql/log:/var/log/mysql&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- /mydata/mysql/data:/var/lib/mysql&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- /mydata/mysql/conf:/etc/mysql&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定容器的环境变量&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;environment&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- MYSQL_ROOT_PASSWORD=root&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定服务名称&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;mall-tiny-docker-compose&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定服务使用的镜像&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;image&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;mall-tiny/mall-tiny-docker-compose:0.0.1-SNAPSHOT&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定容器名称&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;container_name&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;mall-tiny-docker-compose&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定服务运行的端口&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;ports&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- &lt;span style="color:#0550ae"&gt;8080&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;8080&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#57606a"&gt;# 指定容器中需要挂载的文件&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;&lt;span style="color:#0550ae"&gt;volumes&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- /etc/localtime:/etc/localtime&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;- /mydata/app/mall-tiny-docker-compose/logs:/var/logs&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;注意：如果遇到mall-tiny-docker-compose服务无法连接到mysql，需要在mysql中建立mall数据库，同时导入mall.sql脚本。具体参考&lt;a href="https://mp.weixin.qq.com/s/U_OcNMpLAJJum_s9jbZLGg" target="_blank" rel="noopener noreferrer"&gt;使用Dockerfile为SpringBoot应用构建Docker镜像&lt;/a&gt;&#13;&#10;中的运行mysql服务并设置部分。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h3 id="使用maven插件构建mall-tiny-docker-compose镜像"&gt;使用maven插件构建mall-tiny-docker-compose镜像&lt;/h3&gt;&#10;&lt;p&gt;&lt;figure&#13;&#10; class="image-caption image-zoom-container"&#13;&#10;&gt;&#13;&#10; &#13;&#10; &lt;input&#13;&#10; type="checkbox"&#13;&#10; id="img-7e98ab8c"&#13;&#10; class="image-zoom-toggle"&#13;&#10; aria-label="放大图片："&#13;&#10; /&gt;&#13;&#10; &lt;label&#13;&#10; for="img-7e98ab8c"&#13;&#10; class="image-zoom-label"&#13;&#10; &gt;&#13;&#10; &lt;img&#13;&#10; src="https://jiaochengziyuan.cn/img/blogmd/refer_screen_97.png"&#13;&#10; alt=""&#13;&#10; loading="lazy"&#13;&#10; class="zoomable-image"&#13;&#10; /&gt;&#13;&#10; &lt;/label&gt;&#13;&#10; &#13;&#10; &lt;label&#13;&#10; for="img-7e98ab8c"&#13;&#10; class="image-zoom-overlay"&#13;&#10; &gt;&#13;&#10; &lt;img&#13;&#10; src="https://jiaochengziyuan.cn/img/blogmd/refer_screen_97.png"&#13;&#10; alt=""&#13;&#10; class="zoomable-image"&#13;&#10; /&gt;&#13;&#10; &lt;/label&gt;&#13;&#10; &#13;&#10; &lt;figcaption&gt;&lt;/figcaption&gt;&#13;&#10;&lt;/figure&gt;&#13;&#10;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;注意：构建有问题的可以参考&lt;a href="https://mp.weixin.qq.com/s/q2KDzHbPkf3Q0EY8qYjYgw" target="_blank" rel="noopener noreferrer"&gt;使用Maven插件为SpringBoot应用构建Docker镜像&lt;/a&gt;&#13;&#10;&lt;/strong&gt;&lt;/p&gt;&#10;&lt;h3 id="运行docker-compose命令启动所有服务"&gt;运行Docker Compose命令启动所有服务&lt;/h3&gt;&#10;&lt;p&gt;先将docker-compose.yml上传至Linux服务器，再在当前目录下运行如下命令：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;figure&#13;&#10; class="image-caption image-zoom-container"&#13;&#10;&gt;&#13;&#10; &#13;&#10; &lt;input&#13;&#10; type="checkbox"&#13;&#10; id="img-6131a900"&#13;&#10; class="image-zoom-toggle"&#13;&#10; aria-label="放大图片："&#13;&#10; /&gt;&#13;&#10; &lt;label&#13;&#10; for="img-6131a900"&#13;&#10; class="image-zoom-label"&#13;&#10; &gt;&#13;&#10; &lt;img&#13;&#10; src="https://jiaochengziyuan.cn/img/blogmd/refer_screen_98.png"&#13;&#10; alt=""&#13;&#10; loading="lazy"&#13;&#10; class="zoomable-image"&#13;&#10; /&gt;&#13;&#10; &lt;/label&gt;&#13;&#10; &#13;&#10; &lt;label&#13;&#10; for="img-6131a900"&#13;&#10; class="image-zoom-overlay"&#13;&#10; &gt;&#13;&#10; &lt;img&#13;&#10; src="https://jiaochengziyuan.cn/img/blogmd/refer_screen_98.png"&#13;&#10; alt=""&#13;&#10; class="zoomable-image"&#13;&#10; /&gt;&#13;&#10; &lt;/label&gt;&#13;&#10; &#13;&#10; &lt;figcaption&gt;&lt;/figcaption&gt;&#13;&#10;&lt;/figure&gt;&#13;&#10;&lt;/p&gt;&#10;&lt;p&gt;访问接口文档地址http://192.168.3.101:8080/swagger-ui.html：&lt;/p&gt;&#10;&lt;p&gt;&lt;figure&#13;&#10; class="image-caption image-zoom-container"&#13;&#10;&gt;&#13;&#10; &#13;&#10; &lt;input&#13;&#10; type="checkbox"&#13;&#10; id="img-bbd49ee7"&#13;&#10; class="image-zoom-toggle"&#13;&#10; aria-label="放大图片："&#13;&#10; /&gt;&#13;&#10; &lt;label&#13;&#10; for="img-bbd49ee7"&#13;&#10; class="image-zoom-label"&#13;&#10; &gt;&#13;&#10; &lt;img&#13;&#10; src="https://jiaochengziyuan.cn/img/blogmd/refer_screen_94.png"&#13;&#10; alt=""&#13;&#10; loading="lazy"&#13;&#10; class="zoomable-image"&#13;&#10; /&gt;&#13;&#10; &lt;/label&gt;&#13;&#10; &#13;&#10; &lt;label&#13;&#10; for="img-bbd49ee7"&#13;&#10; class="image-zoom-overlay"&#13;&#10; &gt;&#13;&#10; &lt;img&#13;&#10; src="https://jiaochengziyuan.cn/img/blogmd/refer_screen_94.png"&#13;&#10; alt=""&#13;&#10; class="zoomable-image"&#13;&#10; /&gt;&#13;&#10; &lt;/label&gt;&#13;&#10; &#13;&#10; &lt;figcaption&gt;&lt;/figcaption&gt;&#13;&#10;&lt;/figure&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item></channel></rss>