
目录文件作用总结
- build.sh:自动化构建 Docker 镜像的脚本。
- docker-entrypoint.sh:容器启动时执行的入口脚本。
- Dockerfile:定义 Docker 镜像构建步骤和环境配置。
- pip.conf:pip 包管理器的配置文件,设置包镜像源。
- run.sh:自动化启动 Docker 容器的脚本。
- sources.list:apt 包管理器的源列表配置文件。
# 使用 Ubuntu 20.04 作为基础镜像
FROM ubuntu:20.04
# 设置非交互模式和时区,解决选择地理区域的问题
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai
# 添加自定义的 apt 源和 pip 配置文件
ADD sources.list /etc/apt/sources.list
ADD pip.conf /root/.pip/pip.conf
# 添加自定义的入口脚本
ADD docker-entrypoint.sh /tmp/docker-entrypoint.sh
# 更新 apt 包索引,安装所需软件包
RUN apt update && \
apt install -y git python3.8 python3-pip && \
apt install -y nodejs && \
apt install -y npm && \
cd /opt && \
git clone https://gitee.com/zhujf21st/authbase.git && \
cd authbase && \
cd ui && \
npm install && \
cd .. && \
pip3 install -r requirements.txt && \
mv /tmp/docker-entrypoint.sh /opt/authbase/docker-entrypoint.sh && \
chmod +x /opt/authbase/docker-entrypoint.sh && \
apt install -yq mysql-server && \
service mysql start && \
cd /opt/authbase && \
mysql < db.sql || true && \
mysql < init-user.sql && \
apt remove -y git && \
apt clean
# 设置工作目录
WORKDIR /opt/authbase
# 设置容器启动时运行的入口脚本
ENTRYPOINT ["sh", "docker-entrypoint.sh"]