修改容器化python脚本后如何重新运行docker-compose



Docker新手问题在这里

我正在容器化我自己的Python脚本,遵循本教程和那个教程。

我注意到当我修复Python脚本中的错误时(myscript.py)),则在重新运行sudo docker-compose up时不会看到此更改。我需要更改docker-compose.yml中的应用程序名称(frommy-awesome-app2my-awesome-app3

我尝试使用sudo docker container ls -a列出可用的容器,然后使用sudo docker rm <CONTAINER ID>删除未使用的容器,但这没有帮助。

我怎样才能得到docker-compose看到对Python脚本所做的更改,而不必不断更改Dockerfile?


这是我的docker- composer .yml:

version: "3"
services:
my-awesome-app3:
build:
context: .
这是我的Dockerfile:
FROM python:3.8.3
# Or any preferred Python version.
ADD myscript.py .
RUN pip3 install pywavelets scipy 
CMD ["python", "./myscript.py"] 
# Or enter the name of your unique directory and parameter set.

这里是myscript.py:

from scipy.misc import electrocardiogram
import pywt
import numpy as np
ecg = electrocardiogram()
FPData = ecg.reshape(10800,-1)
DWTcoeffs = pywt.wavedec(FPData[:,1], 'db4')
filtered_data_dwt=pywt.waverec(DWTcoeffs,'db4',mode='symmetric',axis=-1)
print(filtered_data_dwt)

让我们说我打错了(print(filtered_data)而不是print(filtered_data_dwt))…重新运行sudo docker-compose up仍然会触发:

my-awesome-app2_1 | NameError: name 'filtered_data' is not defined

没有足够的声誉来评论,但是您是否重新构建了您的容器?

sudo docker compose up --rebuild是一种一举两得的方法。

注:根据您的安全限制,您可以将其设置为运行,而无需使用sudo

作为前缀。

相关内容

  • 没有找到相关文章

最新更新