# Build docker image % cd % docker build --tag mahesh/mma-gpacts-app --no-cache . *Note*: If `--no-cache` is not used, cloning of git repo from the docker file does not work in subsequent builds # Run docker container % docker run --publish 49330:3000 --detach mahesh/mma-gpacts-app 7e4dfed65d776e3c8cd8e5c6e970699b561bbbc6f2d63d5d75b7ee68c9672358 # Get a shell in running container % docker exec --interactive --tty 7e4dfed65d776e3c8cd8e5c6e970699b561bbbc6f2d63d5d75b7ee68c9672358 /bin/bash # Manage docker containers * List running containers ``` % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d511b20c73d6 mahesh/mma-gpacts-app "docker-entrypoint.s…" 8 minutes ago Up 8 minutes 0.0.0.0:49330->3000/tcp upbeat_lederberg ``` * List all docker containrs ``` % docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d511b20c73d6 mahesh/mma-gpacts-app "docker-entrypoint.s…" 12 minutes ago Exited (137) 3 minutes ago upbeat_lederberg % docker ps --all --quiet d511b20c73d6 ``` * Stop a running container ``` % docker stop d511b20c73d6 ``` * Remove a container ``` % docker rm d511b20c73d6 ``` # BUMMER! * [Google API client for Node.js](https://github.com/googleapis/google-api-nodejs-client) supports the following APIs, but not Google Photos **!?#@**. Until [these](https://github.com/googleapis/google-api-nodejs-client/issues/1695) [bugs](https://issuetracker.google.com/issues/138224490) are fixed, will need to use base OAuth2 to access the API. ```javascript { abusiveexperiencereport: [ 'v1' ], acceleratedmobilepageurl: [ 'v1' ], accessapproval: [ 'v1', 'v1beta1' ], accesscontextmanager: [ 'v1', 'v1beta' ], adexchangebuyer: [ 'v1.2', 'v1.3', 'v1.4' ], adexchangebuyer2: [ 'v2beta1' ], adexperiencereport: [ 'v1' ], admin: [ 'datatransfer_v1', 'directory_v1', 'reports_v1' ], admob: [ 'v1' ], adsense: [ 'v1.4' ], adsensehost: [ 'v4.1' ], alertcenter: [ 'v1beta1' ], analytics: [ 'v3' ], analyticsreporting: [ 'v4' ], androiddeviceprovisioning: [ 'v1' ], androidenterprise: [ 'v1' ], androidmanagement: [ 'v1' ], androidpublisher: [ 'v1.1', 'v1', 'v2', 'v3' ], appengine: [ 'v1', 'v1alpha', 'v1beta' ], appsactivity: [ 'v1' ], bigquery: [ 'v2' ], bigqueryconnection: [ 'v1beta1' ], bigquerydatatransfer: [ 'v1' ], bigqueryreservation: [ 'v1', 'v1alpha2', 'v1beta1' ], bigtableadmin: [ 'v1', 'v2' ], billingbudgets: [ 'v1beta1' ], binaryauthorization: [ 'v1', 'v1beta1' ], blogger: [ 'v2', 'v3' ], books: [ 'v1' ], calendar: [ 'v3' ], chat: [ 'v1' ], civicinfo: [ 'v2' ], classroom: [ 'v1' ], cloudasset: [ 'v1', 'v1beta1' ], cloudbilling: [ 'v1' ], cloudbuild: [ 'v1', 'v1alpha1', 'v1alpha2' ], clouddebugger: [ 'v2' ], clouderrorreporting: [ 'v1beta1' ], cloudfunctions: [ 'v1', 'v1beta2' ], cloudidentity: [ 'v1', 'v1beta1' ], cloudiot: [ 'v1' ], cloudkms: [ 'v1' ], cloudprivatecatalog: [ 'v1beta1' ], cloudprivatecatalogproducer: [ 'v1beta1' ], cloudprofiler: [ 'v2' ], cloudresourcemanager: [ 'v1', 'v1beta1', 'v2', 'v2beta1' ], cloudscheduler: [ 'v1', 'v1beta1' ], cloudsearch: [ 'v1' ], cloudshell: [ 'v1', 'v1alpha1' ], cloudtasks: [ 'v2', 'v2beta2', 'v2beta3' ], cloudtrace: [ 'v1', 'v2', 'v2beta1' ], commentanalyzer: [ 'v1alpha1' ], composer: [ 'v1', 'v1beta1' ], compute: [ 'alpha', 'beta', 'v1' ], container: [ 'v1', 'v1beta1' ], containeranalysis: [ 'v1alpha1', 'v1beta1' ], content: [ 'v2.1', 'v2' ], customsearch: [ 'v1' ], datacatalog: [ 'v1beta1' ], dataflow: [ 'v1b3' ], datafusion: [ 'v1beta1' ], dataproc: [ 'v1', 'v1beta2' ], datastore: [ 'v1', 'v1beta1', 'v1beta3' ], deploymentmanager: [ 'alpha', 'v2', 'v2beta' ], dfareporting: [ 'v3.3', 'v3.4' ], dialogflow: [ 'v2', 'v2beta1' ], digitalassetlinks: [ 'v1' ], discovery: [ 'v1' ], displayvideo: [ 'v1' ], dlp: [ 'v2' ], dns: [ 'v1', 'v1beta2', 'v2beta1' ], docs: [ 'v1' ], domainsrdap: [ 'v1' ], doubleclickbidmanager: [ 'v1.1', 'v1' ], doubleclicksearch: [ 'v2' ], drive: [ 'v2', 'v3' ], driveactivity: [ 'v2' ], factchecktools: [ 'v1alpha1' ], fcm: [ 'v1' ], file: [ 'v1', 'v1beta1' ], firebase: [ 'v1beta1' ], firebasedynamiclinks: [ 'v1' ], firebasehosting: [ 'v1beta1' ], firebaserules: [ 'v1' ], firestore: [ 'v1', 'v1beta1', 'v1beta2' ], fitness: [ 'v1' ], games: [ 'v1' ], gamesConfiguration: [ 'v1configuration' ], gamesManagement: [ 'v1management' ], genomics: [ 'v1', 'v1alpha2', 'v2alpha1' ], gmail: [ 'v1' ], groupsmigration: [ 'v1' ], groupssettings: [ 'v1' ], healthcare: [ 'v1beta1' ], homegraph: [ 'v1' ], iam: [ 'v1' ], iamcredentials: [ 'v1' ], iap: [ 'v1', 'v1beta1' ], identitytoolkit: [ 'v3' ], indexing: [ 'v3' ], jobs: [ 'v2', 'v3', 'v3p1beta1' ], kgsearch: [ 'v1' ], language: [ 'v1', 'v1beta1', 'v1beta2' ], libraryagent: [ 'v1' ], licensing: [ 'v1' ], lifesciences: [ 'v2beta' ], logging: [ 'v2' ], managedidentities: [ 'v1', 'v1alpha1', 'v1beta1' ], manufacturers: [ 'v1' ], mirror: [ 'v1' ], ml: [ 'v1' ], monitoring: [ 'v1', 'v3' ], networkmanagement: [ 'v1beta1' ], oauth2: [ 'v1', 'v2' ], osconfig: [ 'v1beta' ], oslogin: [ 'v1', 'v1alpha', 'v1beta' ], pagespeedonline: [ 'v1', 'v2', 'v4', 'v5' ], people: [ 'v1' ], playcustomapp: [ 'v1' ], plus: [ 'v1' ], policytroubleshooter: [ 'v1', 'v1beta' ], poly: [ 'v1' ], prod_tt_sasportal: [ 'v1alpha1' ], proximitybeacon: [ 'v1beta1' ], pubsub: [ 'v1', 'v1beta1a', 'v1beta2' ], recommender: [ 'v1beta1' ], redis: [ 'v1', 'v1beta1' ], remotebuildexecution: [ 'v1', 'v1alpha', 'v2' ], reseller: [ 'v1' ], run: [ 'v1', 'v1alpha1', 'v1beta1' ], runtimeconfig: [ 'v1', 'v1beta1' ], safebrowsing: [ 'v4' ], sasportal: [ 'v1alpha1' ], script: [ 'v1' ], searchconsole: [ 'v1' ], secretmanager: [ 'v1', 'v1beta1' ], securitycenter: [ 'v1', 'v1beta1', 'v1p1alpha1', 'v1p1beta1' ], serviceconsumermanagement: [ 'v1' ], servicecontrol: [ 'v1' ], servicemanagement: [ 'v1' ], servicenetworking: [ 'v1', 'v1beta' ], serviceusage: [ 'v1', 'v1beta1' ], sheets: [ 'v4' ], siteVerification: [ 'v1' ], slides: [ 'v1' ], sourcerepo: [ 'v1' ], spanner: [ 'v1' ], speech: [ 'v1', 'v1p1beta1', 'v2beta1' ], sql: [ 'v1beta4' ], storage: [ 'v1', 'v1beta2' ], storagetransfer: [ 'v1' ], streetviewpublish: [ 'v1' ], tagmanager: [ 'v1', 'v2' ], tasks: [ 'v1' ], testing: [ 'v1' ], texttospeech: [ 'v1', 'v1beta1' ], toolresults: [ 'v1beta3' ], tpu: [ 'v1', 'v1alpha1' ], translate: [ 'v2', 'v3', 'v3beta1' ], vault: [ 'v1' ], verifiedaccess: [ 'v1' ], videointelligence: [ 'v1', 'v1beta2', 'v1p1beta1', 'v1p2beta1', 'v1p3beta1' ], vision: [ 'v1', 'v1p1beta1', 'v1p2beta1' ], webfonts: [ 'v1' ], webmasters: [ 'v3' ], websecurityscanner: [ 'v1', 'v1alpha', 'v1beta' ], youtube: [ 'v3' ], youtubeAnalytics: [ 'v1', 'v2' ], youtubereporting: [ 'v1' ] } ```