• docker.5-Docker容器化部署企业级应用集群


    Docker容器化部署企业级应用集群

    一、Docker容器化部署企业级应用

    1.1 使用Docker容器化部署企业级应用必要性

    • 有利于快速实现企业级应用部署
    • 有利于快速实现企业级应用恢复

    1.2 使用Docker容器化部署企业级应用参考资料

    在这里插入图片描述

    二、使用Docker容器实现Nginx部署

    2.1 获取参考资料

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    2.2 运行Nginx应用容器

    不在docker host暴露端口

    # docker run -d --name nginx-server -v /opt/nginx-server:/usr/share/nginx/html:ro nginx
    664cd1bbda4ad2a71cbd09f0c6baa9b34db80db2d69496670a960be07b9521cb
    
    -v /opt/nginx-server:/usr/share/nginx/html:ro 
    ro 意思是只读
    
    • 1
    • 2
    • 3
    • 4
    • 5
    # docker ps
    CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
    664cd1bbda4a   nginx       "/docker-entrypoint.…"   4 seconds ago    Up 3 seconds    80/tcp                                                 nginx-server
    
    • 1
    • 2
    • 3
    # docker inspect 664 | grep IPAddress
                "SecondaryIPAddresses": null,
                "IPAddress": "172.17.0.3",
                        "IPAddress": "172.17.0.3",
    
    • 1
    • 2
    • 3
    • 4
    # curl http://172.17.0.3
    
    403 Forbidden<<span class="token operator">/</span>title><<span class="token operator">/</span>head>
    <body>
    <center><h1>403 Forbidden<<span class="token operator">/</span>h1><<span class="token operator">/</span>center>
    <hr><center>nginx/1<span class="token punctuation">.</span>21<span class="token punctuation">.</span>6<<span class="token operator">/</span>center>
    <<span class="token operator">/</span>body>
    <<span class="token operator">/</span>html>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li></ul></pre> 
    <pre data-index="4" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># ls /opt</span>
    nginx-server
    <span class="token comment"># echo "nginx is working" > /opt/nginx-server/index.html</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <pre data-index="5" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># curl http://172.17.0.3</span>
    nginx is working
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <h2><a name="t7"></a><a id="23_Nginx_98"></a>2.3 运行Nginx应用容器</h2> 
    <blockquote> 
     <p>在docker host暴露80端口</p> 
    </blockquote> 
    <pre data-index="6" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -d -p 80:80 --name nginx-server-port -v /opt/nginx-server-port:/usr/share/nginx/html:ro nginx</span>
    
    80:80 前面是宿主机80  后面是容器的80
    
    
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li></ul></pre> 
    <pre data-index="7" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE       COMMAND                  CREATED             STATUS             PORTS                                                  NAMES
    74dddf51983d   nginx       <span class="token string">"/docker-entrypoint.…"</span>   3 seconds ago       Up 2 seconds       0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:80->80/tcp<span class="token punctuation">,</span> :::80->80/tcp                      nginx-server-port
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <pre data-index="8" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># ls /opt</span>
    nginx-server  nginx-server-port
    
    <span class="token comment"># ss --anput|grep ":80"</span>
    查看80 端口是否开放
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li></ul></pre> 
    <pre data-index="9" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># echo "nginx is running" > /opt/nginx-server-port/index.html</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <p><strong>在宿主机上访问</strong></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324128.png" alt="在这里插入图片描述"></p> 
    <pre data-index="10" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">如果无法跳转
    查看防火墙是否打开
    
    <span class="token comment"># firewall-cmd --state</span>
    not running
    
    修改内核做转发
    <span class="token comment"># vim /etc/sysctl.conf </span>
    <span class="token comment"># net.ipv4.ip_forward=1</span>
    <span class="token comment"># sysctl -p </span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li></ul></pre> 
    <pre data-index="11" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker top nginx-server-port</span>
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                22195               22163               0                   15:08               ?                   00:00:00            nginx: master <span class="token keyword">process</span> nginx <span class="token operator">-</span>g daemon off<span class="token punctuation">;</span>
    101                 22387               22195               0                   15:08               ?                   00:00:00            nginx: worker <span class="token keyword">process</span>
    
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li></ul></pre> 
    <h2><a name="t8"></a><a id="24_Nginx_180"></a>2.4 运行Nginx应用容器</h2> 
    <blockquote> 
     <p>挂载配置文件,需要创建一个nginx容器,把配置文件复制出来修改后使用。</p> 
    </blockquote> 
    <pre data-index="12" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker cp nginxwebcontainername:/etc/nginx/nginx.conf /opt/nginxcon/</span>
    修改后即可使用
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="13" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># ls /opt/nginxcon/nginx.conf</span>
    <span class="token operator">/</span>opt/nginxcon/nginx<span class="token punctuation">.</span>conf
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="14" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -d \</span>
    <span class="token operator">-</span>p 82:80 <span class="token operator">--</span>name nginx-server-conf \
    <span class="token operator">-</span>v <span class="token operator">/</span>opt/nginx-server-conf:<span class="token operator">/</span>usr/share/nginx/html:ro \
    <span class="token operator">-</span>v <span class="token operator">/</span>opt/nginxcon/nginx<span class="token punctuation">.</span>conf:<span class="token operator">/</span>etc/nginx/nginx<span class="token punctuation">.</span>conf:ro \
    nginx
    76251ec44e5049445399303944fc96eb8161ccb49e27b673b99cb2492009523c
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li></ul></pre> 
    <pre data-index="15" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker top nginx-server-conf</span>
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                25005               24972               0                   15:38               ?                   00:00:00            nginx: master <span class="token keyword">process</span> nginx <span class="token operator">-</span>g daemon off<span class="token punctuation">;</span>
    101                 25178               25005               0                   15:38               ?                   00:00:00            nginx: worker <span class="token keyword">process</span>
    101                 25179               25005               0                   15:38               ?                   00:00:00            nginx: worker <span class="token keyword">process</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li></ul></pre> 
    <h1><a name="t9"></a><a id="DockerTomcat_225"></a>三、使用Docker容器实现Tomcat部署</h1> 
    <h2><a name="t10"></a><a id="31__227"></a>3.1 获取参考资料</h2> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324232.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324366.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324505.png" alt="在这里插入图片描述"></p> 
    <h2><a name="t11"></a><a id="32_tomcat_241"></a>3.2 运行tomcat应用容器</h2> 
    <h3><a name="t12"></a><a id="321__243"></a>3.2.1 不暴露端口运行</h3> 
    <pre data-index="16" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -d --rm tomcat:9.0</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="17" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE        COMMAND                  CREATED             STATUS             PORTS                                                  NAMES
    c20a0e781246   tomcat:9<span class="token punctuation">.</span>0   <span class="token string">"catalina.sh run"</span>        27 seconds ago      Up 25 seconds      8080/tcp                                               heuristic_cori
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <h3><a name="t13"></a><a id="322__265"></a>3.2.2 暴露端口运行</h3> 
    <pre data-index="18" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -d -p 8080:8080 --rm tomcat:9.0</span>
    2fcf5762314373c824928490b871138a01a94abedd7e6814ad5f361d09fbe1de
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="19" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE        COMMAND                  CREATED             STATUS             PORTS                                                  NAMES
    2fcf57623143   tomcat:9<span class="token punctuation">.</span>0   <span class="token string">"catalina.sh run"</span>        3 seconds ago       Up 1 second        0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8080->8080/tcp<span class="token punctuation">,</span> :::8080->8080/tcp              eloquent_chatelet
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <p><strong>在宿主机访问</strong></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324582.png" alt="在这里插入图片描述"></p> 
    <pre data-index="20" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker exec 2fc ls /usr/local/tomcat/webapps</span>
    里面为空,所以可以添加网站文件。
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <h3><a name="t14"></a><a id="323__299"></a>3.2.3 暴露端口及添加网站文件</h3> 
    <pre data-index="21" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -d -p 8081:8080 -v /opt/tomcat-server:/usr/local/tomcat/webapps/ROOT tomcat:9.0</span>
    f456e705d48fc603b7243a435f0edd6284558c194e105d87befff2dccddc0b63
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="22" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE        COMMAND             CREATED         STATUS         PORTS                                       NAMES
    f456e705d48f   tomcat:9<span class="token punctuation">.</span>0   <span class="token string">"catalina.sh run"</span>   3 seconds ago   Up 2 seconds   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8081->8080/tcp<span class="token punctuation">,</span> :::8081->8080/tcp   cool_germain
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <pre data-index="23" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># echo "tomcat running" > /opt/tomcat-server/index.html</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <p><strong>在宿主机访问</strong></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324737.png" alt="在这里插入图片描述"></p> 
    <h1><a name="t15"></a><a id="DockerMySQL_329"></a>四、使用Docker容器实现MySQL部署</h1> 
    <h2><a name="t16"></a><a id="41_MySQL_331"></a>4.1 单节点MySQL部署</h2> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324809.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324889.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232324971.png" alt="在这里插入图片描述"></p> 
    <pre data-index="24" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -p 3306:3306 \</span>
     <span class="token operator">--</span>name mysql \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql/log:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log/mysql \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql/<span class="token keyword">data</span>:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib/mysql \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql/conf:<span class="token operator">/</span>etc/mysql \
     <span class="token operator">-</span>e MYSQL_ROOT_PASSWORD=root \
     <span class="token operator">-</span>d \
     mysql:5<span class="token punctuation">.</span>7
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li></ul></pre> 
    <pre data-index="25" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
    6d16ca21cf31   mysql:5<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   32 seconds ago   Up 30 seconds   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:3306->3306/tcp<span class="token punctuation">,</span> :::3306->3306/tcp<span class="token punctuation">,</span> 33060/tcp   mysql
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <pre data-index="26" class="set-code-hide prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">通过容器中客户端访问
    <span class="token comment"># docker exec -it mysql mysql -uroot -proot</span>
    mysql: <span class="token namespace">[Warning]</span> <span class="token keyword">Using</span> a password on the command line interface can be insecure<span class="token punctuation">.</span>
    Welcome to the MySQL monitor<span class="token punctuation">.</span>  Commands <span class="token keyword">end</span> with <span class="token punctuation">;</span> or \g<span class="token punctuation">.</span>
    Your MySQL connection id is 4
    Server version: 5<span class="token punctuation">.</span>7<span class="token punctuation">.</span>37 MySQL Community Server <span class="token punctuation">(</span>GPL<span class="token punctuation">)</span>
    
    Copyright <span class="token punctuation">(</span>c<span class="token punctuation">)</span> 2000<span class="token punctuation">,</span> 2022<span class="token punctuation">,</span> Oracle and/or its affiliates<span class="token punctuation">.</span>
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates<span class="token punctuation">.</span> Other names may be trademarks of their respective
    owners<span class="token punctuation">.</span>
    
    <span class="token function">Type</span> <span class="token string">'help;'</span> or <span class="token string">'\h'</span> <span class="token keyword">for</span> help<span class="token punctuation">.</span> <span class="token function">Type</span> <span class="token string">'\c'</span> to clear the current input statement<span class="token punctuation">.</span>
    
    mysql>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{"spm":"1001.2101.3001.7365"}"><img class="look-more-preCode contentImg-no-view" src="https://1000bd.com/contentImg/2022/06/27/191644837.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li></ul></pre> 
    <pre data-index="27" class="set-code-hide prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">在docker host上访问
    <span class="token comment"># yum -y install mariadb</span>
    
    <span class="token comment"># mysql -h 192.168.255.157 -uroot -proot -P 3306</span>
    Welcome to the MariaDB monitor<span class="token punctuation">.</span>  Commands <span class="token keyword">end</span> with <span class="token punctuation">;</span> or \g<span class="token punctuation">.</span>
    Your MySQL connection id is 7
    Server version: 5<span class="token punctuation">.</span>7<span class="token punctuation">.</span>37 MySQL Community Server <span class="token punctuation">(</span>GPL<span class="token punctuation">)</span>
    
    Copyright <span class="token punctuation">(</span>c<span class="token punctuation">)</span> 2000<span class="token punctuation">,</span> 2018<span class="token punctuation">,</span> Oracle<span class="token punctuation">,</span> MariaDB Corporation Ab and others<span class="token punctuation">.</span>
    
    <span class="token function">Type</span> <span class="token string">'help;'</span> or <span class="token string">'\h'</span> <span class="token keyword">for</span> help<span class="token punctuation">.</span> <span class="token function">Type</span> <span class="token string">'\c'</span> to clear the current input statement<span class="token punctuation">.</span>
    
    MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> show databases<span class="token punctuation">;</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    <span class="token punctuation">|</span> Database           <span class="token punctuation">|</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    <span class="token punctuation">|</span> information_schema <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> mysql              <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> performance_schema <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> sys                <span class="token punctuation">|</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    4 rows in <span class="token function">set</span> <span class="token punctuation">(</span>0<span class="token punctuation">.</span>00 sec<span class="token punctuation">)</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{"spm":"1001.2101.3001.7365"}"><img class="look-more-preCode contentImg-no-view" src="https://1000bd.com/contentImg/2022/06/27/191644837.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li><li style="color: rgb(153, 153, 153);">18</li><li style="color: rgb(153, 153, 153);">19</li><li style="color: rgb(153, 153, 153);">20</li><li style="color: rgb(153, 153, 153);">21</li><li style="color: rgb(153, 153, 153);">22</li></ul></pre> 
    <h2><a name="t17"></a><a id="42_MySQL_418"></a>4.2 MySQL主从复制集群部署</h2> 
    <h3><a name="t18"></a><a id="421_MySQL_420"></a>4.2.1 MySQL主节点部署</h3> 
    <pre data-index="28" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -p 3306:3306 \</span>
     <span class="token operator">--</span>name mysql-master \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql-master/log:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log/mysql \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql-master/<span class="token keyword">data</span>:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib/mysql \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql-master/conf:<span class="token operator">/</span>etc/mysql \
     <span class="token operator">-</span>e MYSQL_ROOT_PASSWORD=root \
     <span class="token operator">-</span>d mysql:5<span class="token punctuation">.</span>7
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li></ul></pre> 
    <pre data-index="29" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE       COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
    2dbbed8e35c7   mysql:5<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   58 seconds ago   Up 57 seconds   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:3306->3306/tcp<span class="token punctuation">,</span> :::3306->3306/tcp<span class="token punctuation">,</span> 33060/tcp   mysql-master
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <h3><a name="t19"></a><a id="422_MySQL_444"></a>4.2.2 MySQL主节点配置</h3> 
    <pre data-index="30" class="set-code-hide prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># vim /opt/mysql-master/conf/my.cnf</span>
    <span class="token comment"># cat /opt/mysql-master/conf/my.cnf</span>
    <span class="token namespace">[client]</span>
    default-character-<span class="token function">set</span>=utf8
    
    <span class="token namespace">[mysql]</span>
    default-character-<span class="token function">set</span>=utf8
    
    <span class="token namespace">[mysqld]</span>
    init_connect=<span class="token string">'SET collation_connection = utf8_unicode_ci'</span>
    init_connect=<span class="token string">'SET NAMES utf8'</span>
    character-<span class="token function">set-server</span>=utf8
    collation-server=utf8_unicode_ci
    <span class="token function">skip-character</span><span class="token operator">-</span><span class="token function">set-client</span><span class="token operator">-</span>handshake
    <span class="token function">skip-name</span><span class="token operator">-</span>resolve
    
    server_id=1
    log-bin=mysql-bin
    <span class="token function">read-only</span>=0
    binlog-<span class="token keyword">do</span><span class="token operator">-</span>db=kubemsb_test
    
    replicate-ignore-db=mysql
    replicate-ignore-db=sys
    replicate-ignore-db=information_schema
    replicate-ignore-db=performance_schema
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{"spm":"1001.2101.3001.7365"}"><img class="look-more-preCode contentImg-no-view" src="https://1000bd.com/contentImg/2022/06/27/191644837.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li><li style="color: rgb(153, 153, 153);">18</li><li style="color: rgb(153, 153, 153);">19</li><li style="color: rgb(153, 153, 153);">20</li><li style="color: rgb(153, 153, 153);">21</li><li style="color: rgb(153, 153, 153);">22</li><li style="color: rgb(153, 153, 153);">23</li><li style="color: rgb(153, 153, 153);">24</li><li style="color: rgb(153, 153, 153);">25</li></ul></pre> 
    <h3><a name="t20"></a><a id="423_MySQL_482"></a>4.2.3 MySQL从节点部署</h3> 
    <pre data-index="31" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -p 3307:3306 \</span>
     <span class="token operator">--</span>name mysql-slave \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql-slave/log:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>log/mysql \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql-slave/<span class="token keyword">data</span>:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib/mysql \
     <span class="token operator">-</span>v <span class="token operator">/</span>opt/mysql-slave/conf:<span class="token operator">/</span>etc/mysql \
     <span class="token operator">-</span>e MYSQL_ROOT_PASSWORD=root \
     <span class="token operator">-</span>d 
     <span class="token operator">--</span>link mysql-master:mysql-master
     mysql:5<span class="token punctuation">.</span>7
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li></ul></pre> 
    <pre data-index="32" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE       COMMAND                  CREATED         STATUS         PORTS                                                  NAMES
    caf7bf3fc68f   mysql:5<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   8 seconds ago   Up 6 seconds   33060/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:3307->3306/tcp<span class="token punctuation">,</span> :::3307->3306/tcp   mysql-slave
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <h3><a name="t21"></a><a id="424_MySQL_510"></a>4.2.4 MySQL从节点配置</h3> 
    <pre data-index="33" class="set-code-hide prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># vim /opt/mysql-slave/conf/my.cnf</span>
    <span class="token comment"># cat /opt/mysql-slave/conf/my.cnf</span>
    <span class="token namespace">[client]</span>
    default-character-<span class="token function">set</span>=utf8
    
    <span class="token namespace">[mysql]</span>
    default-character-<span class="token function">set</span>=utf8
    
    <span class="token namespace">[mysqld]</span>
    init_connect=<span class="token string">'SET collation_connection = utf8_unicode_ci'</span>
    init_connect=<span class="token string">'SET NAMES utf8'</span>
    character-<span class="token function">set-server</span>=utf8
    collation-server=utf8_unicode_ci
    <span class="token function">skip-character</span><span class="token operator">-</span><span class="token function">set-client</span><span class="token operator">-</span>handshake
    <span class="token function">skip-name</span><span class="token operator">-</span>resolve
    
    server_id=2
    log-bin=mysql-bin
    <span class="token function">read-only</span>=1
    binlog-<span class="token keyword">do</span><span class="token operator">-</span>db=kubemsb_test
    
    replicate-ignore-db=mysql
    replicate-ignore-db=sys
    replicate-ignore-db=information_schema
    replicate-ignore-db=performance_schema
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{"spm":"1001.2101.3001.7365"}"><img class="look-more-preCode contentImg-no-view" src="https://1000bd.com/contentImg/2022/06/27/191644837.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li><li style="color: rgb(153, 153, 153);">18</li><li style="color: rgb(153, 153, 153);">19</li><li style="color: rgb(153, 153, 153);">20</li><li style="color: rgb(153, 153, 153);">21</li><li style="color: rgb(153, 153, 153);">22</li><li style="color: rgb(153, 153, 153);">23</li><li style="color: rgb(153, 153, 153);">24</li><li style="color: rgb(153, 153, 153);">25</li></ul></pre> 
    <h3><a name="t22"></a><a id="425_master_542"></a>4.2.5 master节点配置</h3> 
    <pre data-index="34" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># mysql -h 192.168.255.157 -uroot -proot -P 3306</span>
    Welcome to the MariaDB monitor<span class="token punctuation">.</span>  Commands <span class="token keyword">end</span> with <span class="token punctuation">;</span> or \g<span class="token punctuation">.</span>
    Your MySQL connection id is 2
    Server version: 5<span class="token punctuation">.</span>7<span class="token punctuation">.</span>37 MySQL Community Server <span class="token punctuation">(</span>GPL<span class="token punctuation">)</span>
    
    Copyright <span class="token punctuation">(</span>c<span class="token punctuation">)</span> 2000<span class="token punctuation">,</span> 2018<span class="token punctuation">,</span> Oracle<span class="token punctuation">,</span> MariaDB Corporation Ab and others<span class="token punctuation">.</span>
    
    <span class="token function">Type</span> <span class="token string">'help;'</span> or <span class="token string">'\h'</span> <span class="token keyword">for</span> help<span class="token punctuation">.</span> <span class="token function">Type</span> <span class="token string">'\c'</span> to clear the current input statement<span class="token punctuation">.</span>
    
    MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li></ul></pre> 
    <pre data-index="35" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">授权
    MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> grant replication slave on <span class="token operator">*</span><span class="token punctuation">.</span><span class="token operator">*</span> to <span class="token string">'backup'</span>@<span class="token string">'%'</span> identified by <span class="token string">'123456'</span><span class="token punctuation">;</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="36" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">重启容器,使用配置生效
    <span class="token comment"># docker restart mysql-master</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="37" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">查看状态
    MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> show master status\G
    <span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span> 1<span class="token punctuation">.</span> row <span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span>
                 File: mysql-bin<span class="token punctuation">.</span>000001
             Position: 154
         Binlog_Do_DB: kubemsb_test
     Binlog_Ignore_DB:
    Executed_Gtid_Set:
    1 row in <span class="token function">set</span> <span class="token punctuation">(</span>0<span class="token punctuation">.</span>00 sec<span class="token punctuation">)</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li></ul></pre> 
    <h3><a name="t23"></a><a id="426_slave_593"></a>4.2.6 slave节点配置</h3> 
    <pre data-index="38" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker restart mysql-slave</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="39" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># mysql -h 192.168.255.157 -uroot -proot -P 3307</span>
    Welcome to the MariaDB monitor<span class="token punctuation">.</span>  Commands <span class="token keyword">end</span> with <span class="token punctuation">;</span> or \g<span class="token punctuation">.</span>
    Your MySQL connection id is 2
    Server version: 5<span class="token punctuation">.</span>7<span class="token punctuation">.</span>37 MySQL Community Server <span class="token punctuation">(</span>GPL<span class="token punctuation">)</span>
    
    Copyright <span class="token punctuation">(</span>c<span class="token punctuation">)</span> 2000<span class="token punctuation">,</span> 2018<span class="token punctuation">,</span> Oracle<span class="token punctuation">,</span> MariaDB Corporation Ab and others<span class="token punctuation">.</span>
    
    <span class="token function">Type</span> <span class="token string">'help;'</span> or <span class="token string">'\h'</span> <span class="token keyword">for</span> help<span class="token punctuation">.</span> <span class="token function">Type</span> <span class="token string">'\c'</span> to clear the current input statement<span class="token punctuation">.</span>
    
    MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li></ul></pre> 
    <pre data-index="40" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> change master to master_host=<span class="token string">'mysql-master'</span><span class="token punctuation">,</span> master_user=<span class="token string">'backup'</span><span class="token punctuation">,</span> master_password=<span class="token string">'123456'</span><span class="token punctuation">,</span> master_log_file=<span class="token string">'mysql-bin.000001'</span><span class="token punctuation">,</span> master_log_pos=154<span class="token punctuation">,</span> master_port=3306<span class="token punctuation">;</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="41" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> <span class="token function">start</span> slave<span class="token punctuation">;</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="42" class="set-code-hide prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> show slave status\G
    <span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span> 1<span class="token punctuation">.</span> row <span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span><span class="token operator">*</span>
                   Slave_IO_State: Waiting <span class="token keyword">for</span> master to send event
                      Master_Host: mysql-master
                      Master_User: backup
                      Master_Port: 3306
                    Connect_Retry: 60
                  Master_Log_File: mysql-bin<span class="token punctuation">.</span>000001
              Read_Master_Log_Pos: 154
                   Relay_Log_File: e0872f94c377-relay-bin<span class="token punctuation">.</span>000002
                    Relay_Log_Pos: 320
            Relay_Master_Log_File: mysql-bin<span class="token punctuation">.</span>000001
                 Slave_IO_Running: Yes
                Slave_SQL_Running: Yes
                  Replicate_Do_DB:
              Replicate_Ignore_DB: mysql<span class="token punctuation">,</span>sys<span class="token punctuation">,</span>information_schema<span class="token punctuation">,</span>performance_schema
               Replicate_Do_Table:
           Replicate_Ignore_Table:
          Replicate_Wild_Do_Table:
      Replicate_Wild_Ignore_Table:
                       Last_Errno: 0
                       Last_Error:
                     Skip_Counter: 0
              Exec_Master_Log_Pos: 154
                  Relay_Log_Space: 534
                  Until_Condition: None
                   Until_Log_File:
                    Until_Log_Pos: 0
               Master_SSL_Allowed: No
               Master_SSL_CA_File:
               Master_SSL_CA_Path:
                  Master_SSL_Cert:
                Master_SSL_Cipher:
                   Master_SSL_Key:
            Seconds_Behind_Master: 0
    Master_SSL_Verify_Server_Cert: No
                    Last_IO_Errno: 0
                    Last_IO_Error:
                   Last_SQL_Errno: 0
                   Last_SQL_Error:
      Replicate_Ignore_Server_Ids:
                 Master_Server_Id: 1
                      Master_UUID: 0130b415-8b21-11ec-8982-0242ac110002
                 Master_Info_File: <span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>lib/mysql/master<span class="token punctuation">.</span>info
                        SQL_Delay: 0
              SQL_Remaining_Delay: NULL
          Slave_SQL_Running_State: Slave has read all relay log<span class="token punctuation">;</span> waiting <span class="token keyword">for</span> more updates
               Master_Retry_Count: 86400
                      Master_Bind:
          Last_IO_Error_Timestamp:
         Last_SQL_Error_Timestamp:
                   Master_SSL_Crl:
               Master_SSL_Crlpath:
               Retrieved_Gtid_Set:
                Executed_Gtid_Set:
                    Auto_Position: 0
             Replicate_Rewrite_DB:
                     Channel_Name:
               Master_TLS_Version:
    1 row in <span class="token function">set</span> <span class="token punctuation">(</span>0<span class="token punctuation">.</span>00 sec<span class="token punctuation">)</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{"spm":"1001.2101.3001.7365"}"><img class="look-more-preCode contentImg-no-view" src="https://1000bd.com/contentImg/2022/06/27/191644837.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li><li style="color: rgb(153, 153, 153);">18</li><li style="color: rgb(153, 153, 153);">19</li><li style="color: rgb(153, 153, 153);">20</li><li style="color: rgb(153, 153, 153);">21</li><li style="color: rgb(153, 153, 153);">22</li><li style="color: rgb(153, 153, 153);">23</li><li style="color: rgb(153, 153, 153);">24</li><li style="color: rgb(153, 153, 153);">25</li><li style="color: rgb(153, 153, 153);">26</li><li style="color: rgb(153, 153, 153);">27</li><li style="color: rgb(153, 153, 153);">28</li><li style="color: rgb(153, 153, 153);">29</li><li style="color: rgb(153, 153, 153);">30</li><li style="color: rgb(153, 153, 153);">31</li><li style="color: rgb(153, 153, 153);">32</li><li style="color: rgb(153, 153, 153);">33</li><li style="color: rgb(153, 153, 153);">34</li><li style="color: rgb(153, 153, 153);">35</li><li style="color: rgb(153, 153, 153);">36</li><li style="color: rgb(153, 153, 153);">37</li><li style="color: rgb(153, 153, 153);">38</li><li style="color: rgb(153, 153, 153);">39</li><li style="color: rgb(153, 153, 153);">40</li><li style="color: rgb(153, 153, 153);">41</li><li style="color: rgb(153, 153, 153);">42</li><li style="color: rgb(153, 153, 153);">43</li><li style="color: rgb(153, 153, 153);">44</li><li style="color: rgb(153, 153, 153);">45</li><li style="color: rgb(153, 153, 153);">46</li><li style="color: rgb(153, 153, 153);">47</li><li style="color: rgb(153, 153, 153);">48</li><li style="color: rgb(153, 153, 153);">49</li><li style="color: rgb(153, 153, 153);">50</li><li style="color: rgb(153, 153, 153);">51</li><li style="color: rgb(153, 153, 153);">52</li><li style="color: rgb(153, 153, 153);">53</li><li style="color: rgb(153, 153, 153);">54</li><li style="color: rgb(153, 153, 153);">55</li><li style="color: rgb(153, 153, 153);">56</li><li style="color: rgb(153, 153, 153);">57</li><li style="color: rgb(153, 153, 153);">58</li><li style="color: rgb(153, 153, 153);">59</li><li style="color: rgb(153, 153, 153);">60</li></ul></pre> 
    <h3><a name="t24"></a><a id="427_MySQL_697"></a>4.2.7 验证MySQL集群可用性</h3> 
    <pre data-index="43" class="set-code-hide prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">在MySQL Master节点添加kubemsb_test数据库
    <span class="token comment"># mysql -h 192.168.255.157 -uroot -proot -P3306</span>
    
    MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> create database kubemsb_test<span class="token punctuation">;</span>
    Query OK<span class="token punctuation">,</span> 1 row affected <span class="token punctuation">(</span>0<span class="token punctuation">.</span>00 sec<span class="token punctuation">)</span>
    
    MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> show databases<span class="token punctuation">;</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    <span class="token punctuation">|</span> Database           <span class="token punctuation">|</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    <span class="token punctuation">|</span> information_schema <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> kubemsb_test       <span class="token punctuation">|</span>     <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> mysql              <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> performance_schema <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> sys                <span class="token punctuation">|</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    6 rows in <span class="token function">set</span> <span class="token punctuation">(</span>0<span class="token punctuation">.</span>00 sec<span class="token punctuation">)</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{"spm":"1001.2101.3001.7365"}"><img class="look-more-preCode contentImg-no-view" src="https://1000bd.com/contentImg/2022/06/27/191644837.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li></ul></pre> 
    <pre data-index="44" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">在MySQL Slave节点查看同步情况
    <span class="token comment"># mysql -h 192.168.255.157 -uroot -proot -P3307</span>
    
    MySQL <span class="token punctuation">[</span><span class="token punctuation">(</span>none<span class="token punctuation">)</span><span class="token punctuation">]</span>> show databases<span class="token punctuation">;</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    <span class="token punctuation">|</span> Database           <span class="token punctuation">|</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    <span class="token punctuation">|</span> information_schema <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> kubemsb_test       <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> mysql              <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> performance_schema <span class="token punctuation">|</span>
    <span class="token punctuation">|</span> sys                <span class="token punctuation">|</span>
    <span class="token operator">+</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">--</span><span class="token operator">+</span>
    5 rows in <span class="token function">set</span> <span class="token punctuation">(</span>0<span class="token punctuation">.</span>00 sec<span class="token punctuation">)</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li></ul></pre> 
    <h1><a name="t25"></a><a id="DockerOracle_748"></a>五、使用Docker容器实现Oracle部署</h1> 
    <h2><a name="t26"></a><a id="51__750"></a>5.1 获取参考资料</h2> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325054.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325223.png" alt="在这里插入图片描述"></p> 
    <h2><a name="t27"></a><a id="52_oracle_763"></a>5.2 运行oracle容器</h2> 
    <pre data-index="45" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker pull oracleinanutshell/oracle-xe-11g</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="46" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -h oracle --name oracle -d -p 49160:22 -p 49161:1521 -p 49162:8080 oracleinanutshell/oracle-xe-11g</span>
    237db949020abf2cee12e3193fa8a34d9dfadaafd9d5604564668d4472abe0b2
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="47" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE                             COMMAND                  CREATED         STATUS         PORTS                                                                                                                               NAMES
    237db949020a   oracleinanutshell/oracle-xe-11g   <span class="token string">"/bin/sh -c '/usr/sb…"</span>   7 seconds ago   Up 4 seconds   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:49160->22/tcp<span class="token punctuation">,</span> :::49160->22/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:49161->1521/tcp<span class="token punctuation">,</span> :::49161->1521/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:49162->8080/tcp<span class="token punctuation">,</span> :::49162->8080/tcp   oracle
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <pre data-index="48" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">说明:
    49160 为ssh端口
    49161 为sqlplus端口
    49162 为oem端口
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li></ul></pre> 
    <pre data-index="49" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">oracle数据库连接信息
    port:49161
    sid:xe
    username:system
    password:oracle
    
    SYS用户密码为:oracle
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li></ul></pre> 
    <h2><a name="t28"></a><a id="53__809"></a>5.3 下载客户端连接工具</h2> 
    <p>下载链接地址:https://www.oracle.com/tools/downloads/sqldev-downloads.html</p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325322.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325411.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325536.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325637.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325718.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325791.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232325879.png" alt="在这里插入图片描述"></p> 
    <h1><a name="t29"></a><a id="DockerElasticSearchKibana_846"></a>六、使用Docker容器实现ElasticSearch+Kibana部署</h1> 
    <h2><a name="t30"></a><a id="61__848"></a>6.1 获取参考资料</h2> 
    <h3><a name="t31"></a><a id="611_ES_850"></a>6.1.1 ES部署参考资料</h3> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232326004.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232326176.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232326270.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232326504.png" alt="在这里插入图片描述"></p> 
    <h3><a name="t32"></a><a id="612_Kibana_867"></a>6.1.2 Kibana部署参考资料</h3> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232326582.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232326676.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232326832.png" alt="在这里插入图片描述"></p> 
    <h2><a name="t33"></a><a id="62_ES_882"></a>6.2 ES部署</h2> 
    <pre data-index="50" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker pull elasticsearch:7.17.0</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="51" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># mkdir -p /opt/es/config</span>
    <span class="token comment"># mkdir -p /opt/es/data</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="52" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># echo "http.host: 0.0.0.0" >> /opt/es/config/elasticsearch.yml</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="53" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># chmod -R 777 /opt/es/</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="54" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \</span>
    <span class="token operator">-</span>e <span class="token string">"discovery.type=single-node"</span> \
    <span class="token operator">-</span>e ES_JAVA_OPTS=<span class="token string">"-Xms64m -Xmx512m"</span> \
    <span class="token operator">-</span>v <span class="token operator">/</span>opt/es/config/elasticsearch<span class="token punctuation">.</span>yml:<span class="token operator">/</span>usr/share/elasticsearch/config/elasticsearch<span class="token punctuation">.</span>yml \
    <span class="token operator">-</span>v <span class="token operator">/</span>opt/es/<span class="token keyword">data</span>:<span class="token operator">/</span>usr/share/elasticsearch/<span class="token keyword">data</span> \
    <span class="token operator">-</span>v <span class="token operator">/</span>opt/es/plugins:<span class="token operator">/</span>usr/share/elasticsearch/plugins \
    <span class="token operator">-</span>d elasticsearch:7<span class="token punctuation">.</span>17<span class="token punctuation">.</span>0
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li></ul></pre> 
    <pre data-index="55" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
    e1c306e6e5a3   elasticsearch:7<span class="token punctuation">.</span>17<span class="token punctuation">.</span>0   <span class="token string">"/bin/tini -- /usr/l…"</span>   22 seconds ago   Up 20 seconds   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:9200->9200/tcp<span class="token punctuation">,</span> :::9200->9200/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:9300->9300/tcp<span class="token punctuation">,</span> :::9300->9300/tcp   elasticsearch
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232327348.png" alt="在这里插入图片描述"></p> 
    <h2><a name="t34"></a><a id="63_Kibana_936"></a>6.3 Kibana部署</h2> 
    <pre data-index="56" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker pull kibana:7.17.0</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="57" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.255.157:9200 -p 5601:5601 \</span>
    <span class="token operator">-</span>d kibana:7<span class="token punctuation">.</span>17<span class="token punctuation">.</span>0
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="58" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE                  COMMAND                  CREATED         STATUS         PORTS                                                                                  NAMES
    fb60e73f9cd5   kibana:7<span class="token punctuation">.</span>17<span class="token punctuation">.</span>0          <span class="token string">"/bin/tini -- /usr/l…"</span>   2 minutes ago   Up 2 minutes   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:5601->5601/tcp<span class="token punctuation">,</span> :::5601->5601/tcp                                              kibana
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232327567.png" alt="在这里插入图片描述"></p> 
    <h1><a name="t35"></a><a id="DockerRedis_971"></a>七、使用Docker容器实现Redis部署</h1> 
    <h2><a name="t36"></a><a id="71__973"></a>7.1 获取参考资料</h2> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232327660.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232327723.png" alt="在这里插入图片描述"><br> <img src="https://1000bd.com/contentImg/2022/08/09/232327926.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232328207.png" alt="在这里插入图片描述"></p> 
    <h2><a name="t37"></a><a id="72_Redis_991"></a>7.2 运行Redis容器</h2> 
    <pre data-index="59" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># mkdir -p /opt/redis/conf</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="60" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># touch /opt/redis/conf/redis.conf</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="61" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -p 6379:6379 --name redis -v /opt/redis/data:/data \</span>
    <span class="token operator">-</span>v <span class="token operator">/</span>opt/redis/conf:<span class="token operator">/</span>etc/redis \
    <span class="token operator">-</span>d redis redis-server <span class="token operator">/</span>etc/redis/redis<span class="token punctuation">.</span>conf
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <pre data-index="62" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE                  COMMAND                  CREATED          STATUS          PORTS                                                                                  NAMES
    9bd2b39cd92a   redis                  <span class="token string">"docker-entrypoint.s…"</span>   44 seconds ago   Up 42 seconds   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:6379->6379/tcp<span class="token punctuation">,</span> :::6379->6379/tcp                                              redis
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <h2><a name="t38"></a><a id="73__1021"></a>7.3 验证</h2> 
    <pre data-index="63" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="64" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># yum -y install redis</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="65" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># redis-cli -h 192.168.255.157 -p 6379</span>
    
    192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:6379> <span class="token function">set</span> test1 a
    OK
    192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:6379> get test1
    <span class="token string">"a"</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li></ul></pre> 
    <h2><a name="t39"></a><a id="74_Redis_1048"></a>7.4 Redis集群</h2> 
    <p>安装redis-cluster;3主3从方式,从为了同步备份,主进行slot数据分片</p> 
    <pre data-index="66" class="set-code-hide prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">编辑运行多个redis容器脚本文件
    <span class="token comment"># vim redis-cluster.sh</span>
    <span class="token comment"># cat redis-cluster.sh</span>
    <span class="token keyword">for</span> port in $<span class="token punctuation">(</span>seq 8001 8006<span class="token punctuation">)</span><span class="token punctuation">;</span> \
    <span class="token keyword">do</span> \
    mkdir <span class="token operator">-</span>p <span class="token operator">/</span>mydata/redis/node-$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span><span class="token operator">/</span>conf
    touch <span class="token operator">/</span>mydata/redis/node-$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span><span class="token operator">/</span>conf/redis<span class="token punctuation">.</span>conf
    <span class="token function">cat</span> << EOF ><span class="token operator">/</span>mydata/redis/node-$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span><span class="token operator">/</span>conf/redis<span class="token punctuation">.</span>conf
    port $<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span>
    cluster-enabled yes
    cluster-config-file nodes<span class="token punctuation">.</span>conf
    cluster-node-timeout 5000
    cluster-announce-ip 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157
    cluster-announce-port $<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span>
    cluster-announce-bus-port 1$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span>
    appendonly yes
    EOF
    docker run <span class="token operator">-</span>p $<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span>:$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span> <span class="token operator">-</span>p 1$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span>:1$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span> <span class="token operator">--</span>name redis-$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span> \
    <span class="token operator">-</span>v <span class="token operator">/</span>mydata/redis/node-$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span><span class="token operator">/</span><span class="token keyword">data</span>:<span class="token operator">/</span><span class="token keyword">data</span> \
    <span class="token operator">-</span>v <span class="token operator">/</span>mydata/redis/node-$<span class="token punctuation">{<!-- --></span>port<span class="token punctuation">}</span><span class="token operator">/</span>conf/redis<span class="token punctuation">.</span>conf:<span class="token operator">/</span>etc/redis/redis<span class="token punctuation">.</span>conf \
    <span class="token operator">-</span>d redis:5<span class="token punctuation">.</span>0<span class="token punctuation">.</span>7 redis-server <span class="token operator">/</span>etc/redis/redis<span class="token punctuation">.</span>conf<span class="token punctuation">;</span> \
    done
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{"spm":"1001.2101.3001.7365"}"><img class="look-more-preCode contentImg-no-view" src="https://1000bd.com/contentImg/2022/06/27/191644837.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li><li style="color: rgb(153, 153, 153);">18</li><li style="color: rgb(153, 153, 153);">19</li><li style="color: rgb(153, 153, 153);">20</li><li style="color: rgb(153, 153, 153);">21</li><li style="color: rgb(153, 153, 153);">22</li></ul></pre> 
    <pre data-index="67" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">执行脚本
    <span class="token comment"># sh redis-cluster.sh</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="68" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">查看已运行容器
    <span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE         COMMAND                  CREATED              STATUS              PORTS                                                                                                NAMES
    8d53864a98ce   redis:5<span class="token punctuation">.</span>0<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   About a minute ago   Up About a minute   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8006->8006/tcp<span class="token punctuation">,</span> :::8006->8006/tcp<span class="token punctuation">,</span> 6379/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:18006->18006/tcp<span class="token punctuation">,</span> :::18006->18006/tcp   redis-8006
    e2b5da0f0605   redis:5<span class="token punctuation">.</span>0<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   2 minutes ago        Up About a minute   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8005->8005/tcp<span class="token punctuation">,</span> :::8005->8005/tcp<span class="token punctuation">,</span> 6379/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:18005->18005/tcp<span class="token punctuation">,</span> :::18005->18005/tcp   redis-8005
    70e8e8f15aea   redis:5<span class="token punctuation">.</span>0<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   2 minutes ago        Up 2 minutes        0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8004->8004/tcp<span class="token punctuation">,</span> :::8004->8004/tcp<span class="token punctuation">,</span> 6379/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:18004->18004/tcp<span class="token punctuation">,</span> :::18004->18004/tcp   redis-8004
    dff8e4bf02b4   redis:5<span class="token punctuation">.</span>0<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   2 minutes ago        Up 2 minutes        0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8003->8003/tcp<span class="token punctuation">,</span> :::8003->8003/tcp<span class="token punctuation">,</span> 6379/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:18003->18003/tcp<span class="token punctuation">,</span> :::18003->18003/tcp   redis-8003
    c34dc4c423ef   redis:5<span class="token punctuation">.</span>0<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   2 minutes ago        Up 2 minutes        0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8002->8002/tcp<span class="token punctuation">,</span> :::8002->8002/tcp<span class="token punctuation">,</span> 6379/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:18002->18002/tcp<span class="token punctuation">,</span> :::18002->18002/tcp   redis-8002
    b8cb5feffb43   redis:5<span class="token punctuation">.</span>0<span class="token punctuation">.</span>7   <span class="token string">"docker-entrypoint.s…"</span>   2 minutes ago        Up 2 minutes        0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8001->8001/tcp<span class="token punctuation">,</span> :::8001->8001/tcp<span class="token punctuation">,</span> 6379/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:18001->18001/tcp<span class="token punctuation">,</span> :::18001->18001/tcp   redis-8001
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li></ul></pre> 
    <pre data-index="69" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">登录redis容器
    <span class="token comment"># docker exec -it redis-8001 bash</span>
    root@b8cb5feffb43:<span class="token operator">/</span><span class="token keyword">data</span><span class="token comment">#</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <pre data-index="70" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">创建redis-cluster
    root@b8cb5feffb43:<span class="token operator">/</span><span class="token keyword">data</span><span class="token comment"># redis-cli --cluster create 192.168.255.157:8001 192.168.255.157:8002 192.168.255.157:8003 192.168.255.157:8004 192.168.255.157:8005 192.168.255.157:8006 --cluster-replicas 1</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li></ul></pre> 
    <pre data-index="71" class="set-code-hide prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">输出:
    >>> Performing hash slots allocation on 6 nodes<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
    Master<span class="token punctuation">[</span>0<span class="token punctuation">]</span> <span class="token operator">-</span>> Slots 0 <span class="token operator">-</span> 5460
    Master<span class="token punctuation">[</span>1<span class="token punctuation">]</span> <span class="token operator">-</span>> Slots 5461 <span class="token operator">-</span> 10922
    Master<span class="token punctuation">[</span>2<span class="token punctuation">]</span> <span class="token operator">-</span>> Slots 10923 <span class="token operator">-</span> 16383
    Adding replica 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8005 to 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8001
    Adding replica 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8006 to 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8002
    Adding replica 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8004 to 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8003
    >>> Trying to optimize slaves allocation <span class="token keyword">for</span> anti-affinity
    <span class="token namespace">[WARNING]</span> Some slaves are in the same host as their master
    M: abd07f1a2679fe77558bad3ff4b7ab70ec41efa5 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8001
       slots:<span class="token punctuation">[</span>0-5460<span class="token punctuation">]</span> <span class="token punctuation">(</span>5461 slots<span class="token punctuation">)</span> master
    M: 40e69202bb3eab13a8157c33da6240bb31f2fd6f 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8002
       slots:<span class="token punctuation">[</span>5461-10922<span class="token punctuation">]</span> <span class="token punctuation">(</span>5462 slots<span class="token punctuation">)</span> master
    M: 9a927abf3c2982ba9ffdb29176fc8ffa77a2cf03 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8003
       slots:<span class="token punctuation">[</span>10923-16383<span class="token punctuation">]</span> <span class="token punctuation">(</span>5461 slots<span class="token punctuation">)</span> master
    S: 81d0a4056328830a555fcd75cf523d4c9d52205c 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8004
       replicates 9a927abf3c2982ba9ffdb29176fc8ffa77a2cf03
    S: 8121a28519e5b52e4817913aa3969d9431bb68af 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8005
       replicates abd07f1a2679fe77558bad3ff4b7ab70ec41efa5
    S: 3a8dd5343c0b8f5580bc44f6b3bb5b4371d4dde5 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8006
       replicates 40e69202bb3eab13a8157c33da6240bb31f2fd6f
    Can I <span class="token function">set</span> the above configuration? <span class="token punctuation">(</span><span class="token function">type</span> <span class="token string">'yes'</span> to accept<span class="token punctuation">)</span>: yes 输入yes
    >>> Nodes configuration updated
    >>> Assign a different config epoch to each node
    >>> Sending CLUSTER MEET messages to join the cluster
    Waiting <span class="token keyword">for</span> the cluster to join
    <span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
    >>> Performing Cluster Check <span class="token punctuation">(</span><span class="token keyword">using</span> node 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8001<span class="token punctuation">)</span>
    M: abd07f1a2679fe77558bad3ff4b7ab70ec41efa5 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8001
       slots:<span class="token punctuation">[</span>0-5460<span class="token punctuation">]</span> <span class="token punctuation">(</span>5461 slots<span class="token punctuation">)</span> master
       1 additional replica<span class="token punctuation">(</span>s<span class="token punctuation">)</span>
    S: 81d0a4056328830a555fcd75cf523d4c9d52205c 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8004
       slots: <span class="token punctuation">(</span>0 slots<span class="token punctuation">)</span> slave
       replicates 9a927abf3c2982ba9ffdb29176fc8ffa77a2cf03
    M: 40e69202bb3eab13a8157c33da6240bb31f2fd6f 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8002
       slots:<span class="token punctuation">[</span>5461-10922<span class="token punctuation">]</span> <span class="token punctuation">(</span>5462 slots<span class="token punctuation">)</span> master
       1 additional replica<span class="token punctuation">(</span>s<span class="token punctuation">)</span>
    S: 8121a28519e5b52e4817913aa3969d9431bb68af 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8005
       slots: <span class="token punctuation">(</span>0 slots<span class="token punctuation">)</span> slave
       replicates abd07f1a2679fe77558bad3ff4b7ab70ec41efa5
    M: 9a927abf3c2982ba9ffdb29176fc8ffa77a2cf03 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8003
       slots:<span class="token punctuation">[</span>10923-16383<span class="token punctuation">]</span> <span class="token punctuation">(</span>5461 slots<span class="token punctuation">)</span> master
       1 additional replica<span class="token punctuation">(</span>s<span class="token punctuation">)</span>
    S: 3a8dd5343c0b8f5580bc44f6b3bb5b4371d4dde5 192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>255<span class="token punctuation">.</span>157:8006
       slots: <span class="token punctuation">(</span>0 slots<span class="token punctuation">)</span> slave
       replicates 40e69202bb3eab13a8157c33da6240bb31f2fd6f
    <span class="token namespace">[OK]</span> All nodes agree about slots configuration<span class="token punctuation">.</span>
    >>> Check <span class="token keyword">for</span> open slots<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
    >>> Check slots coverage<span class="token punctuation">.</span><span class="token punctuation">.</span><span class="token punctuation">.</span>
    <span class="token namespace">[OK]</span> All 16384 slots covered<span class="token punctuation">.</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{"spm":"1001.2101.3001.7365"}"><img class="look-more-preCode contentImg-no-view" src="https://1000bd.com/contentImg/2022/06/27/191644837.png" alt="" title=""></span></div><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li><li style="color: rgb(153, 153, 153);">7</li><li style="color: rgb(153, 153, 153);">8</li><li style="color: rgb(153, 153, 153);">9</li><li style="color: rgb(153, 153, 153);">10</li><li style="color: rgb(153, 153, 153);">11</li><li style="color: rgb(153, 153, 153);">12</li><li style="color: rgb(153, 153, 153);">13</li><li style="color: rgb(153, 153, 153);">14</li><li style="color: rgb(153, 153, 153);">15</li><li style="color: rgb(153, 153, 153);">16</li><li style="color: rgb(153, 153, 153);">17</li><li style="color: rgb(153, 153, 153);">18</li><li style="color: rgb(153, 153, 153);">19</li><li style="color: rgb(153, 153, 153);">20</li><li style="color: rgb(153, 153, 153);">21</li><li style="color: rgb(153, 153, 153);">22</li><li style="color: rgb(153, 153, 153);">23</li><li style="color: rgb(153, 153, 153);">24</li><li style="color: rgb(153, 153, 153);">25</li><li style="color: rgb(153, 153, 153);">26</li><li style="color: rgb(153, 153, 153);">27</li><li style="color: rgb(153, 153, 153);">28</li><li style="color: rgb(153, 153, 153);">29</li><li style="color: rgb(153, 153, 153);">30</li><li style="color: rgb(153, 153, 153);">31</li><li style="color: rgb(153, 153, 153);">32</li><li style="color: rgb(153, 153, 153);">33</li><li style="color: rgb(153, 153, 153);">34</li><li style="color: rgb(153, 153, 153);">35</li><li style="color: rgb(153, 153, 153);">36</li><li style="color: rgb(153, 153, 153);">37</li><li style="color: rgb(153, 153, 153);">38</li><li style="color: rgb(153, 153, 153);">39</li><li style="color: rgb(153, 153, 153);">40</li><li style="color: rgb(153, 153, 153);">41</li><li style="color: rgb(153, 153, 153);">42</li><li style="color: rgb(153, 153, 153);">43</li><li style="color: rgb(153, 153, 153);">44</li><li style="color: rgb(153, 153, 153);">45</li><li style="color: rgb(153, 153, 153);">46</li><li style="color: rgb(153, 153, 153);">47</li><li style="color: rgb(153, 153, 153);">48</li><li style="color: rgb(153, 153, 153);">49</li><li style="color: rgb(153, 153, 153);">50</li><li style="color: rgb(153, 153, 153);">51</li></ul></pre> 
    <h1><a name="t40"></a><a id="DockerRabbitMQ_1177"></a>八、使用Docker容器实现RabbitMQ部署</h1> 
    <h2><a name="t41"></a><a id="81__1179"></a>8.1 获取参考资料</h2> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232328295.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232328363.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232328456.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232328675.png" alt="在这里插入图片描述"></p> 
    <h2><a name="t42"></a><a id="82_RabbitMQ_1198"></a>8.2 部署RabbitMQ</h2> 
    <blockquote> 
     <p>部署带管理控制台的RabbitMQ</p> 
    </blockquote> 
    <pre data-index="72" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 -v /opt/rabbitmq:/var/lib/rabbitmq rabbitmq:management</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li></ul></pre> 
    <pre data-index="73" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;"><span class="token comment"># docker ps</span>
    CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS         PORTS                                                                                                                                                                                                                                             NAMES
    97d28093faa4   rabbitmq:management   <span class="token string">"docker-entrypoint.s…"</span>   11 seconds ago   Up 6 seconds   0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:4369->4369/tcp<span class="token punctuation">,</span> :::4369->4369/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:5671-5672->5671-5672/tcp<span class="token punctuation">,</span> :::5671-5672->5671-5672/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:15671-15672->15671-15672/tcp<span class="token punctuation">,</span> :::15671-15672->15671-15672/tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:25672->25672/tcp<span class="token punctuation">,</span> :::25672->25672/tcp<span class="token punctuation">,</span> 15691-15692/tcp   rabbitmq
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li></ul></pre> 
    <pre data-index="74" class="prettyprint"><code class="prism language-powershell has-numbering" onclick="mdcp.signin(event)" style="position: unset;">端口说明:
    4369<span class="token punctuation">,</span> 25672 <span class="token punctuation">(</span>Erlang发现&集群端口<span class="token punctuation">)</span>
    5672<span class="token punctuation">,</span> 5671 <span class="token punctuation">(</span>AMQP端口<span class="token punctuation">)</span>
    15672 <span class="token punctuation">(</span>web管理后台端口<span class="token punctuation">)</span>
    61613<span class="token punctuation">,</span> 61614 <span class="token punctuation">(</span>STOMP协议端口<span class="token punctuation">)</span>
    1883<span class="token punctuation">,</span> 8883 <span class="token punctuation">(</span>MQTT协议端口<span class="token punctuation">)</span>
    <div class="hljs-button signin" data-title="登录后复制" data-report-click="{"spm":"1001.2101.3001.4334"}"></div></code><ul class="pre-numbering" style=""><li style="color: rgb(153, 153, 153);">1</li><li style="color: rgb(153, 153, 153);">2</li><li style="color: rgb(153, 153, 153);">3</li><li style="color: rgb(153, 153, 153);">4</li><li style="color: rgb(153, 153, 153);">5</li><li style="color: rgb(153, 153, 153);">6</li></ul></pre> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232328784.png" alt="在这里插入图片描述"></p> 
    <p><img src="https://1000bd.com/contentImg/2022/08/09/232328909.png" alt="在这里插入图片描述"></p>
                    </div>
                        </div>
                    </li>
    
                    <li class="list-group-item ul-li">
    
                        <b>相关阅读:</b><br>
                        <nobr>
    <a href="/Article/Index/1248842">Go语言最全面试题,拿offer全靠它,附带免积分下载pdf</a>                            <br />
    <a href="/Article/Index/752051">异常与自定义异常【Java】</a>                            <br />
    <a href="/Article/Index/651467">杰理之关于 TWS 声道配置【篇】</a>                            <br />
    <a href="/Article/Index/666305">【Snabbdom】虚拟DOM-Snabbdom</a>                            <br />
    <a href="/Article/Index/705415">BreederDAO 第一项提案发布:DAO 组织的宪法章程</a>                            <br />
    <a href="/Article/Index/1452548">开发《俄罗斯方块》的意义</a>                            <br />
    <a href="/Article/Index/639679">MySQL高级SQL语句(终章)</a>                            <br />
    <a href="/Article/Index/1283949">uni-app:单页面的页面切换</a>                            <br />
    <a href="/Article/Index/1399851">SpringBoot 实体参数(用于请求参数比较多时使用)</a>                            <br />
    <a href="/Article/Index/898433">mysql数据库、表、列的字符集和校对规则</a>                            <br />
                        </nobr>
                    </li>
                    <li class="list-group-item from-a mb-2">
                        原文地址:https://blog.csdn.net/zhougubei/article/details/126158876
                    </li>
    
                </ul>
            </div>
    
            <div class="col-lg-4 col-sm-12">
                <ul class="list-group" style="word-break:break-all;">
                    <li class="list-group-item ul-li-bg" aria-current="true">
                        最新文章
                    </li>
                    <li class="list-group-item ul-li">
                        <nobr>
    <a href="/Article/Index/1484446">攻防演习之三天拿下官网站群</a>                            <br />
    <a href="/Article/Index/1515268">数据安全治理学习——前期安全规划和安全管理体系建设</a>                            <br />
    <a href="/Article/Index/1759065">企业安全 | 企业内一次钓鱼演练准备过程</a>                            <br />
    <a href="/Article/Index/1485036">内网渗透测试 | Kerberos协议及其部分攻击手法</a>                            <br />
    <a href="/Article/Index/1877332">0day的产生 | 不懂代码的"代码审计"</a>                            <br />
    <a href="/Article/Index/1887576">安装scrcpy-client模块av模块异常,环境问题解决方案</a>                            <br />
    <a href="/Article/Index/1887578">leetcode hot100【LeetCode 279. 完全平方数】java实现</a>                            <br />
    <a href="/Article/Index/1887512">OpenWrt下安装Mosquitto</a>                            <br />
    <a href="/Article/Index/1887520">AnatoMask论文汇总</a>                            <br />
    <a href="/Article/Index/1887496">【AI日记】24.11.01 LangChain、openai api和github copilot</a>                            <br />
                        </nobr>
                    </li>
                </ul>
    
                <ul class="list-group pt-2" style="word-break:break-all;">
                    <li class="list-group-item ul-li-bg" aria-current="true">
                        热门文章
                    </li>
                    <li class="list-group-item ul-li">
                        <nobr>
    <a href="/Article/Index/888177">十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!</a>                            <br />
    <a href="/Article/Index/797680">奉劝各位学弟学妹们,该打造你的技术影响力了!</a>                            <br />
    <a href="/Article/Index/888183">五年了,我在 CSDN 的两个一百万。</a>                            <br />
    <a href="/Article/Index/888179">Java俄罗斯方块,老程序员花了一个周末,连接中学年代!</a>                            <br />
    <a href="/Article/Index/797730">面试官都震惊,你这网络基础可以啊!</a>                            <br />
    <a href="/Article/Index/797725">你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法</a>                            <br />
    <a href="/Article/Index/797702">心情不好的时候,用 Python 画棵樱花树送给自己吧</a>                            <br />
    <a href="/Article/Index/797709">通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!</a>                            <br />
    <a href="/Article/Index/797716">13 万字 C 语言从入门到精通保姆级教程2021 年版</a>                            <br />
    <a href="/Article/Index/888192">10行代码集2000张美女图,Python爬虫120例,再上征途</a>                            <br />
                        </nobr>
                    </li>
                </ul>
    
            </div>
        </div>
    </div>
    <!-- 主体 -->
    
    
        <!--body结束-->
        <!--这里是footer模板-->
        
        <!--footer-->
    <nav class="navbar navbar-inverse navbar-fixed-bottom">
        <div class="container">
            <div class="row">
                <div class="col-md-12">
                    <div class="text-muted center foot-height">
                        Copyright © 2022 侵权请联系<a href="mailto:2656653265@qq.com">2656653265@qq.com</a>   
                        <a href="https://beian.miit.gov.cn/" target="_blank">京ICP备2022015340号-1</a>
                    </div>
                    <div style="width:300px;margin:0 auto; padding:0px 5px;">
                        <a href="/regex.html">正则表达式工具</a>
                        <a href="/cron.html">cron表达式工具</a>
                        <a href="/pwdcreator.html">密码生成工具</a>
                    </div>
                    <div style="width:300px;margin:0 auto; padding:5px 0;">
                        <a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010502049817" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;">
                        <img src="" style="float:left;" /><p style="float:left;height:20px;line-height:20px;margin: 0px 0px 0px 5px; color:#939393;">京公网安备 11010502049817号</p></a>
                    </div>
                </div>
            </div>
        </div>
      
    </nav>
    <!--footer-->
    
        <!--footer模板结束-->
    
        <script src="/js/plugins/jquery/jquery.js"></script>
        <script src="/js/bootstrap.min.js"></script>
    
        <!--这里是scripts模板-->
        
    
        
     
    
    
        <!--scripts模板结束-->
    
    </body>
    </html>