ドッカーの作成を使用して2つのドッカーコンテナを実行しようとしていて、mysqlコンテナをアプリケーションコンテナに接続しようとしています.Mysqlコンテナは実行中ですが、エラーで起動するのに失敗していますエラー: '127.0.0.1:3306'(111 Connection refused)のMySQLサーバーに接続 私のアプリケーションのコンテナがmysqlコンテナの代わりにホストmysqlに接続しようとしているようです。Dockerがmysql接続を作成しません
ドッキングウィンドウ-compose.yml
version: '2'
services:
mysql:
image: mysql:5.7
container_name: database
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: malicious
MYSQL_USER: root
MYSQL_PASSWORD: root
app:
build: .
restart: unless-stopped
volumes:
- .:/Docker_compose_app #app directory
depends_on:
- "mysql"
command: [ "python", "database_update.py"]
restart: unless-restart
environment:
# Environment variables to configure the app on startup.
MYSQL_DATABASE: malicious
MYSQL_HOST: database
Dockerfile
FROM python:2.7
ADD . /Docker_compose_app
WORKDIR /Docker_compose_app
RUN apt-get update
RUN pip install --requirement requirement.txt
これは私のdatabase_update.pyファイルです。
def create_TB(cursor,connection):
query = '''CREATE TABLE {}(malicious VARCHAR(100) NOT NULL)'''.format("url_lookup")
cursor.execute(query)
connection.commit()
def connection():
try:
cnx = mysql.connector.connect(user="root",password = 'root',database=malicious)
cursor = cnx.cursor()
create_TB(cursor,cnx)
except mysql.connector.errors.Error as err:
data = {"There is an issue in connection to DB":"Error: {}".format(err)}
mysqlが起動するまでに時間がかかることがありますか?アプリからの接続を開始する前に10〜30秒間スリープしてください。 – dmitryvim
mysqlコンテナが起動してもアプリのコンテナに同じエラーが表示されるため、問題は解決しません。restrat:appsコンビニャーで再起動しない場合は – guri