开源项目管理工具禅道docker部署

1.Dockerfile

Dockerfile禅道官方地址:https://www.zentao.net/book/zentaopmshelp/303.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
FROM ubuntu:16.04
MAINTAINER yidong <yidong@cnezsoft.com>

RUN apt-get update && apt-get install -y apache2 mariadb-server php php-curl php-gd php-ldap php-mbstring php-mcrypt php-mysql php-xml php-zip php-cli php-json curl unzip libapache2-mod-php locales

ENV LANG="en_US.UTF8"
ENV MYSQL_ROOT_PASSWORD="123456"
RUN echo -e "LANG=\"en_US.UTF-8\"\nLANGUAGE=\"en_US:en\"" > /etc/default/locale && locale-gen en_US.UTF-8

RUN mkdir -p /app/zentaopms
COPY docker-entrypoint.sh /app
RUN chmod 777 /app/docker-entrypoint.sh
RUN random=`date +%s`; curl http://cdn.zentaopm.com/latest/zentao.zip?rand=$random -o /var/www/zentao.zip
RUN cd /var/www/ && unzip -q zentao.zip && rm zentao.zip
RUN a2enmod rewrite

RUN rm -rf /etc/apache2/sites-enabled/000-default.conf /var/lib/mysql/*
RUN sed -i '1i ServerName 127.0.0.1' /etc/apache2/apache2.conf
COPY config/apache.conf /etc/apache2/sites-enabled/000-default.conf
COPY config/ioncube_loader_lin_7.0.so /usr/lib/php/20151012/ioncube_loader_lin_7.0.so
COPY config/00-ioncube.ini /etc/php/7.0/apache2/conf.d/
COPY config/00-ioncube.ini /etc/php/7.0/cli/conf.d/

VOLUME /app/zentaopms /var/lib/mysql
ENTRYPOINT ["/app/docker-entrypoint.sh"]

2.启动命令

1
docker run --name zen -v /data/website/zentao/:/app/zentaopms/www -v /data/mysql/:/var/lib/mysql -p 10080:80 -p 3306:3306 -d zentao:1.0

说明:

/app/zentaopms/www 是容器内的代码目录

/var/lib/mysql是容器内的数据库目录

zentao:1.0是生成zentao的镜像名称

3.数据库备份

1
docker exec zen  sh -c 'exec mysqldump  -uroot -p123456  zentao' > /data/backup/zentao$(date +%Y%m%d).sql

可写shell脚本做定时任务每日备份

4.说明

1.本想映射3306端口用远程工具来管理数据库的,无奈折腾好久端口依旧不能用,不能远程。后边有解决的==靓仔==可留言告知。

2.部署之前咨询过禅道官方关于docker的部署方式,官方告知docker部署的已经停止维护了,这一版的应该是最后一版官方的镜像了