请先创建一个名为webstack的空数据库,且mysql要开启远程访问。
docker run -it --name webstack \
-p 50009:8000 \
-e DB_HOST="123.123.123.123" \
-e DB_PORT="3306" \
-e DB_DATABASE="webstack" \
-e DB_USERNAME="root" \
-e DB_PASSWORD="password" \
-e ENTRYPOINT_CHOICE="new-server" \
--restart=always \
iyzyi/webstack-laravel
50009替换为宿主机开放端口,DB_HOST替换为数据库的ip,数据库的用户名和密码也请替换成你自己的。
ENTRYPOINT_CHOICE可以选择new-server或serve(注意拼写,建议复制)。
new-server适用于第一次创建站点,serve适用于你曾经创建过站点、此时不想初始化数据库,想要保留原来的数据。
容器启动成功的标志是开始监听8000端口,会有黄色文字提示,看到提示可以按ctrl+P+Q退出容器(如果确保自己的参数没问题,可以一开始就把启动命令中的-it换成-itd)。看到其他信息请检差数据库是否连接正确。
项目自带了一些网址数据,不想要这些数据的,可以:
#进入容器
docker exec -it webstack /bin/sh
#清空数据
/entrypoint.sh clean
上传的图片在容器内的/opt/navi/public/uploads/images,备份只需要备份这些图片和数据库。
#将容器中的图片复制到宿主机
docker cp webstack:/opt/navi/public/uploads/images /root/backups
FROM alpine:3.9
LABEL "Mail":"[email protected]"\
"version":"v1.3.0"
ENV RUN_USER daemon
ENV RUN_GROUP daemon
ENV INSTALL_DIR /opt/navi
ENV DB_HOST 172.18.0.4
ENV DB_PORT 3306
ENV DB_DATABASE webstack
ENV DB_USERNAME root
ENV DB_PASSWORD root
ENV LOGIN_COPTCHA true
ENV ENTRYPOINT_CHOICE new-server
ARG DOWNLOAD_URL=http://file.iyzyi.com/package/WebStack-Laravel/WebStack-Laravel-1.3.1.tar.gz
EXPOSE 8000
COPY entrypoint.sh /entrypoint.sh
RUN apk update -qq \
&& apk upgrade \
&& apk add --no-cache tini \
curl composer \
php-pdo php-fileinfo php-tokenizer php-gd php-dom php-xmlwriter php-xml php-pdo_mysql php-session \
&& rm -rf /var/cache/apk/* \
&& mkdir -p ${INSTALL_DIR}
RUN apk add --no-cache php7-simplexml
RUN curl -L --silent ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "${INSTALL_DIR}" \
&& cd ${INSTALL_DIR} \
&& composer install \
&& cp .env.example .env \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${INSTALL_DIR}\
&& chown -R ${RUN_USER}:${RUN_GROUP} /entrypoint.sh
RUN chmod 777 /entrypoint.sh
#RUN : \
# && /bin/echo -e '#!/bin/sh\n' >> /run.exe \
# && bin/echo "/entrypoint.sh ${ENTRYPOINT_CHOICE}" >> /run.exe \
# && chmod +x /run.exe
#CMD ["/run.exe"]
CMD /entrypoint.sh ${ENTRYPOINT_CHOICE}
WORKDIR ${INSTALL_DIR}
https://github.com/iyzyi/WebStackLaravelDockerfile
Content type
Image
Digest
Size
135.6 MB
Last updated
over 6 years ago
docker pull iyzyi/webstack-laravel