侧边栏壁纸
博主头像
AngusWong's博客 博主等级

行动起来,活在当下

  • 累计撰写 25 篇文章
  • 累计创建 26 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Docker安装宝塔环境

Administrator
2022-11-02 / 0 评论 / 0 点赞 / 8 阅读 / 0 字
由于Mac新版本的系统MAMP Pro无法很好的使用,故安装Docker版本宝塔面板做为开发环境! [h2title]使用环境:[/h2title] Macos Ventura 13.0 Docker Desktop 信息如下   [h2title]镜像选择[/h2title] 宝塔面板最推荐的环境是Centos7,所以这里选择Centos7系统 [h2title]运行命令,生成容器[/h2title] docker run -dit -p 80:80 -p 443:443 -p 3306:3306 -p 888:888 -p 8888:8888 --restart always -v /Users/username/work:/www/wwwroot --name baota centos:7.9.2009 映射出端口80,443,3306,888,8888 映射目录/Users/username/work 为 容器里面的/www/wwwroot,用于存放网站数据  
docker run -dit -p 80:80 -p 443:443 -p 3306:3306 -p 888:888 -p 8888:8888 --restart always -v /Users/huangyuqiang/work:/www/wwwroot --name baota centos:7.9.2009
Unable to find image 'centos:7.9.2009' locally
7.9.2009: Pulling from library/centos
Digest: sha256:c73f515d06b0fa07bb18d8202035e739a494ce760aa73129f60f4bf2bd22b407
Status: Downloaded newer image for centos:7.9.2009
7658519accb821838967254c549708b59ea57cb5e15207086572c181cf67bd0e
[h2title]安装宝塔面板[/h2title] 使用命令『docker exec -it 容器ID /bin/sh』 进入容器shell,然后使用命令 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec 安装BT面板!
docker exec -it 7658519accb821838967254c549708b59ea57cb5e15207086572c181cf67bd0e /bin/sh
sh-4.2# yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
.......

Complete!
Failed to get D-Bus connection: Operation not permitted
Error: DBUS_ERROR: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
install.sh: line 812: ip: command not found
==================================================================
Congratulations! Installed successfully!
==================================================================
外网面板地址: http://110.191.212.16:8888/2d166e83
内网面板地址: http://:8888/2d166e83
username: fha192kl
password: e13b1cf7
If you cannot access the panel,
release the following panel port [8888] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口
==================================================================
Time consumed: 3 Minute!
如上所示,宝塔面板安装完成,如果端口号不是8888,请使用bt命令修改为8888
sh-4.2# bt
===============宝塔面板命令行==================
(1) 重启面板服务           (8) 改面板端口
(2) 停止面板服务           (9) 清除面板缓存
(3) 启动面板服务           (10) 清除登录限制
(4) 重载面板服务
(5) 修改面板密码           (12) 取消域名绑定限制
(6) 修改面板用户名         (13) 取消IP访问限制
(7) 强制修改MySQL密码      (14) 查看面板默认信息
(22) 显示面板错误日志      (15) 清理系统垃圾
(23) 关闭BasicAuth认证     (16) 修复面板(检查错误并更新面板文件到最新版)
(24) 关闭动态口令认证          (17) 设置日志切割是否压缩
(25) 设置是否保存文件历史副本  (18) 设置是否自动备份面板
(0) 取消                   (29) 取消访问设备验证
===============================================
请输入命令编号:8
选择编号8把端口修改回8888,因为其他端口未映射,不便于访问。 [h2title]进入宝塔面板安装服务[/h2title] 使用 http://127.0.0.1:8888/2d166e83 进入宝塔管理页安装想使用的服务。 [h2title]设置宝塔面板和服务自动启动[/h2title] 现在面板和环境已经弄好,但是重启容器后不能访问了, 这是因为面板和服务器都没有启动,这时需要增加一个脚本用于启动这些服务。 脚本请放在目录/etc/profile.d,这里面的脚本会自动启动,文件名随意,扩展名为.sh,比如btstart.sh,然后给文件运行权限,chmod +x btstart.sh
#!/bin/bash
echo "=======start======="
bt start
initDir="/etc/init.d/"
for i in /etc/init.d/*; do
    if [ -f "$i" ] && [ "$i" != "${initDir}README" ] && [ "$i" != "${initDir}bt" ]; then
        $i start
    fi
done
文件弄好后,重启将会自动启动宝塔面板和服务。   [h2title]php网站调试设置[/h2title] 安装xdebug扩展 修改配置文件,在配置文件下面加上如下内容,如下图所示,然后重载php配置让其生效
xdebug.client_host = docker.for.mac.localhost
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.remote_handler = "dbgp"
xdebug.client_port = 9000
[danger]注意事项[/danger] 外部数据库使用root是无法连接数据库的,需要修改一个root用户的Host的,具体修改命令如下所示
mysql -uroot -p

use mysql

update user set Host='%' where User='root';

flush privileges;
实际操作效果如下所示:
mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 5.7.39-log Source distribution

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use mysql
Database changed
mysql> update user set Host='%' where User='root';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql>
   
0

评论区