Skip to content

Commit afc915d

Browse files
committed
更新README
1 parent 2edec36 commit afc915d

File tree

4 files changed

+69
-6
lines changed

4 files changed

+69
-6
lines changed

Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ RUN \
3232
rm -rf /var/lib/apt/lists/* && \
3333
rm -rf ~/.cache/pip/*
3434

35+
# 解决中文环境问题
36+
RUN apt-get update && \
37+
apt-get install -y language-pack-zh-hans && \
38+
locale-gen zh_CN.UTF-8 && update-locale LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8
39+
40+
ENV LANG='zh_CN.UTF-8'
41+
ENV LANGUAGE='zh_CN:zh:en_US:en'
42+
ENV LC_ALL='zh_CN.UTF-8'
3543

3644
# 工作空间
3745
WORKDIR /work/src

README.md

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,66 @@
1212
4. 执行`supervisorctl stop app`停止服务,并执行`flask run``python wsgi.py`进入开发者模式
1313
5.`CHANGELOG.md`中记录版本日志,重新执行第一步发布镜像
1414

15+
## 运维调试
16+
17+
1. 进入容器后使用`supervisorctl status`进程状态
18+
19+
```bash
20+
# supervisorctl status
21+
app RUNNING pid 8, uptime 3 days, 5:35:50
22+
worker RUNNING pid 10, uptime 3 days, 5:35:50
23+
```
24+
25+
2. 停止进程:`supervisorctl stop app`
26+
3. 启动进程:`supervisorctl start app`
27+
4. 查看日志:`tail -f /data/log/webapp.log`
28+
5. 查看日志:`tail -f /data/log/worker.log`
29+
1530
## 部署说明
1631

17-
0. 创建`flask`网络:`docker network create flask`
32+
1. 创建`flask`网络:`docker network create flask`
33+
34+
可能遇到网络冲突问题,解决方法:
35+
1. 删除网络:`docker network rm flask`
36+
2. 创建网络时指定掩码和网关:
37+
38+
`docker network create --subnet=192.168.0.0/24 --gateway=192.168.0.1 flask`
1839

19-
1. 准备`docker-compose.yml`, 注释源码挂载:`- "./:/work"`
40+
2. 准备`docker-compose.yml`, 注释源码挂载:`- "./:/work"`
2041

21-
2. 启动服务:`docker-compose up -d`
42+
3. 启动服务:`docker-compose up -d`
2243

23-
3. 数据库迁移:
44+
4. 数据库迁移:
2445

2546
1. docker exec -it flask-api-demo bash
2647
2. flask db init -d /data/data/migrations
2748
3. flask db migrate -d /data/data/migrations
2849
4. flask db upgrade -d /data/data/migrations
2950

30-
4. 初始化数据库:
51+
5. 初始化数据库:
3152

3253
```bash
3354
flask init_db
3455
```
3556

57+
## Docker配置文件
58+
59+
1. vim /etc/docker/daemon.json
60+
61+
- default-runtime:修改默认运行时为nvidia
62+
- data-root:修改数据存储路径
63+
- bip:修改网卡地址
64+
65+
```json
66+
{
67+
"default-runtime": "nvidia",
68+
"runtimes": {
69+
"nvidia": {
70+
"path": "nvidia-container-runtime",
71+
"runtimeArgs": []
72+
}
73+
},
74+
"data-root":"/data/docker_data",
75+
"bip":"192.168.0.1/24"
76+
}
77+
```

conf/supervisor.ini

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,15 @@ stdout_logfile = /data/log/supervisor.log
88
# 杀死进程组包括子进程
99
stopasgroup = true
1010
killasgroup = true
11+
12+
13+
[program:worker]
14+
command = python -u /work/src/bin/worker.py
15+
autostart = true
16+
autorestart = true
17+
# 将stderr的日志写入stdout日志文件中
18+
redirect_stderr = true
19+
stdout_logfile = /data/log/worker.log
20+
# 杀死进程组包括子进程
21+
stopasgroup = true
22+
killasgroup = true

conf/uwsgi.ini

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ wsgi-file = /work/src/wsgi.py
1010
# flask应用实例
1111
callable = app
1212
processes = $(PROCESSES)
13-
threads = %(processes * 2)
13+
threads = 2
14+
enable-threads = true
1415

1516
pidfile = /tmp/uwsgi.pid
1617
# 指定日志文件

0 commit comments

Comments
 (0)