使用docker部署宝塔环境
使用docker部署宝塔环境,先拉取一个ubuntu镜像,run起来运行后,在里面安装宝塔。再将容器压缩成宝塔镜像,最后再run(否则重启容器服务会丢失)。
拉取ubuntu容器
docker pull ubuntu
提前创建lnmp需要的文件夹
mkdir -pv /baota/nginx/data
mkdir -pv /baota/mysql/data
mkdir -pv /baota/nginx/conf/conf.d
运行容器
-c “/startBt.sh”
docker run -t -d \
--name=baota \
-p 8888:8888 \
-p 888:888 \
-p 20:20 \
-p 21:21 \
-p 80:80 \
-p 443:443 \
-p 3306:3306 \
-p 5236:5236 \
-p 9000:9010 \
-p 9001:9011 \
-p 8080:8080 \
-p 8081:8081 \
-p 8082:8082 \
-p 20705:20705 \
-v /baota/nginx/data:/www/wwwroot \
-v /baota/mysql/data:/server/mysql_data \
-v /baota/nginx/conf/conf.d:/www/server/panel/vhost \
--privileged=true \
--restart=always \
--entrypoint "/bin/bash" \
baota:1.1 \
-c "tail -f /dev/null"
容器内安装宝塔
wget -O install.sh https://download.bt.cn/install/install_lts.sh && sudo bash install.sh ed8484bec
apt-get update
apt-get -y install sudo
apt-get -y install wget
结尾
容器安装好宝塔和lnmp环境后建议重新压缩镜像,这样即使容器重启,数据也都在。新的宝塔镜像run的时候,可以-c 里面默认执行一个startLnmp.sh,这样lnmp服务能随容器自动启动。
#!/bin/bash
bt 3
/etc/init.d/nginx start
/etc/init.d/mysqld start
/etc/init.d/redis start
/etc/init.d/php-fpm-73 start
echo "所有服务已成功启动。"
宝塔后台设置redis密码似乎没用(input框输入没用),可以在命令行使用
- requirepass newRedisPass
- /etc/init.d/redis restart