diff --git a/.env b/.env index 3a79760..c0b619f 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ -AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE -AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY +AWS_ACCESS_KEY_ID=admin +AWS_SECRET_ACCESS_KEY=sample_key AWS_REGION=us-east-1 AWS_BUCKET_NAME=mlflow MYSQL_DATABASE=mlflow diff --git a/docker-compose.yml b/docker-compose.yml index 53e7e10..0a40ff0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,8 @@ version: "3.9" services: s3: - image: minio/minio:RELEASE.2021-08-25T00-41-18Z.hotfix.55efceab5 + image: minio/minio:RELEASE.2021-11-24T23-19-33Z restart: unless-stopped - container_name: aws-s3 ports: - "9000:9000" - "9001:9001" @@ -48,11 +47,23 @@ services: networks: - public - internal - entrypoint: ./wait-for-it.sh db:3306 -t 90 -- mlflow server --backend-store-uri mysql+pymysql://${MYSQL_USER}:${MYSQL_PASSWORD}@db:3306/${MYSQL_DATABASE} --default-artifact-root s3://${AWS_BUCKET_NAME}/ -h 0.0.0.0 + entrypoint: bash ./wait-for-it.sh db:3306 -t 90 -- mlflow server --backend-store-uri mysql+pymysql://${MYSQL_USER}:${MYSQL_PASSWORD}@db:3306/${MYSQL_DATABASE} --default-artifact-root s3://${AWS_BUCKET_NAME}/ -h 0.0.0.0 + create_s3_buckets: + image: minio/mc + depends_on: + - "s3" + entrypoint: > + /bin/sh -c " + until (/usr/bin/mc alias set minio http://s3:9000 '${AWS_ACCESS_KEY_ID}' '${AWS_SECRET_ACCESS_KEY}') do echo '...waiting...' && sleep 1; done; + /usr/bin/mc mb minio/mlflow; + exit 0; + " + networks: + - internal networks: internal: public: driver: bridge volumes: db_volume: - minio_volume: \ No newline at end of file + minio_volume: diff --git a/mlflow/Dockerfile b/mlflow/Dockerfile index c7b3f84..6205043 100644 --- a/mlflow/Dockerfile +++ b/mlflow/Dockerfile @@ -1,10 +1,10 @@ FROM continuumio/miniconda3:latest +RUN pip install mlflow boto3 pymysql + ADD . /app WORKDIR /app COPY wait-for-it.sh wait-for-it.sh RUN chmod +x wait-for-it.sh -RUN pip install mlflow boto3 pymysql - diff --git a/mlflow/wait-for-it.sh b/mlflow/wait-for-it.sh index 3974640..d990e0d 100644 --- a/mlflow/wait-for-it.sh +++ b/mlflow/wait-for-it.sh @@ -179,4 +179,4 @@ if [[ $WAITFORIT_CLI != "" ]]; then exec "${WAITFORIT_CLI[@]}" else exit $WAITFORIT_RESULT -fi \ No newline at end of file +fi