使用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框输入没用),可以在命令行使用

  1. requirepass newRedisPass
  2. /etc/init.d/redis restart

你可能感兴趣的:(运维,docker,redis,docker,容器,运维)