Created
February 1, 2017 17:07
-
-
Save chexxor/236644b168b5c05e7dbdd60c513f3f68 to your computer and use it in GitHub Desktop.
cloudsql-proxy Dockerfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM ubuntu | |
RUN apt-get update && apt-get -y install wget \ | |
&& wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 \ | |
&& mv cloud_sql_proxy.linux.amd64 cloud_sql_proxy \ | |
&& chmod +x cloud_sql_proxy \ | |
&& mkdir /cloudsql; | |
# Expects cred-file.json to be in working directory. | |
# This isn't good, but I haven't had time to improve yet. | |
COPY . /cloudsql | |
# Docs mention something about not needing cred file if running in GCE Instance, but I had issues. | |
# Don't forget to add SQL scope to the GCE Instances. | |
# Unconfirmed this is required, but I had errors when I didn't have this. | |
# Need to stop instances, then add scope, then restart - it's no big problem. | |
#CMD ["./cloud_sql_proxy", "-instances=PROJECT_ID:GCE_REGION:MYSQL_DB_NAME=tcp:0.0.0.0:3306"] | |
# Attempt to create cred.json on-build from env var. | |
#CMD ["echo \"$CRED_JSON\" > \"creds.json\" && ./cloud_sql_proxy", "-instances=PROJECT_ID:GCE_REGION:MYSQL_DB_NAME=tcp:0.0.0.0:3306", "-credential_file=/cloudsql/cred-file.json"] | |
CMD ["./cloud_sql_proxy", "-instances=PROJECT_ID:GCE_REGION:MYSQL_DB_NAME=tcp:0.0.0.0:3306", "-credential_file=/cloudsql/cred-file.json"] | |
# Listens to 3306 inside the container, but to access this, must hit port 80 from sibling Deis apps, | |
# as all Deis apps map port 80 to app's port. | |
EXPOSE 3306 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment