@@ -125,3 +125,121 @@ docker logs -f DOClever
125
125
```
126
126
127
127
来查看容器打印的日志信息。
128
+
129
+ ## 更新DOClever版本
130
+
131
+ ### 备份数据
132
+
133
+ ** 重要:在升级之前,请备份所有数据**
134
+
135
+ 备份数据:
136
+
137
+ 1 . 镜像备份: docker commit <镜像id> <取个名字>
138
+ 2 . Mongodb备份,[ 请参考] ( https://segmentfault.com/a/1190000006236494 ) ;
139
+ 3 . DOClever备份:在项目设置中,导出项目(这个就比较麻烦了,需要一个个项目导出,如果小团队少项目可以这样做)
140
+
141
+
142
+ ### 从3.x升级到4.x
143
+
144
+ 之前的版本Mongo与DOClever合在一个容器中,那么需要先把mongo中的数据导出来。
145
+
146
+ docker exec -it DOClever /bin/bash
147
+
148
+ 1 . 进入到DOClever容器,导出数据库` /data/db ` 相关的文件到宿主机,然后使用` volume ` 参数,挂载到宿主机。
149
+
150
+ 2 . 然后使用` mongo ` 命令连接到数据库,导出数据库数据;
151
+
152
+ 3 . 使用最新的` docker-compoes.yml ` 文件启新的容器,使用` docker compose up -d ` 重新启动容器。
153
+
154
+ ### 使用` docker-compose ` 更新
155
+
156
+ 直接升级的前提:
157
+
158
+ 1 . mongodb的数据进行了本地化(使用了` volume ` 参数进行了本地化);
159
+ 2 . 使用的是4.x以上的版本镜像(DOClever与mongo已经分离的版本)
160
+
161
+ version: "2"
162
+ services:
163
+ DOClever:
164
+ image: lw96/doclever:latest-ubuntu
165
+ restart: always
166
+ container_name: "DOClever"
167
+ ports:
168
+ - 10000:10000
169
+ volumes:
170
+ - /hostdir/file:/root/DOClever/data/file
171
+ - /hostdir/img:/root/DOClever/data/img
172
+ - /hostdir/tmp:/root/DOClever/data/tmp
173
+ environment:
174
+ # - DB_HOST=mongodb://localhost:27017/DOClever
175
+ - PORT=10000
176
+ links:
177
+ - mongo:mongo
178
+
179
+ mongo:
180
+ image: mymongo
181
+ restart: always
182
+ container_name: "mongodb"
183
+ volumes:
184
+ - /data/db:/data/db
185
+
186
+
187
+ 修改` image: lw96/doclever:latest-ubuntu ` 这个地方的版本号,版本号请参考:[ https://hub.docker.com/r/lw96/doclever/tags/ ] ( https://hub.docker.com/r/lw96/doclever/tags/ )
188
+
189
+
190
+ 然后使用` docker-compose up -d ` 进行更新。
191
+
192
+ ### mongodb没有本地化数据的更新方法
193
+
194
+ 如果你之前使用的是默认的` docker-compose.yml ` 起的docker容器,那么mongo默认是没有进行` volume ` 本地化的,那么备份mongo镜像:
195
+
196
+ docker commit <mongodb-id> mymongo
197
+
198
+ 修改` docker-compose.yml ` 文件如下:
199
+
200
+ version: "2"
201
+ services:
202
+ DOClever:
203
+ image: lw96/doclever:latest-ubuntu
204
+ restart: always
205
+ container_name: "DOClever"
206
+ ports:
207
+ - 10000:10000
208
+ volumes:
209
+ - /hostdir/file:/root/DOClever/data/file
210
+ - /hostdir/img:/root/DOClever/data/img
211
+ - /hostdir/tmp:/root/DOClever/data/tmp
212
+ environment:
213
+ # - DB_HOST=mongodb://localhost:27017/DOClever
214
+ - PORT=10000
215
+ links:
216
+ - mongo:mongo
217
+
218
+ mongo:
219
+ image: mymongo
220
+ restart: always
221
+ container_name: "mongodb"
222
+ volumes:
223
+ - /data/db:/data/db
224
+
225
+ ### 如果使用的数据库为非本地mongodb
226
+
227
+ 修改` docker-compose.yml ` 文件如下:
228
+
229
+ version: "2"
230
+ services:
231
+ DOClever:
232
+ image: lw96/doclever:latest
233
+ restart: always
234
+ container_name: "DOClever"
235
+ ports:
236
+ - 10000:10000
237
+ volumes:
238
+ - /hostdir/file:/root/DOClever/data/file
239
+ - /hostdir/img:/root/DOClever/data/img
240
+ - /hostdir/tmp:/root/DOClever/data/tmp
241
+ environment:
242
+ - DB_HOST=mongodb://remoteIP:remotePort/DOClever
243
+ - PORT=10000
244
+
245
+ 然后使用` docker-compose up -d ` 进行更新。
0 commit comments