0%

Macos下使用docker安装宝塔

之前试过用pd或者VM跑centos 都有各种小问题。昨天有朋友告诉我有现成的docker方案 所以重新尝试一下。

1、安装docker
官网直接下载 按照提示安装

https://www.docker.com/products/docker-desktop
阿里云镜像下载地址
http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/

2、配置docker(此步骤非必须的)

修改为国内镜像  
阿里云是专用的速度还不错  打开阿里云登录,然后打开 容器镜像服务 镜像加速器 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
可以获取到类似 的地址
https://to16q0o6.mirror.aliyuncs.com

其他还有
https://registry.docker-cn.com
http://hub-mirror.c.163.com

打开docker 按照提示 输入mac系统密码 安装帮助程序 等待状态栏
状态栏点击 小鲸鱼 Preferences 或者点小齿轮 找到 Docker Engine 修改默认的

1
2
3
4
{
"debug": true,
"experimental": false
}

修改为

1
2
3
4
5
6
7
{
"registry-mirrors": [
"https://to16q0o6.mirror.aliyuncs.com"
],
"debug": true,
"experimental": false
}

点 apply&restart

3、下载 pch18 制作的宝塔镜像
官网:https://github.com/pch18-docker/baota

1
2
3
4
5
6
pch18/baota或pch18/baota:latest等同 pch18/baota:lnmp
pch18/baota:lnmp 为最新版本的官方纯净安装的基础上安装nginx,mysql,php
pch18/baota:lnp 为官方版本纯净安装的基础上安装nginx,php(不内置mysql,用于外置数据库的环境)
pch18/baota:lamp 为官方版本纯净安装的基础上安装apache,php
pch18/baota:lap 为官方版本纯净安装的基础上安装apache,php(不内置mysql,用于外置数据库的环境)
pch18/baota:clear 为官方版本纯净安装, 不默认安装nginx,mysql,php等程序

我这里选择clear 自己安装nginx和php mysql 使用mac
打开mac 的shell 输入

1
2
docker pull pch18/pch18/baota:clear #下载
docker images #查看镜像

clear镜像也有 569MB 有点蛋疼,不过考虑到centos本身欧200M 宝塔和何种依赖库加起来也不小。希望pch18会继续优化
4、启动镜像
我映射了两个端口进去 一是8099 到80 ,第二个是面板端口改为9981,其他端口不需要所以没有添加 其他端口自行决定 给了256M内存。
映射了当前mac用户的 文稿/wwwwroot进去用于保存网站php文件
在创建之前确定要自己要用的端口 和目录,创建后再修改好像只能重新做镜像挺麻烦的。
其他参考pch18的github说明

1
2
3
4
docker run -tid --name bt -p 8099:80 -p 9981:9981  --privileged=true --shm-size=256m --restart always -v ~/Documents/wwwroot:/www/wwwroot pch18/baota:clear
docker exec -it bt /bin/sh #进入容器
echo '9981' > /www/server/panel/data/port.pl && /etc/init.d/bt restart #修改宝塔端口并重启
exit #退回mac


5、浏览器配置宝塔
Safari 打开 http://127.0.0.1:9981/
初始账号 username
初始密码 password
登录后简单配置一下,修改用户密码等
6、重启docker测试一下数据还在不在
docker restart bt
一切正常,把面板更新到最新版!(2020年8月 宝塔7.2的phpmyadmin爆出重大安全漏洞 还是更新一下)
继续安装 所需的文件

其他一些docker常用命令

1
2
3
4
5
6
7
8
9
10
docker ps #查看容器
docker images #查看本地镜像
docker restart bt #重启容器bt
docker stop bt #关闭容器bt
docker kill bt #不保存马上关闭容器bt
docker start bt #启动容器bt
docker exec -it bt /bin/sh #进入容器sh

docker rmi pch18/baota:clear #删除镜像 pch18/baota:clear
docker rm -fv bt #彻底删除容器bt