
### 1.1 目录结构
```bash
campus-imaotai-docker/
├── docker-compose.yml
├── mysql/
│   ├── conf/
│   ├── data/
│   ├── logs/
│   └── campus_imaotai.sql
├── redis/
│   ├── conf/
│   │   └── redis.conf
│   └── data/
├── nginx/
│   ├── conf/
│   │   └── nginx.conf
│   ├── html/
│   ├── cert/
│   └── log/
└── server/
    └── conf/
        └── application-prod.yml
```


### 1.2 创建必要目录
```bash
chmod 777 redis/data
chmod 777 mysql/data
chmod 777 mysql/logs
```

### 二、网络配置

#### 2.1 删除之前创建的 imaotai 网络
```bash
docker network rm imaotai
```

#### 2.2 查看创建的 imaotai 网络是否开启ip_masquerade
```bash
docker network inspect imaotai
```

#### 2.3 如果需要重新创建，使用portainer创建比较方便
```bash
docker network create \
  --driver bridge \
  --opt "com.docker.network.bridge.enable_ip_masquerade=true" \
  --subnet=172.20.0.0/16 \
  --gateway=172.20.0.1 \
  imaotai
```

#### 2.4 网络须知
  一个是imaotai可以访问外网，一个是campus-imaotai只能访问内网，所以需要创建两个网络并且固定ip范围避免容器只通过captus-imaotai网络访问内网，导致无法访问外网
  imaotai部署172.20.0.0/16网段
  campus-imaotai在docker-compose部署172.22.0.0/16网段
  并且在docker-compose.yml中指令配置campus-server的ip route指向imaotai网关172.20.0.1
  还需要部署防火墙,让容器网络172.20.0.0/16能够访问外网
  ```bash
  iptables -t nat -A POSTROUTING -s 172.20.0.0/16 -j MASQUERADE
  ```

### 三、启动容器
   先使用指令启用mysql
   ```bash
   docker-compose up -d mysql
   ```
   然后在启动所有容器
   ```bash
   docker-compose up -d
   ```  
   
   
