我是Docker的新手,并希望有一个清晰的了解并使用最佳实践。
我有什么?
Dockerfile
FROM python:3
ADD ./MAIN_FOLDER/SUB_FOLDER/* /
ADD ./Library/* /
RUN pip3 install xxx
.... Alot of pip installs as i'm not completely sure how to implement this line - pip3 install -r requirements.txt
CMD ["./MAIN_FOLDER/SUB_FOLDER/run.sh prod"]
使用带有参数 prod / dev
的 .sh 文件运行的python文件的原理当前,我有这样的文件夹:
- Docker
- MAIN_FOLDER
- SUB_FOLDER
- Python files and run.sh
- Library
- Library python files
其他项目使用的库
因此位于Docker/MAIN_FOLDER/SUB_FOLDER/main.py
中的main.py包含以下代码行:
sys.path.insert(0, '../../Library')
import lib
要构建docker映像,请使用:
sudo docker build -t test.
要运行docker映像,请使用:
sudo docker run test
问题:如何构建图像以使其起作用:
sudo docker run test prod / sudo docker run test dev
Libraries + SUB_FOLDER1 = test, Libraries + SUB_FOLDER2 = test2