我想部署一个小的Python应用程序,它连接一个(当前在本地运行的)MySQL服务器。在./fzwk-app/
内,我用DBController.py
创建了一个模块database
:
class DbController(object):
def __init__(self):
self._db_connection = mysql.connector.connect(
host='localhost',
user='foo',
passwd='bar',
database='mydb'
)
self._db_cur = self._db_connection.cursor()
# ...
在dev设备上本地运行./fzwk-app/__init__.py
来运行我的小应用程序时,db连接工作正常。
现在我想开始部署到docker容器。
首先,我设置Dockerfile如下:
FROM python:3.6
ADD ./fzwk-app/ /
RUN pip3 install mysql-connector
CMD [ "python", "./__init__.py" ]
构建Docker映像运行得很好(docker build -t fzwk-app:0.1 .
),但是当我尝试创建和运行容器(docker run fzwk-app
)时,我得到了以下Python回溯:
Traceback (most recent call last):
File "./__init__.py", line 21, in <module>
from database import DbController as db
File "/database/DbController.py", line 18, in <module>
import mysql.connector
ModuleNotFoundError: No module named 'mysql'
我的错在哪里?你知道吗
我把我的Dockerfile改成了
所以,我想,似乎是
pip install mysql-connector-python
做出了改变(尽管我也移动了我的应用程序在图像上的位置,但这更多是为了在执行docker exec -it fzwk-app /bin/bash
时获得更好的概述。。。你知道吗至少现在我得到了预期的结果
错误原因它无法连接到我的数据库,但为此我计划用
docker-compose
构建一个堆栈。你知道吗希望这能帮助任何人如果没有,它可能会帮助未来的我:-)
相关问题 更多 >
编程相关推荐