diff --git a/Dockerfile b/Dockerfile index ffdc5aa..711e5ac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,38 +13,25 @@ ENV DJANGO_SUPERUSER_EMAIL=admin@eamil.com ENV DJANGO_SUPERUSER_PASSWORD=adminadmin ENV DJANGO_WEB_PORT=8000 ENV DEV=master - +# 写入pip国内源 COPY pip.conf /root/.pip/pip.conf - -# 创建 myproject 文件夹 -RUN mkdir -p /var/www/html/ptools - -# 将 myproject 文件夹为工作目录 -WORKDIR /var/www/html/ptools - -# 将当前目录加入到工作目录中(. 表示当前目录) -#ADD . /var/www/html/ptools -ADD start.sh /var/www/html - -# 更新pip版本 -#RUN /usr/local/bin/python -m pip install --upgrade pip - -# 利用 pip 安装依赖 -#RUN pip install -r requirements.txt - -# 去除windows系统编辑文件中多余的\r回车空格 -# RUN sed -i 's/\r//' ./start.sh - -# 给start.sh可执行权限 -RUN chmod +x /var/www/html/start.sh - -# 更换USTC源,并安装gcc,git # 写入U2的HOSTS -RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list && echo 172.64.153.252 u2.dmhy.org >>/etc/hosts; \ +# 更新pip版本,更换USTC源,并安装git +RUN /usr/local/bin/python -m pip install --upgrade pip; \ + sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list; \ apt update && yes|apt install git; \ apt-get autoclean && rm -rf /var/lib/apt/lists/* - -VOLUME ["/var/www/html/ptools/db"] - +# 创建 ptools 文件夹 + RUN mkdir -p /var/ptools +#RUN git clone https://gitee.com/ngfchl/ptools /ptools +# 将 ptools 文件夹为工作目录 +WORKDIR /var/ptools +# 将当前目录加入到工作目录中(. 表示当前目录) +ADD . /var/ptools +# 给start.sh可执行权限 +RUN chmod +x /var/ptools/start.sh +# 暴露数据库文件夹 +VOLUME ["/var/ptools/db"] +# 暴露访问端口 EXPOSE $DJANGO_WEB_PORT - -ENTRYPOINT ["/bin/bash", "/var/www/html/start.sh"] \ No newline at end of file +# 执行启动文件 +ENTRYPOINT ["/bin/bash", "/var/ptools/start.sh"] \ No newline at end of file diff --git a/start.sh b/start.sh index 5d4d6a3..3b844df 100644 --- a/start.sh +++ b/start.sh @@ -7,34 +7,32 @@ else fi if [ ! -e $CONTAINER_ALREADY_STARTED ]; then echo "-- First container startup --" - echo "升级pip" - python -m pip install --upgrade pip - # 此处插入你要执行的命令或者脚本文件 - echo "下载PTools代码" - git init && - git remote add origin https://gitee.com/ngfchl/ptools && + # 此处插入你要执行的命令或者脚本文件 + echo "升级pip" + python -m pip install --upgrade pip + echo "拉取PTools最新代码" # 设置拉取最新文件并覆盖 - git config pull.ff only && + git config pull.ff only git pull origin $DEV - echo "列出代码文件信息" - ls -l && pwd - echo "安装pip依赖" - pip install -r requirements.txt -U - echo "初始化数据库" - python manage.py makemigrations - python manage.py migrate - python manage.py loaddata pt.json - echo "创建超级用户" - DJANGO_SUPERUSER_USERNAME=$DJANGO_SUPERUSER_USERNAME \ - DJANGO_SUPERUSER_EMAIL=$DJANGO_SUPERUSER_EMAIL \ - DJANGO_SUPERUSER_PASSWORD=$DJANGO_SUPERUSER_PASSWORD \ + echo "列出代码文件信息" + ls -l + echo "安装pip依赖" + pip install -r requirements.txt + echo "初始化数据库" + python manage.py makemigrations + python manage.py migrate + python manage.py loaddata pt.json + touch $CONTAINER_ALREADY_STARTED + echo "创建超级用户" + DJANGO_SUPERUSER_USERNAME=$DJANGO_SUPERUSER_USERNAME + DJANGO_SUPERUSER_EMAIL=$DJANGO_SUPERUSER_EMAIL + DJANGO_SUPERUSER_PASSWORD=$DJANGO_SUPERUSER_PASSWORD python manage.py createsuperuser --noinput - echo "初始化完成" - touch $CONTAINER_ALREADY_STARTED + echo "初始化完成" else echo "-- Not first container startup --" fi -echo "写入U2 hosts" -echo 172.64.153.252 u2.dmhy.org >>/etc/hosts + echo "写入U2 hosts" + echo 172.64.153.252 u2.dmhy.org >>/etc/hosts echo "启动服务" -python manage.py runserver 0.0.0.0:$DJANGO_WEB_PORT + python manage.py runserver 0.0.0.0:$DJANGO_WEB_PORT