There are two environments you will be working in for the exercises today.
-
Jumpbox: The apps and containers must be run on a Linux machine. Use your newly created Jumpbox for this exercise.
Note: If you have bash or ssh available on your machine, it is easiest to access the jump box via SSH.
-
Azure Cloud Shell: The Azure Cloud Shell will be accessed by logging into the Azure Portal (http://portal.azure.com).
Labs 1 and 2 require the Jumpbox.
Once you have accessed the jumpbox, you must clone the workshop repo to the machine.
-
Start with a terminal on the jumpbox
-
Clone the Github repo via the command line
git clone https://github.com/heoelri/container-bootcamp.git
The underlying data store for the app is MongoDB. It is already running(we installed MongoDB during Jumpbox setup). We need to import the data for our application.
-
Import the data using a terminal session on the jumpbox
cd ~/container-bootcamp/app/db mongoimport --host localhost:27019 --db webratings --collection heroes --file ./heroes.json --jsonArray mongoimport --host localhost:27019 --db webratings --collection ratings --file ./ratings.json --jsonArray mongoimport --host localhost:27019 --db webratings --collection sites --file ./sites.json --jsonArray
The API for the app is written in javascript, running on Node.js and Express
-
Update dependencies and run app via node in a terminal session on the jumpbox
cd ~/container-bootcamp/app/api sudo npm install && npm run localmachine
The terminal will show the message saying
CONNECTED TO mongodb://localhost:27019/webratings
Leave the terminal session open as such and proceed to next step. A new session to the Jumpbox needs to be opened in parallel in the next step
-
Open a new terminal session on the jumpbox and test the API
use curl
curl http://localhost:3000/api/heroes
The web frontend for the app is written in Vue.js, running on Node.js with Webpack
-
Open a new terminal session on the jumpbox This will most likely be a third terminal session that will be opened
-
Update dependencies and run app via node
cd ~/container-bootcamp/app/web sudo npm install -f && npm run localmachine
-
Test the web front-end
To test the web front-end via the internet you've to grab your ip address from the Azure Portal and enable access to port 8080.
- Goto portal.azure.com
- Select your Jumpbox VM
- Goto Networking
- Select 'Add inbound'
- Add a new inbound security rule for Port 8080/TCP
You can test the web app from a new terminal session in the jumpbox
curl http://localhost:8080
> Important! Make sure to close the web and api apps in the terminal windows by hitting ctrl-c
in each of the corresponding terminal windows to avoid port conflict issues in the next excercise.