CentOS 安装 docker-compose
<p><strong>部署环境搭建</strong></p><p><strong>1安装docker</strong></p>
<pre><code class="language-html hljs"> 一定要用root账号登录系统,打开终端/或远程工具(如xshell)登录系统</code></pre>
<pre><code class="language-html hljs">检查是否已经安装 </code></pre>
<p> rpm –qa|grep docker</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="36">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144530914.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;489&quot;,&quot;height&quot;:&quot;73&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150235461-274872668.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<p>出现如上说明已安装</p>
<pre><code class="language-html hljs">也可用命令docker -v (如果成功显示版本号,不成功显示命令不可用)</code></pre>
<pre><code class="language-html hljs">也可用命令docker version</code></pre>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="38">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144605743.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150252473-1208038432.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> 可卸载重新安装(也选择不重新安装)</p>
<p> rpm –e docker-1.13.1-84.git07f3374.el7.centos.x86_64 --nodeps (卸载时不检测依赖,只卸载该包)</p>
<p> <strong>开始安装</strong></p>
<p><strong><strong>安装新版本:</strong>https://blog.csdn.net/hanjun0612/article/details/117086463</strong></p>
<p> yum install docker(安装升级都可以)</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="40">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144630620.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150300088-1216277798.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> 中途提示选项:选y 后面还会提示是否继续选y</p>
<p> </p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="42">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/2021051714465534.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;314&quot;,&quot;height&quot;:&quot;39&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150308339-147888694.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p><strong>安装完成后查看版本</strong></p>
<p>docker –v</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="44">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/2021051714471996.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;358&quot;,&quot;height&quot;:&quot;36&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150315373-1961095636.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> <strong>查看docker</strong><strong>状态</strong></p>
<p><strong> </strong>systemctl status docke<strong>r</strong></p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="46">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144743198.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;696&quot;,&quot;height&quot;:&quot;97&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150321653-934692305.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<p><strong>开启远程访问</strong></p>
<p>vim /usr/lib/systemd/system/docker.service</p>
<p><strong>(vim</strong><strong>常用命令总结</strong><strong> https://www.cnblogs.com/yangjig/p/6014198.html)</strong></p>
<p>(直接用gedit /usr/lib/systemd/system/docker.service 编辑更快捷)</p>
<p>在以下添加</p>
<p>-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="49">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144810852.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150329990-75288622.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<p><strong>重新加载文件</strong></p>
<p>systemctl daemon-reload</p>
<p> </p>
<p><strong>设置docker</strong><strong>为随机启动</strong></p>
<p>systemctl enable docker.service</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="51">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144831742.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;861&quot;,&quot;height&quot;:&quot;32&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150337835-1438952532.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> <strong>启动docker </strong></p>
<p>systemctl start docker.service</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="53">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144850748.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;858&quot;,&quot;height&quot;:&quot;37&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><img alt="" width="858" height="37" src="https://img-blog.csdnimg.cn/20210517144850748.png" data-src="https://img-blog.csdnimg.cn/20210517144850748.png"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>如果以上启动出错Job for docker.service failed because………</p>
<p>(解决参考https://blog.csdn.net/yangqinfeng1121/article/details/83374477)</p>
<p>根据提示运行:</p>
<p>systemctl status docker.service</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="55">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144910158.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150436615-369871034.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>该提示说明:</p>
<p>此linux的内核中的SELinux不支持 overlay2 graph driver</p>
<p>解决方案:在docker里禁用selinux</p>
<p>vim /etc/sysconfig/docker <strong>(vim</strong><strong>常用命令总结</strong><strong> </strong>https://www.cnblogs.com/yangjig/p/6014198.html<strong>)</strong></p>
<p><strong>在这一行后面添加</strong><strong>=false</strong></p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="57">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144937483.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;645&quot;,&quot;height&quot;:&quot;145&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150444346-333380514.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>再启动</p>
<p>systemctl start docker.service</p>
<p>查看状态</p>
<p>systemctl status docker.service</p>
<p>显示如下代表启动成功</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="59">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517144956916.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;714&quot;,&quot;height&quot;:&quot;177&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150451641-20716.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<p><strong>2安装docker-compose(用于编排服务启动)</strong></p>
<p> <strong>查看是否已经安装</strong></p>
<p>docker-compose –v</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="61">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/2021051714501548.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;329&quot;,&quot;height&quot;:&quot;35&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150458656-1126237266.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p><strong>卸载重新安装(可选择)</strong></p>
<p>pip uninstall docker-compose -y</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="63">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145034353.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;417&quot;,&quot;height&quot;:&quot;55&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150505715-1871288400.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>(全新安装从这里开始)</p>
<p>先检查pip是否安装</p>
<p>pip --version</p>
<p>如果没有则先安装pip</p>
<p>yum -y install epel-release</p>
<p>yum -y install python-pip</p>
<p>pip install --upgrade pip</p>
<p>安装docker-compose</p>
<p>pip install docker-compose --ignore-installed requests</p>
<p>查看版本</p>
<p>docker-compose –version</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="65">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145102145.bmp&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;418&quot;,&quot;height&quot;:&quot;42&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150605691-611057375.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p><strong>配置docker-compose</strong><strong>工件目录</strong></p>
<p>在root目录下新建docker目录</p>
<p>mkdir docker</p>
<p>进入docker目录</p>
<p>cd docker</p>
<p> </p>
<p>拉取centos镜象</p>
<p>docker pull docker.io/centos:7.5.1804</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="67">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145130396.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;597&quot;,&quot;height&quot;:&quot;104&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150615296-324177453.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>查看拉取的镜象</p>
<p> docker images</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="69">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145148909.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;634&quot;,&quot;height&quot;:&quot;50&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150629984-933942189.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>运行镜象docker.io/centos:7.5.1804,产生名为centos的容器<strong>用</strong><strong>run</strong><strong>命令运行并进入容器</strong></p>
<p>docker run -it --name centos docker.io/centos:7.5.1804</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="71">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/2021051714521176.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;611&quot;,&quot;height&quot;:&quot;36&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150642963-1762991905.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>安装java</p>
<p>升级所有包同时也升级软件和系统内核 (这个时间可能比较较不同网速时间不一样,可能需要5-10分钟左右)</p>
<p>yum -y update</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="73">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145230958.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;805&quot;,&quot;height&quot;:&quot;133&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150648682-1742833769.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>yum install -y java</p>
<p>查看是否安装成功</p>
<p>java –version</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="75">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145301754.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;435&quot;,&quot;height&quot;:&quot;65&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150654992-589598499.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>退出当前容器</p>
<p>exit</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="77">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145320798.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;335&quot;,&quot;height&quot;:&quot;54&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150700665-941109322.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>将容器centos保存为新的镜象</p>
<p>docker commit -m="update" -a="cjh" centos mycentos:7.5.1804</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="79">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145414648.bmp&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;792&quot;,&quot;height&quot;:&quot;46&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150750243-1566021514.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>将镜象存为docker目录下的文件mycentos.tar(备用,预计580MB)</p>
<p>docker save -o mycentos.tar mycentos:7.5.1804</p>
<p>删除容器</p>
<p>docker rm $(docker ps -qa)</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="81">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145514677.bmp&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;538&quot;,&quot;height&quot;:&quot;40&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150842690-865540374.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>删除镜象</p>
<p>docker rmi $(docker images -qa)</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="83">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145537127.bmp&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;884&quot;,&quot;height&quot;:&quot;166&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150855169-315091831.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>导入之前的mycentos.tar为镜象</p>
<p>docker load -i mycentos.tar</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="85">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145600753.bmp&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;538&quot;,&quot;height&quot;:&quot;78&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150907002-1827567642.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<p>查看镜象</p>
<p>docker images</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="87">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145620674.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;615&quot;,&quot;height&quot;:&quot;50&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150915932-685890763.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<h3>文件配置</h3>
<p>1.Wait.sh(文件wait.sh用来等待注册中心运行才能运行别的服务)</p>
<p>将项目下doc\deploy\wait.sh拷贝至当前目录/root/docker/wait.sh</p>
<p>给wait.sh赋可执行权限命令</p>
<p> chmod 754 wait.sh</p>
<p> </p>
<p>wait.sh</p>
<div class="cnblogs_code">
<pre>#!/bin/<span style="color: rgba(0, 0, 0, 1)">bash
#</span>******************************************************************************<span style="color: rgba(0, 0, 0, 1)">
#@date: </span>2018-12-10 10:18:43<span style="color: rgba(0, 0, 0, 1)">
#检测注册中心,配置中心,webapisys有没有启动
#</span>******************************************************************************<span style="color: rgba(0, 0, 0, 1)">
: ${SLEEP_SECOND:</span>=10<span style="color: rgba(0, 0, 0, 1)">}
#切换容器语言(zw2019</span>-3-14<span style="color: rgba(0, 0, 0, 1)">)
export LANG</span>='zh_CN.UTF-8'<span style="color: rgba(0, 0, 0, 1)">
export LC_LANG</span>='zh_CN.UTF-8'<span style="color: rgba(0, 0, 0, 1)">
localedef </span>-c -f UTF-8 -<span style="color: rgba(0, 0, 0, 1)">i zh_CN zh_CN.utf8
#set docker datetime as </span><span style="color: rgba(0, 0, 255, 1)">this</span><span style="color: rgba(0, 0, 0, 1)"> Liunx system datetime
echo </span>"Asia/shanghai" > /etc/<span style="color: rgba(0, 0, 0, 1)">timezone
cp </span>/usr/share/zoneinfo/Asia/Shanghai /etc/<span style="color: rgba(0, 0, 0, 1)">localtime
wait_for() {
declare status</span>=`curl -I -m 10 -o /dev/<span style="color: rgba(0, 0, 255, 1)">null</span> -s -w %{http_code} $1:$2<span style="color: rgba(0, 0, 0, 1)">`
</span><span style="color: rgba(0, 0, 255, 1)">while</span> [[ $status != 200<span style="color: rgba(0, 0, 0, 1)"> ]]
</span><span style="color: rgba(0, 0, 255, 1)">do</span><span style="color: rgba(0, 0, 0, 1)">
echo $status
echo wating </span><span style="color: rgba(0, 0, 255, 1)">for</span> $1 to listen on $2<span style="color: rgba(0, 0, 0, 1)">...
status</span>=`curl -I -m 10 -o /dev/<span style="color: rgba(0, 0, 255, 1)">null</span> -s -w %{http_code} $1:$2<span style="color: rgba(0, 0, 0, 1)">`
# echo $status
sleep $SLEEP_SECOND
done
}
declare DEPENDS
declare CMD
</span><span style="color: rgba(0, 0, 255, 1)">while</span> getopts "d:c:"<span style="color: rgba(0, 0, 0, 1)"> arg
</span><span style="color: rgba(0, 0, 255, 1)">do</span>
<span style="color: rgba(0, 0, 255, 1)">case</span><span style="color: rgba(0, 0, 0, 1)"> $arg in
d)
DEPENDS</span>=<span style="color: rgba(0, 0, 0, 1)">$OPTARG
;;
c)
CMD</span>=<span style="color: rgba(0, 0, 0, 1)">$OPTARG
;;
</span>?<span style="color: rgba(0, 0, 0, 1)">)
echo </span>"unkonw argument"<span style="color: rgba(0, 0, 0, 1)">
exit </span>1<span style="color: rgba(0, 0, 0, 1)">
;;
esac
done
</span><span style="color: rgba(0, 0, 255, 1)">for</span> var in ${DEPENDS<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">,/ }</span>
<span style="color: rgba(0, 0, 255, 1)">do</span><span style="color: rgba(0, 0, 0, 1)">
host</span>=${var%:*<span style="color: rgba(0, 0, 0, 1)">}
port</span>=${var#*<span style="color: rgba(0, 0, 0, 1)">:}
wait_for $host $port
done
exec $CMD</span></pre>
</div>
<p> </p>
<p> </p>
<p>2. docker-compose.yml(自动运行编排文件)</p>
<p>将项目下doc\deploy\docker-compose.yml拷贝至当前目录/root/docker/docker-compose.yml</p>
<p> </p>
<p>docker-compose.yml</p>
<div class="cnblogs_code">
<pre>version: '2.2'<span style="color: rgba(0, 0, 0, 1)">
services:
registry:
image: registry:</span>1.0<span style="color: rgba(0, 0, 0, 1)">
ports:
</span>- '9088:9088'<span style="color: rgba(0, 0, 0, 1)">
container_name: </span>'registry'<span style="color: rgba(0, 0, 0, 1)">
entrypoint: java </span>-jar $SECURITY /springCloud.registry-1.0<span style="color: rgba(0, 0, 0, 1)">.jar
restart: on</span>-<span style="color: rgba(0, 0, 0, 1)">failure
#cpu_shares: </span>10<span style="color: rgba(0, 0, 0, 1)">
#cpuset: </span>'0'<span style="color: rgba(0, 0, 0, 1)">
mem_limit: 1g
memswap_limit: 2g
mem_reservation: 512m
config:
image: config:</span>1.0<span style="color: rgba(0, 0, 0, 1)">
ports:
</span>- "9089:9089"<span style="color: rgba(0, 0, 0, 1)">
container_name: </span>'config'<span style="color: rgba(0, 0, 0, 1)">
entrypoint:java</span>-jar $SECURITY/springCloud.config-1.0<span style="color: rgba(0, 0, 0, 1)">.jar
restart: on</span>-<span style="color: rgba(0, 0, 0, 1)">failure
#cpu_shares: </span>10<span style="color: rgba(0, 0, 0, 1)">
#cpuset: </span>'0'<span style="color: rgba(0, 0, 0, 1)">
mem_limit: 1g
memswap_limit: 2g
mem_reservation: 512m
apicommon:
image: apicommon:</span>1.0<span style="color: rgba(0, 0, 0, 1)">
volumes:
</span>- '/root/docker/logs:/logs'
- '/root/docker/uploadFiles:/uploadFiles'
- '/root/docker/wait.sh:/wait.sh'<span style="color: rgba(0, 0, 0, 1)">
container_name: </span>'apicommon'<span style="color: rgba(0, 0, 0, 1)">
depends_on:
</span>-<span style="color: rgba(0, 0, 0, 1)"> registry
</span>-<span style="color: rgba(0, 0, 0, 1)"> config
entrypoint: </span>/wait.sh -d registry:9088/health,config:9089/health -c 'java -jar -Dhost=$HOST -Dactive=$ACTIVE$SECURITY /kps.webAPICommon-1.0.jar '<span style="color: rgba(0, 0, 0, 1)">
restart: on</span>-<span style="color: rgba(0, 0, 0, 1)">failure
#cpu_shares: </span>9<span style="color: rgba(0, 0, 0, 1)">
#cpuset: </span>'1,2,3'<span style="color: rgba(0, 0, 0, 1)">
mem_limit: 1g
memswap_limit: 2g
mem_reservation: 512m
apisys:
image: apisys:</span>1.0<span style="color: rgba(0, 0, 0, 1)">
volumes:
</span>- '/root/docker/logs:/logs'
- '/root/docker/uploadFiles:/uploadFiles'
- '/root/docker/wait.sh:/wait.sh'<span style="color: rgba(0, 0, 0, 1)">
container_name: </span>'apisys'<span style="color: rgba(0, 0, 0, 1)">
depends_on:
</span>-<span style="color: rgba(0, 0, 0, 1)"> registry
</span>-<span style="color: rgba(0, 0, 0, 1)"> config
entrypoint:</span>/wait.sh -d registry:9088/health,config:9089/health -c'java -jar -Dhost=$HOST -Dactive=$ACTIVE$SECURITY /kps.webAPISYS-1.0.jar '<span style="color: rgba(0, 0, 0, 1)">
restart: on</span>-<span style="color: rgba(0, 0, 0, 1)">failure
#cpu_shares: </span>10<span style="color: rgba(0, 0, 0, 1)">
#cpuset: </span>'1,2,3'<span style="color: rgba(0, 0, 0, 1)">
mem_limit: 1g
memswap_limit: 2g
mem_reservation: 512m
zuul: # 服务名
image: zuul:</span>1.0<span style="color: rgba(0, 0, 0, 1)"> #镜象名
ports:#主机与容器端口映射
</span>- '9090:9090'<span style="color: rgba(0, 0, 0, 1)"> #前者为主机端口,后为容器端口
volumes:
</span>- '/root/docker/logs:/logs'<span style="color: rgba(0, 0, 0, 1)"> #前者为主机目录,后为容器目录
</span>- '/root/docker/uploadFiles:/uploadFiles'
- '/root/docker/wait.sh:/wait.sh'<span style="color: rgba(0, 0, 0, 1)">
container_name: </span>'zuul'<span style="color: rgba(0, 0, 0, 1)"> #容器名
depends_on: # 启动依赖
</span>-<span style="color: rgba(0, 0, 0, 1)"> registry
</span>-<span style="color: rgba(0, 0, 0, 1)"> config
entrypoint:</span>/wait.sh -d registry:9088/health,config:9089/health -c 'java -jar -Dhost=$HOST -Dactive=$ACTIVE$SECURITY /springCloud.zuul-1.0.jar '<span style="color: rgba(0, 0, 0, 1)">
restart: on</span>-<span style="color: rgba(0, 0, 0, 1)">failure #非正常退出,立即重启
#cpu_shares: </span>5<span style="color: rgba(0, 0, 0, 1)"> #cpu分配优先权重
#cpuset: </span>'1,2,3'<span style="color: rgba(0, 0, 0, 1)"> #cpu核编号
mem_limit: 1g#限制容器使用内存
memswap_limit: 2g #交换区内存
mem_reservation: 512m #预留内存</span></pre>
</div>
<p> </p>
<p> </p>
<p>3.file.env文件用来配置环境变量</p>
<p>修改项目下doc\deploy\file.env</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="89">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145639775.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;421&quot;,&quot;height&quot;:&quot;102&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150922837-1991433841.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>将host改为服务主机ip或虚拟机ip,active修改为(test为测试,prod为生产)</p>
<p>修改后将它拷贝至/root/docker/file.env下</p>
<p> </p>
<p>file.env</p>
<div class="cnblogs_code">
<pre>#该文件存放于:/root/docker/<span style="color: rgba(0, 0, 0, 1)">file.env
#虚拟机快速启动参数
SECURITY</span>='-Djava.security.egd=file:/dev/./urandom'<span style="color: rgba(0, 0, 0, 1)">
#虚拟机内存初始化参数
JAVA_OPTS</span>='-server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=256m'<span style="color: rgba(0, 0, 0, 1)">
#springboot激活配置与访问配置中心参数
ACTIVE</span>='test'<span style="color: rgba(0, 0, 0, 1)">
#服务器内网ip或centos系统ip
HOST</span>='192.168.1.250'</pre>
</div>
<p> </p>
<p>4.file.sh文件也是配置环境变量</p>
<p>修改项目下doc\deploy\file.sh</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="91">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145658185.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;432&quot;,&quot;height&quot;:&quot;94&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150930094-413210872.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="91"> </div>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="91">file.sh</div>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="91">
<div class="cnblogs_code">
<pre>#该文件存放于:/etc/profile.d/<span style="color: rgba(0, 0, 0, 1)">file.sh
#虚拟机快速启动参数
export SECURITY</span>='-Djava.security.egd=file:/dev/./urandom'<span style="color: rgba(0, 0, 0, 1)">
#虚拟机内存初始化参数
export JAVA_OPTS</span>='-server -Xms512m -Xmx512m -Xmn256m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=256m'<span style="color: rgba(0, 0, 0, 1)">
#springboot激活配置与访问配置中心参数
export ACTIVE</span>='test'<span style="color: rgba(0, 0, 0, 1)">
#服务器内网ip或centos系统ip
export HOST</span>='192.168.1.250'</pre>
</div>
<p> </p>
</div>
<p>将host改为服务主机ip或虚拟机ip,active修改为(test为测试,prod为生产)</p>
<p>修改后将它拷贝至/etc/profile.d/file.sh</p>
<p>不重启linux情况下加载,运行命令:</p>
<p>source /etc/profile</p>
<p> </p>
<p><strong>设置docker-compose</strong><strong>随机启动</strong></p>
<p>进入/usr/lib/systemd/system目录</p>
<p>cd /usr/lib/systemd/system</p>
<p>vim docker-compose.service</p>
<p>内容见项目下docker-compose.service文件,</p>
<p>(也可以直接将项目下docker-compose.service拷贝至/usr/lib/systemd/system /docker-compose.service)</p>
<p>docker-compose.service</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">
Description</span>=docker-<span style="color: rgba(0, 0, 0, 1)">compose daemon
After</span>=<span style="color: rgba(0, 0, 0, 1)">docker.service
Type</span>=<span style="color: rgba(0, 0, 0, 1)">notify
NotifyAccess</span>=<span style="color: rgba(0, 0, 0, 1)">main
EnvironmentFile</span>=-/root/docker/<span style="color: rgba(0, 0, 0, 1)">file.env
ExecStart</span>=/usr/bin/docker-compose -f /root/docker/docker-compose.yml up -<span style="color: rgba(0, 0, 0, 1)">d
WantedBy</span>=multi-<span style="color: rgba(0, 0, 0, 1)">user.target
##配置了服务的描述,规定了在network启动之后执行,
##配置服务的启动,停止,重启
##配置用户模式</span></pre>
</div>
<p> </p>
<p>然后运行</p>
<p>systemctl enable docker-compose.service</p>
<p> </p>
<p><strong>3 防火墙设置</strong></p>
<p> 开放这些端口: 9088(注册中心),9089(配置中心),9090(网关),2375(docker)</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="93">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145801771.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150937818-1569188870.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="95">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145828725.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150947639-2011329339.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="97">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145852529.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517150956063-708456686.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p><strong>4 虚拟机端口映射</strong></p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="99">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145911252.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517151004746-798231538.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<p>映射这些端口(VM IP:192.168.75.143):</p>
<p>9088(注册中心),9089(配置中心),9090(网关),2375(docker)</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="101">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517145927487.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hhbmp1bjA2MTI=,size_16,color_FFFFFF,t_70&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;&quot;,&quot;height&quot;:&quot;&quot;,&quot;lock&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517151020397-1227851524.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<p> </p>
<p><strong>5.</strong><strong>开启</strong><strong>centOS</strong><strong>远程</strong><strong>ssh</strong><strong>方便以后部署</strong><strong>;</strong></p>
<p> </p>
<p>查看本机是否安装SSH软件包</p>
<p># rpm -qa | grep ssh</p>
<p>openssh-server-6.6.1p1-12.el7_1.x86_64</p>
<p>openssh-clients-6.6.1p1-12.el7_1.x86_64</p>
<p>libssh2-1.4.3-8.el7.x86_64</p>
<p>openssh-6.6.1p1-12.el7_1.x86_64</p>
<p> </p>
<p>如果没有,则需要安装</p>
<p># yum install openssh-server</p>
<p> </p>
<p>第二步</p>
<p> </p>
<p>开启 SSH 服务</p>
<p># service sshd start</p>
<p>Redirecting to /bin/systemctl start sshd.service</p>
<p> </p>
<p>查看TCP 22端口是否打开</p>
<p># netstat -ntpl | grep 22</p>
<p>tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 17816/sshd</p>
<p>tcp6 0 0 :::22 :::* LISTEN 17816/sshd</p>
<p>--------------------- 说明开启成功.</p>
<p> </p>
<p><strong>6</strong><strong>关闭防火墙</strong></p>
<p>因为是放在虚拟机里面部署,虚拟机外面有防火墙,所以要关闭CentOS的防火墙,不然上面开的端口(9090,9089,2375…)都不能访问,如果CentOS不是虚拟机请不要关闭防火墙。</p>
<p>查看centOS防火墙是否开启(active说明开启)</p>
<p>systemctl status firewalld</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="103">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517150001746.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;878&quot;,&quot;height&quot;:&quot;156&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517151048151-1950888438.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p>如果开启了防火墙,用命令停止</p>
<p>systemctl stop firewalld</p>
<p>禁用开机防火墙启动</p>
<p>systemctl disable firewalld</p>
<p>(再查看状态变了)</p>
<p>systemctl status firewalld</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="图像" data-cke-widget-id="105">
<p class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="image" data-cke-widget-data="{&quot;hasCaption&quot;:false,&quot;src&quot;:&quot;https://img-blog.csdnimg.cn/20210517150024954.png&quot;,&quot;alt&quot;:&quot;&quot;,&quot;width&quot;:&quot;890&quot;,&quot;height&quot;:&quot;122&quot;,&quot;lock&quot;:true,&quot;align&quot;:&quot;center&quot;,&quot;classes&quot;:[]}"><span class="cke_image_resizer_wrapper"><span class="cke_image_resizer" title="点击并拖拽以改变尺寸"><img alt="" loading="lazy" src="https://img2020.cnblogs.com/blog/356447/202105/356447-20210517151055802-1711663392.png"></span></span></p>
<span class="cke_reset cke_widget_drag_handler_container"><img width="15" height="15" class="cke_reset cke_widget_drag_handler lazyload" title="点击并拖拽以移动" data-cke-widget-drag-handler="1" data-src="https://img2020.cnblogs.com/blog/356447/202107/356447-20210708115648020-121499649.gif"></span></div>
<p> </p>
<p><strong>设置系统自动连接网络</strong></p>
<p>/etc/sysconfig/network-scripts/ifcfg-ens33 将最后一行的onboot=no改为yes保存。</p><br><br>
来源:https://www.cnblogs.com/hanjun0612/p/14776977.html
頁:
[1]