乐趣区

关于docker:生产环境下如何优雅地使用-Docker-运行宝塔面板

<p> 此计划可能是全网最快的 宝塔面板 部署计划。温习计算机网络时轻度折腾了 Linux、Docker、路由器 等,竟忽然想到 Docker 部署宝塔面板的完满解决方案。在此应用 Python 开发并制作了宝塔面板 Docker 镜像。</p>

<p> 您可能存在疑难,宝塔面板为何不间接装到零碎中?咱们应用不同的服务器,往往产生较大环境差别,CentOS、Debian、Ubuntu?每次新装宝塔面板,都须要抉择对应零碎的脚本,漫长的装置过程不提,首次登录须要应用系统生成的账号和明码,每次搭建须要重新配置局部环境,同时保留好每个服务器的 url、账户、明码。如果您和我一样,较高频率地应用服务器开发,便感到非常繁琐。有没有一个工具能一键秒建宝塔面板,并在搭建过程中配置好账户信息?由此便失去了明天的配角,cyberbolt/baota。依然有疑难,宝塔面板运行的生产环境,如 MySQL,并不适宜将数据全副存储在容器中,理论工作中可能遇到安全隐患。在此我提供了 计划二,生产环境中将容器内宝塔面板的运行目录挂载至宿主机硬盘中。您会发现,无论是 计划一 还是 二,对罕用 Docker 的开发者来说,都远比间接装置宝塔便捷。在 Docker 中运行宝塔面板,因为容器的隔离性,惟一的不同便是 舍弃了局部零碎性能,您间接通过宝塔批改零碎,只能作用于容器,并不会影响宿主机零碎,但这恰好也是容器的长处。而罕用的 Nginx、MySQL(MariaDB) 等均能完满应用。</p>

<p> </p>

<p>Docker 部署宝塔面板 </p>

<p> 此计划可能是全网最快的 宝塔面板 部署计划。该镜像基于 宝塔 Linux 正式版 7.7.0(官网污浊版,可降级)制作。保护脚本应用 Python 开发,源码和 Dockerfile 均已上传至 GitHub(欢迎您的 Star)。</p>

<p> 本镜像仅保留了最精简的 宝塔面板,未装置任何插件。初始化容器后,您能够依据须要抉择装置插件。”Simple is better than complex!” 此外,如果您在生产环境下部署宝塔面板,请务必参考  计划二  创立容器。</p>

<p> 应用办法如下:</p>

<p>(注:为了不便部署,该镜像去除了平安入口,您能够自行配置)</p>

<p> 计划一(最快化部署)</p>

<pre>
docker run -itd --net=host --restart=always --name baota cyberbolt/baota:latest -port 端口号 -username 用户名 -password 明码
</pre>

<p> 示例如 </p>

<pre>
docker run -itd --net=host --restart=always --name baota cyberbolt/baota:latest -port 8888 -username cyberbolt -password abc123456
</pre>

<p>–net=host : 容器和主机应用同一网络 </p>

<p>–restart=always: 守护过程,容器挂掉将主动重启 </p>

<p>-port : 填写宝塔面板运行的端口号 </p>

<p>-username: 填写宝塔面板的用户名 </p>

<p>-password : 填写宝塔面板的明码 </p>

<pre>
该办法的登录形式:

登陆地址: http://{{服务器的 ip 地址}}:{{您输出的端口号}}

账号: 您填写的用户名

明码: 您填写的明码

</pre>

<p> 如果您未自定义用户名和明码,间接应用的如下命令 </p>

<pre>
docker run -itd --net=host --restart=always --name baota cyberbolt/baota:latest
</pre>

<p> 宝塔面板也会主动创立,此时可通过默认信息登录,默认信息为 </p>

<pre>

登陆地址: http://{{服务器的 ip 地址}}:8888

账号: cyber

明码: abc12345

</pre>

<p> 计划二(生产环境部署)</p>

<p> 生产环境中,为了防止极小概率的数据失落,咱们将容器内的宝塔文件映射到宿主机的目录中(您之后装置的 Nginx、MySQL 等服务均会挂载到宿主机目录)。该办法是 Docker 部署宝塔面板的最优计划,能够在生产环境中运行。</p>

<p> 首先按最简计划创立一个测试容器(为保留宝塔文件到宿主机目录中)</p>

<p> 输出命令创立测试容器(这里仅为测试容器,为防止出错,前面几步请一成不变地复制粘贴)</p>

<pre>
docker run -itd --net=host --name baota-test cyberbolt/baota:latest -port 26756 -username cyberbolt -password abc123456
</pre>

<p> 将 Docker 容器中的 /www 目录 拷贝至宿主机的 /www</p>

<pre>
docker cp baota-test:/www /www
</pre>

<p> 拷贝实现后删除创立的测试容器 </p>

<pre>
docker stop baota-test && docker rm baota-test
</pre>

<p> 创立宝塔面板容器,并将宿主机目录映射至容器中(自行输出面板的 端口号、用户名 和 明码 后即可实现部署)</p>

<pre>
docker run -itd -v /www:/www --net=host --restart=always --name baota cyberbolt/baota:latest -port 端口号 -username 用户名 -password 明码
</pre>

<p> 示例如 </p>

<pre>
docker run -itd -v /www:/www --net=host --restart=always --name baota cyberbolt/baota:latest -port 8888 -username cyberbolt -password abc123456
</pre>

<p>–net=host : 容器和主机应用同一网络 </p>

<p>–restart=always: 守护过程,容器挂掉将主动重启 </p>

<p>-port : 填写宝塔面板运行的端口号 </p>

<p>-username: 填写宝塔面板的用户名 </p>

<p>-password : 填写宝塔面板的明码 </p>

<pre>
该办法的登录形式:

登陆地址: http://{{服务器的 ip 地址}}:{{您输出的端口号}}

账号: 您填写的用户名

明码: 您填写的明码

</pre>

<p> 部署胜利!</p>

<p> 电光笔记官网 https://www.cyberlight.xyz/</p>

<p> </p>

退出移动版