我想編寫簡單的python應用程序並將其放入docker文件中。我的dockerfile是:在dockerfile中安裝mysql?
FROM ubuntu:saucy
# Install required packages
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install python
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install mysql-server python-mysqldb
# Add our python app code to the image
RUN mkdir -p /app
ADD . /app
WORKDIR /app
# Set the default command to execute
CMD ["python", "main.py"]
在我的python應用程序中,我只想連接到數據庫。的main.py是這個樣子:
import MySQLdb as db
connection = db.connect(
host='localhost',
port=3306,
user='root',
passwd='password',
)
當我建碼頭工人形象有:
docker build -t myapp .
和運行泊塢窗圖像與:
docker run -i myapp
我得到錯誤:
_mysql_exceptions.OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
問題是什麼?
錯誤,數據庫沒有運行?將數據庫放在單獨的容器中會更容易,更有意義。 – 2015-04-02 19:30:27
我不明白。如何運行數據庫。如果我在主機上安裝了mysql,並嘗試連接到我的主機上的數據庫,它應該能夠正常工作。這是否意味着我的主機上的數據庫正在運行? – 2015-04-02 19:39:09
您應該只搜索您的錯誤消息:[1](http://stackoverflow.com/q/11657829/484666),[2](http://stackoverflow.com/q/11990708/484666), [3](http://stackoverflow.com/q/11443504/484666) - 它與Docker或您使用它的方式無關。 – scriptin 2015-04-02 20:12:46