目录
一、Docker介绍
Docker是一个开源的容器引擎,它有助于更快的交付使用。Docker将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用Docker可以更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。
二、安装nginx
2.1 拉取Nginx镜像
docker pull nginx
2.2 创建挂载目录
1.创建项目部署目录
mkdir -p /myserver/nginx/html
2.创建日志存放目录
mkdir -p /myserver/nginx/logs
3.创建配置文件目录
mkdir -p /myserver/nginx/conf
mkdir -p /myserver/nginx/conf/conf.d
4.创建nginx容器
docker run -di --name=nginx-server -p 80:80 nginx:latest
5.从nginx容器复制配置文件到宿主机
docker cp /myserver/nginx/conf/nginx.conf nginx-server:/etc/nginx/nginx.conf
docker cp /myserver/nginx/conf/conf.d/default.conf nginx-server::/etc/nginx/conf.d/default.conf
2.3 创建Nginx容器
docker run -di --name=nginx-server -p 80:80 -v /myserver/nginx/html:/usr/share/nginx/html -v /myserver/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /myserver/nginx/conf/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /myserver/nginx/logs:/var/log/nginx --privileged=true nginx:latest
三、安装ZenTao
3.1 拉取ZenTao镜像
docker pull easysoft/zentao
3.2 创建挂载目录
1.创建资源目录
mkdir -p /myserver/zentao/zentaopms
2.创建数据库目录
mkdir -p /myserver/zentao/mysqldata
3.3 创建ZenTao容器
docker run -di --name=zentao-server -p 7788:80 -v /myserver/zentao/zentaopms:/www/zentaopms -v /myserver/zentao/mysqldata:/var/lib/mysql easysoft/zentao
3.4 启动并配置ZenTao
1.访问禅道
http://ip:7788
2.进入禅道初始配置页面
设置登录账号、密码以及配置连接的mysql地址等
四、Nginx二级目录反向代理ZenTao
4.1 修改Nginx的default.conf配置
server {
listen 80;
server_name 域名;
# index page
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ^~ /zentao/ {
proxy_pass http://禅道容器的IP地址/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
4.2 修改ZenTao的my.php配置
<?php
$config->installed = true;
$config->debug = false;
$config->requestType = 'PATH_INFO';
$config->timezone = 'Asia/Shanghai';
$config->db->host = '服务器IP';
$config->db->port = 'mysql端口号';
$config->db->name = 'zentao';
$config->db->user = 'root';
$config->db->encoding = 'UTF8';
$config->db->password = 'root';
$config->db->prefix = 'zt_';
#$config->webRoot = getWebRoot();
# webRoot改为二级目录
$config->webRoot = '/zentao/';
$config->default->lang = 'zh-cn';
4.3 访问禅道
http://域名/zentao
【注意】需要先重启zentao、nginx容器,再通过http://域名/二级目录方式访问禅道