1、打开链接:https://www.docker.com/get-started,找对应的版本下载docker,安装docker,再点击右上角的设置按钮修改下载镜像为国内链接,如下图
图下面有附上粘贴的代码:
输入以下代码,保存重启docker
{
"features": {
"buildkit": true
},
"registry-mirrors": [
"http://hub-mirror.c.163.com"
],
"experimental": false
}
2、拉取宝塔集成镜像,在终端输入,
如果是windows就打开内置终端(管理员权限),如果是Linux和Mac,直接用内置的终端,输入以下代码,拉取集成宝塔Linux镜像,会用到上面设置好的国内下载镜像链接
docker pull pch18/baota
输入代码后等待执行,拉取成功后,会看到集成宝塔的Linux的镜像,如下图
3、生成一个新的容器名叫bt7,并且映射本地端口到容器,映射本地路径到容器
#终端直接运行命令,bt7是自定义容器名称,/Volumes/disk/docker/bt7/wwwroot这个是你本地的路径,根据自己的路径设置(这里如果设置不对,后面在宝塔新建站点的代码会看不见),/www/wwwroot这个是容器的路径,不能改
docker run -i -t -d --restart=always --name bt7 -p 20:20 -p 21:21 -p 22:22 -p 5566:80 -p 443:443 -p 888:888 -p 8888:8888 -p 3306:3306 --privileged=true -v /Volumes/disk/docker/bt7/wwwroot:/www/wwwroot pch18/baota
–name 后是自定义的容器名称,我命名它叫bt7;
-p 20:20 把本地的端口映射到容器的端口,前面的20是本地的,后面的端口是容器的;
-p 5566:80 意思是把本地的5566端口映射到容器的80端口,后面网站的链接就是http://域名:5566,比如我的宝塔新建站点设置的域名是gzdzh.cn,那么浏览器打开就是http://gzdzh.cn:5566,这里你也可以用80作为你的本地端口,但是我的80端口有其他程序占用了;
-p 8888:8888 设置本地宝塔打开端口是8888映射到容器的8888;
/Volumes/disk/docker/bt7/wwwroot:/www/wwwroot pch18/baota 就是本地路径(根据自己的路径写)映射到容器路径/www/wwwroot,pch18/baota不能改
命令注释:
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-d: 后台运行容器,并返回容器ID;
–name=“bt7”: 为容器指定一个名称;
-p: 端口映射,格式为:主机(宿主)端口:容器端口, 可以多次使用
–privileged: 此参数, 不做解释,对我来说可有可无
-v:挂载目录 本机目录:容器目录(/Users/lilie/web:/www)
映射成功后会看到一个新的容器,容器可以无数个,他是上面拉取的集成宝塔的Linux镜像的一个影子,每个映射的容器都相互独立,不影响,都来源于镜像,又独立于镜像,但依赖镜像。
如下图:
映射好后,在浏览器打开:localhost:8888就可以打开宝塔页面了,默认的账号密码不知道是哪个,只能进入容器里面修改。
4、在终端输入代码重置宝塔登录用户名和密码,如下图
docker exec -it bt7 bash #进入容器
/etc/init.d/bt #面板命令
#根据终端的提示重置用户名和密码,重置好后回到服务器登录宝塔
设置自己的的账号密码,然后在浏览器上面登录,接下来安装自己的php环境。