chore: 更新 Dockerfile 以优化 Python 虚拟环境和宝塔面板安装脚本

This commit is contained in:
xiao 2024-12-17 22:34:53 +08:00
parent b458b9c594
commit 67695e56c3

View File

@ -5,27 +5,27 @@ RUN apk update && apk upgrade \
&& apk add curl curl-dev libffi-dev openssl-dev shadow bash zlib-dev g++ make sqlite-dev libpcap-dev jpeg-dev dos2unix libev-dev build-base linux-headers python3 python3-dev py3-pip \
&& apk cache clean
# 创建虚拟环境并激活
# 创建虚拟环境
RUN python3 -m venv /www/server/panel/pyenv
# 设置环境变量
ENV PATH="/www/server/panel/pyenv/bin:$PATH"
# 安装Python和pip包
RUN pip install --upgrade pip \
&& pip install Pillow psutil pyinotify pycryptodome upyun oss2 pymysql qrcode qiniu redis pymongo Cython configparser cos-python-sdk-v5 supervisor gevent-websocket pyopenssl \
&& pip install Pillow psutil pyinotify pycryptodome upyun oss2 pymysql qrcode qiniu redis pymongo Cython configparser cos-python-sdk-v5 supervisor gevent gevent-websocket pyopenssl \
&& pip install flask==1.1.4 \
&& pip install Pillow -U
# 创建pyenv目录并创建符号链接
RUN pyenv_bin=/www/server/panel/pyenv/bin \
&& mkdir -p $pyenv_bin \
&& ln -sf /usr/bin/pip $pyenv_bin/pip \
&& ln -sf /usr/bin/pip $pyenv_bin/pip3 \
&& ln -sf /usr/bin/pip $pyenv_bin/pip3.7 \
&& ln -sf /usr/bin/python $pyenv_bin/python \
&& ln -sf /usr/bin/python $pyenv_bin/python3 \
&& ln -sf /usr/bin/python $pyenv_bin/python3.7 \
&& ln -sf $pyenv_bin/pip3.7 /usr/bin/btpip \
&& ln -sf $pyenv_bin/python3.7 /usr/bin/btpython
&& ln -sf /usr/bin/pip3 $pyenv_bin/pip \
&& ln -sf /usr/bin/pip3 $pyenv_bin/pip3 \
&& ln -sf /usr/bin/pip3 $pyenv_bin/pip3.7 \
&& ln -sf /usr/bin/python3 $pyenv_bin/python \
&& ln -sf /usr/bin/python3 $pyenv_bin/python3 \
&& ln -sf /usr/bin/python3 $pyenv_bin/python3.7
# 复制脚本
COPY ["bt.sh", "init_mysql.sh", "install_panel.sh", "/"]
@ -34,8 +34,7 @@ COPY ["bt.sh", "init_mysql.sh", "install_panel.sh", "/"]
RUN dos2unix /bt.sh && dos2unix /init_mysql.sh && dos2unix /install_panel.sh
# 下载并安装宝塔面板及 lnmp 环境
RUN curl -sSO https://download.bt.cn/install/install_panel.sh \
&& echo y | bash install_panel.sh -P 8888 --ssl-disable \
RUN echo y | bash /install_panel.sh -P 8888 --ssl-disable \
&& rm -rf /www/server/data/* \
&& echo "docker_bt_alpine" > /www/server/panel/data/o.pl \
&& echo '["memuA", "memuAsite", "memuAdatabase", "memuAcontrol", "memuAfiles", "memuAlogs", "memuAxterm", "memuAcrontab", "memuAsoft", "memuAconfig", "dologin", "memu_btwaf", "memuAssl"]' > /www/server/panel/config/show_menu.json \