一、先去docker官网(http://docker.com)下载软件并进行安装,网站打不开多试几次或者找梯子。
二、macos系统里按"command + 空格"搜索"终端"回车,启动终端程序。
三、执行下面命令,拉取docker镜像。
bash
docker pull pch18/baota:clear
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等程序
(这里我们拉取一个纯净的版本。然后再安装我们需要的环境。)
四、镜像拉好以后,先创建一个volume数据卷。
bash
docker volume create baota
五、启动容器。
bash
docker run -tid --name baota -p 80:80 -p 443:443 -p 8888:8888 -p 888:888 -p 8022:8022 --privileged=true --shm-size=1g --restart always -v baota:/www -v ~/wwwroot:/www/wwwroot pch18/baota:clear
六、进入容器。
bash
docker exec -it baota /bin/bash
七、输入命令"bt"修改宝塔登录账号和密码。
bash
[root@e923d9d8b2df wwwroot]# bt
===============宝塔面板命令行==================
(1) 重启面板服务 (8) 改面板端口
(2) 停止面板服务 (9) 清除面板缓存
(3) 启动面板服务 (10) 清除登录限制
(4) 重载面板服务 (11) 设置是否开启IP + User-Agent验证
(5) 修改面板密码 (12) 取消域名绑定限制
(6) 修改面板用户名 (13) 取消IP访问限制
(7) 强制修改MySQL密码 (14) 查看面板默认信息
(22) 显示面板错误日志 (15) 清理系统垃圾
(23) 关闭BasicAuth认证 (16) 修复面板(检查错误并更新面板文件到最新版)
(24) 关闭动态口令认证 (17) 设置日志切割是否压缩
(25) 设置是否保存文件历史副本 (18) 设置是否自动备份面板
(0) 取消 (29) 取消访问设备验证
===============================================
请输入命令编号:
选择第5项和第6项进行修改,修改完成后通过http://ip:8888访问。到这里基本就算完成了。剩下的就是宝塔的使用了。
八、这里我说一说我的使用案例及问题和解决。
我在宝塔里安装php7.4 和 nginx1.18.0使用。假设我后续需要新增映射端口怎么办?以下操作不会删除数据,你的宝塔环境配置及安装的软件都是存在了baota这个volume数据卷,站点文件都是存放在wwwroot目录里。
先停止容器
bash
docker stop baota
删除容器
bash
docker rm baota
启动新容器
bash
docker run -tid --name baota -p 80:80 -p 443:443 -p 8888:8888 -p 888:888 -p 8022:8022 -p 3306:3306 --privileged=true --shm-size=1g --restart always -v baota:/www -v ~/wwwroot:/www/wwwroot pch18/baota:lnp
注意这里的启动命令与第五步的区别,新增了一个 -p 3306:3306(我们需要新增的端口,有多个就按这个格式继续在后面加上,还有就是末尾处镜像由pch18/baota:clear变成了pch18/baota:lnp(如果不改变的话,会因为linux系统缺少相应的依赖而无法启动nginx和php,当然你不怕麻烦也可以不改,自己去解决依赖问题,改了也不会使用镜像的版本,依然是你之前安装的版本)。