docker安装宝塔面板踩坑

2023-05-16

如下是针对centos7容器的安装方法【dockerHub现在是centosos8,但是centos8目前宝塔安装还不是很顺】

PULL 一个centos镜像

docker pull centos:centos7

通过centos镜像启动一个名未baota的容器

docker run -i -t -d --name baota -p 120:20 -p 121:21 -p 180:80 -p 1443:443 -p 188:888 -p 9888:8888 --privileged -v ~/home/www:/www centos:centos7  /sbin/init

主要参数说明:

--name docker容器名称
-p端口转发 宿主机端口:docker容器端口
--privileged殊授权[看到网上很多老贴这个参数后面都跟了=true 可是我的后面跟 =true总是不对](容器内部的写权限)很重要
-v 持久化 (保存修改后的内容) 不设置则容器停止后容器内部的修改会丢失
~/home/www:/www 将宿主机 ~/home/www映射到容器中的/www目录
/sbin/init 容器内部服务自启

进入容器和相关操作

进入容器:使用docker ps 查看容器ID或则直接跟容器名

docker exec -it [容器id]  /bin/bash
docker exec -it baota /bin/bash

安装宝塔

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

踩坑

坑一、启动容器访问没有任何问题,提交生成新镜像重新启动后能访问过了一会儿无法访问(或则一直都无法访问),考虑是否被防火墙拦截了

验证方法:
在宿主机curl 宝塔面板 如果返回 类似curl: (56) Recv failure: Connection reset by peer则可能是被拦截

curl http://127.0.0.1:9888/26eeee45
curl: (56) Recv failure: Connection reset by peer

解决方案: 在容器中 添加放开规则或则关闭防火墙(以下为防火墙放开端口) 端口号也是针对容器内部的端口

#添加防火墙放开端口 
 firewall-cmd --zone=public --add-port=8888/tcp --permanent
 firewall-cmd --zone=public --add-port=80/tcp --permanent
 firewall-cmd --zone=public --add-port=888/tcp --permanent
 
#如果出现以下报错 检查 --privileged殊授权参数 [看到网上很多老贴这个参数后面都跟了=true 可是我的后面跟 =true总是不对](容器内部的写权限)很重要
System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down

 #更新防火墙 规则
 firewall-cmd --reload。

如果不出意外完成防火墙放开所有需要的端口规则即可访问和正常使用

坑二、当我打包后移植到我的虚拟机(1核2g)启动发现mysql居然无法启动起来 从宝塔面板重启提示重启成功,但是依然是停止状态

于是命令行重启看具体情况

/etc/init.d/mysqld restart 
#结果出现如下错误
 ERROR! MySQL server PID file could not be found!
Starting MySQL. ERROR! The server quit without updating PID file (/www/server/data/28d48c9b542c.pid).

