forked from mrlan/EnglishPal
				
			解决程序源文件更新了,但是 docker container 中的程序源文件没有更新的问题
问题出在 build.sh 中的 --mount type=volume,src=englishpal-db,target=/app 。 运行 docker container 时,会将整个 englishpal-db 对应的文件夹 /var/lib/docker/volumes/englishpal-db/_data 下面的内容拷贝到 docker container 里面的 /app 文件夹下面。 然而,/var/lib/docker/volumes/englishpal-db/_data 下面的源程序文件并不是最新的(比如其 main.py 是 7月17日的)。 将 target=/app 改为 target=/app/db。即可解决问题。Bug-561
							parent
							
								
									00ae957b27
								
							
						
					
					
						commit
						dca76969eb
					
				|  | @ -1,5 +1,5 @@ | ||||||
| FROM tiangolo/uwsgi-nginx-flask:python3.8-alpine | FROM tiangolo/uwsgi-nginx-flask:python3.8-alpine | ||||||
| COPY requirements.txt /app | COPY requirements.txt /tmp | ||||||
| RUN pip3 install -U pip |  | ||||||
| RUN pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ |  | ||||||
| COPY ./app/ /app/ | COPY ./app/ /app/ | ||||||
|  | RUN pip3 install -U pip -i https://mirrors.aliyun.com/pypi/simple/ | ||||||
|  | RUN pip3 install -r /tmp/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ from difficulty import get_difficulty_level_for_user, text_difficulty_level, use | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| path_prefix = '/var/www/wordfreq/wordfreq/' | path_prefix = '/var/www/wordfreq/wordfreq/' | ||||||
| path_prefix = './'  # comment this line in deployment | path_prefix = './db/'  # comment this line in deployment | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def total_number_of_essays(): | def total_number_of_essays(): | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| from pony.orm import * | from pony.orm import * | ||||||
| 
 | 
 | ||||||
| db = Database() | db = Database() | ||||||
| db.bind("sqlite", "../wordfreqapp.db", create_db=True)  # bind sqlite file | db.bind("sqlite", "../db/wordfreqapp.db", create_db=True)  # bind sqlite file | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class User(db.Entity): | class User(db.Entity): | ||||||
|  |  | ||||||
|  | @ -39,7 +39,6 @@ | ||||||
|   <input type="password" placeholder="密码" class="password"  id="password"> |   <input type="password" placeholder="密码" class="password"  id="password"> | ||||||
|   <button type="button" class="btn" onclick="login()">登录</button> |   <button type="button" class="btn" onclick="login()">登录</button> | ||||||
|   <a class="signup" href="/signup">注册</a> |   <a class="signup" href="/signup">注册</a> | ||||||
|   <label class="form-text">2023-08-10</label> |  | ||||||
| </div> | </div> | ||||||
| 
 | 
 | ||||||
| {% endif %} | {% endif %} | ||||||
|  |  | ||||||
|  | @ -44,6 +44,7 @@ | ||||||
|                 <a href="http://youdao.com/w/eng/{{x[0]}}/#keyfrom=dict2.index">{{x[0]}}</a> {{x[1]}} |                 <a href="http://youdao.com/w/eng/{{x[0]}}/#keyfrom=dict2.index">{{x[0]}}</a> {{x[1]}} | ||||||
|             {% endfor %} |             {% endfor %} | ||||||
|         {% endif %} |         {% endif %} | ||||||
|  |         <p class="text-muted">Version: 20230810</p> | ||||||
|         <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script> |         <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script> | ||||||
|     </div> |     </div> | ||||||
|     {{ yml['footer'] | safe }} |     {{ yml['footer'] | safe }} | ||||||
|  |  | ||||||
							
								
								
									
										5
									
								
								build.sh
								
								
								
								
							
							
						
						
									
										5
									
								
								build.sh
								
								
								
								
							|  | @ -3,9 +3,6 @@ | ||||||
| DEPLOYMENT_DIR=/home/lanhui/englishpal2/EnglishPal | DEPLOYMENT_DIR=/home/lanhui/englishpal2/EnglishPal | ||||||
| cd $DEPLOYMENT_DIR | cd $DEPLOYMENT_DIR | ||||||
| pwd | pwd | ||||||
| # Install dependencies |  | ||||||
| 
 |  | ||||||
| #pip3 install -r requirements.txt |  | ||||||
| 
 | 
 | ||||||
| # Stop service | # Stop service | ||||||
| sudo docker stop EnglishPal | sudo docker stop EnglishPal | ||||||
|  | @ -15,7 +12,7 @@ sudo docker rm EnglishPal | ||||||
| sudo docker build -t englishpal . | sudo docker build -t englishpal . | ||||||
| 
 | 
 | ||||||
| # Run the application | # Run the application | ||||||
| sudo docker run --restart=always -d --name EnglishPal -p 90:80 -v ${DEPLOYMENT_DIR}/app/static/frequency:/app/static/frequency --mount type=volume,src=englishpal-db,target=/app -t englishpal  # for permanently saving data | sudo docker run --restart=always -d --name EnglishPal -p 90:80  -v ${DEPLOYMENT_DIR}/app/static/frequency:/app/static/frequency --mount type=volume,src=englishpal-db,target=/app/db -t englishpal # for permanently saving data | ||||||
| 
 | 
 | ||||||
| # Save space.  Run it after sudo docker run | # Save space.  Run it after sudo docker run | ||||||
| sudo docker system prune -a -f | sudo docker system prune -a -f | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue