引子
客户需要制作一个小程序,不肯单独租一个服务器,提供了一台其他环境的服务器,不能乱折腾里面的环境,所以想要用docker进行 配置一个宝塔环境。配个nginx ,进行无干扰使用吧。
安装docker及centos容器
-
docker安装:
使用官方安装脚本自动安装安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
启动docker
-
拉取centos镜像
docker pull centos
-
运行容器(注意 事先想好端口映射,后续更改较烦)
docker run -dit -p 8088:80 -p 334:443 -p 3309:3306 -p 9001:9000 -p 8889:8888 --privileged=true --name=btlnmpalipine centos
Docker run 以**镜像启动一个容器
-p : 端口映射 就是宿主机的端口映射到Docker镜像的端口去 8088是宿主机的,后面80的是运行的镜像的端口。
--privileged=ture 使用该参数,container内的root拥有真正的root权限,
-name 是运行的这个镜像你想给它去什么名字
centos 是即将运行的这个镜像是centos镜像来运行的。
安装宝塔
-
安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
-
报错解决
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
Centos 从 2021.10.31 停止维护,镜像更新地址 需要更换为 vault.centos.org
- 进入yum.repos.d 目录下
cd /etc/yum.repos.d/
- 修改源链接
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
- 要将之前的mirror.centos.org 改成 vault.centos.org
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
-
安装完成
完成后会出现面板地址和账号密码,面板地址注意端口映射,比如我配置的 应使用 8889来访问宝塔面板
映射网站
-
服务器原nginx配置域名转发至指定端口9001(.conf配置)
upstream xhq.xxxxxx.cn{ server 127.0.0.1:9001; } server{ listen 80; server_name xhq.xxxxxx.cn; location /{ proxy_pass http://xhq.xxxxxx.cn; } }
docker 容器已经做好映射 9001 到 容器内 9000
-
容器内网站新建,配置文件
server { listen 9000; server_name 127.0.0.1; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/hello.xxxxx.cn; //代码路径 ......正常配置 }