无赖网上给的关于这个的处理方法均无效,所以就撸了一下mysql日志(默认错误日志目录/www/server/data/*.err)

191214  6:28:40 [Note] Plugin 'FEDERATED' is disabled.
191214  6:28:40 InnoDB: The InnoDB memory heap is disabled
191214  6:28:40 InnoDB: Mutexes and rw_locks use GCC atomic builtins
191214  6:28:40 InnoDB: Compressed tables use zlib 1.2.11
191214  6:28:40 InnoDB: Using Linux native AIO
191214  6:28:40 InnoDB: Initializing buffer pool, size = 1.0G
InnoDB: mmap(1098907648 bytes) failed; errno 12
191214  6:28:40 InnoDB: Completed initialization of buffer pool
191214  6:28:40 InnoDB: Fatal error: cannot allocate memory for the buffer pool
191214  6:28:40 [ERROR] Plugin 'InnoDB' init function returned error.
191214  6:28:40 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
191214  6:28:40 [ERROR] Unknown/unsupported storage engine: InnoDB
191214  6:28:40 [ERROR] Aborting

191214  6:28:40 [Note] /www/server/mysql/bin/mysqld: Shutdown complete+

在这里插入图片描述
找到关键错误 Fatal error: cannot allocate memory for the buffer pool 百度了一下有人说是内存分配问题然后打开mysql配置发现innodb_buffer_pool_size默认分配了1024M,很明显我的宿主机才2048跑系统再跑docker肯定所剩不住1024M,遂改为50M然后重启docker,到此完美运行

辅助方法

忘记宝塔默认账号密码 下面命令二选一

#容器中执行以下命令
bt default
#宿主机执行
docker exec baota bt default 

如需要移植则需要童鞋们自己研究一下commit 打包或则dockerHUB移植了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker安装宝塔面板踩坑 的相关文章

随机推荐

  • eclipse集成git关联到gitee同步代码

    eclipse集成git关联到gitee同步代码 1 注册gitee2 eclipse集成git3 eclipse配置git4 gitee配置用户ssh公钥5 本地新建项目提交到本地git仓库6 本地git仓库提交到远程gitee仓库7 修
  • JavaEE互联网轻量级框架整合开发-1入门和技术基础-JDK代理

    JDK代理 1 定义接口 public interface HelloYuan public void sayHelloYuan 2 实现接口 public class HelloYuanImpl implements HelloYuan
  • 阿里巴巴代码规范4点

    阿里巴巴代码规范 一 安全规约 前端 后端接口进行权限和角色校验展示敏感数据时需脱敏 xff08 用户个人手机号码 xff1a 137 3927 xff09 SQL注入问题 xff08 字符串拼接访问数据库 xff09 xff0c 表示先编
  • Cannot read property ‘appendChild‘ of null错误

    记前端Js报错 xff0c Cannot read property appendChild of null 页面由上至下执行 xff0c 提示获取不到插入的节点 将js代码放到body中的最后面
  • The new driver class is `com.mysql.cj.jdbc.Driver‘.

    记一次数据库连接数据库报错 报错提示 xff1a Loading class com mysql jdbc Driver 39 This is deprecated The new driver class iscom mysql cj j
  • Consider defining a bean of type ‘com.project.springboot.mapper.UserMapper‘ in your configuration.

    新建springboot项目启动时出现报错 xff1a Consider defining a bean of type com project springboot mapper UserMapper in your configurat
  • 面试官:如何优化sql

    在面试的环节中 xff0c 面试官问到 xff1a 你是如何设计你的表结构的 xff0c 画一下E R图 xff1f 接着又继续深挖 xff0c 如果有慢查询 xff0c 你是如何优化你的sql的 xff1f 今天 xff0c 我就来和大家
  • PageNotFound.noHandlerFound No mapping found for HTTP request with URI

    学习SpringMVC接收参数 xff0c 不小心配置xml文件包名出错 浏览器访问出现以下报错 xff0c 后端提示 xff1a org span class token punctuation span springframework
  • The driver has not received any packets from the server

    idea启动本地项目提示报错 The driver has not received any packets from the server xff0c 可能是数据库Mysql服务被停止 解决办法 xff1a 1 打开计算机的任务管理器 2
  • [Vue-Treeselect Warning] Detected duplicate presence of node id

    只能说出现这个问题的小伙伴们 xff0c 和曾经的我一样 xff0c 给自己挖了一个巨坑 问题点 xff1a 不影响任何业务需求或者操作 xff0c 但是在控制台出现了以上截图报错 xff08 找到问题的我不顾上班时间 xff0c 愤怒写下
  • vmware-horizon-client安装失败无反应

    公司周日下午5点说开始远程办公 xff0c 让我们装上vmware horizon client开始居家办公啦 xff0c 但是捏 xff0c 我昨天光是安装就傻了 xff0c 整一晚上 xff0c 点击安装软件exe xff08 下面截图
  • springboot搭建web项目

    记录在本地搭建的springboot web项目 1 file gt New gt Project 2 选择Spring Initializr gt next 3 选择对应构建 开发语言 打包方式 JDK版本等内容 4 选择需要添加的依赖
  • SyntaxError: Unexpected token ‘.‘

    开发时vscode弹出插件更新 手一抖安装了插件vue Language Featues xff08 Volar xff09 本来正常运行的代码报错 xff1a SyntaxError Unexpected token span class
  • java项目调用SAP函数报错

    公司内部新增一个java项目调用SAP系统中的函数 调试时出现如下问题 xff08 xff09 问题一 xff1a com sap conn jco JCoException span class token punctuation spa
  • 计算机概论

    最近要学习Linux系统 xff0c 所以顺道将计算机的前世今生也学习了 xff0c 下面做个读书笔记增强记忆 一 计算机的组成 1 计算机硬件的五大单元 从外观看来 xff0c 计算机主要分为三部分 xff1a 输入单元 xff1a 包括
  • Ubuntu18.04安装QT5.14.2

    Ubuntu18 04安装QT5 14 2以及QT导入项目问题和解决办法 1 官网下载安装包2 官网注册账号3 安装4 解决bug5 QT导入项目6 其他Ubuntu18 04安装github desktop 7 QTimer不能同时使用两
  • Mysql GROUP BY 排除null数据

    最近在Mysql发现一个问题 xff0c 当我们如果使用GROUP BY如果出现NULL值 xff0c MYSQL会怎样处理 而且如果我需要把每个NULL值都打印出来而不是分组 xff0c 那该怎么办 xff1f 下面我们做个试验 xff1
  • LIMIT 10000,10会发生什么?

    LIMIT分页优化 进行分页操作时 xff0c 通常都会通过偏移量来查询某些数据 然后再加上合适的order by子句 xff0c order by的列加上了索引 xff0c 性能一般都不错 xff0c 而如果没有对应的索引的话 xff0c
  • DataTables warning: table id=DataTables_Table_0 解决方案

    laravel在使用JQueryDataTable插件数据展示时 xff0c 弹出 DataTables warning table id 61 DataTables Table 0 Requested unknown parameter
  • docker安装宝塔面板踩坑

    如下是针对centos7容器的安装方法 dockerHub现在是centosos8 xff0c 但是centos8目前宝塔安装还不是很顺 PULL 一个centos镜像 docker pull centos centos7 通过centos