J. Correia Lopes

FEUP/DEI & INESC TEC

User Tools

Site Tools


teach:lbaw:tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Previous revision
teach:lbaw:tools [05/04/2019 08:41]
teach:lbaw:tools [04/02/2020 13:38] (current)
Correia Lopes [3. Docker Caveats]
Line 1: Line 1:
 +====== Computational resources ======
  
 +**Master in Informatics and Computing Engineering\\
 +  Database and Web Applications Laboratory\\
 +  Instance: 2019/2020**
 +\\
 +---
 +\\
 +
 +This page describes the computational resources required for the development of the project.
 +
 +===== - Version Control with Git =====
 +
 +Git is the version control system used during LBAW.
 +The group (gg) repository is: https://​git.fe.up.pt/​lbaw/​lbaw1920/​lbaw20gg.
 +The teacher adds you to the repository in the first class.
 +
 +Make sure you login in https://​git.fe.up.pt/​ before the first class, so that your account is created in the system.
 +
 +The repository'​s README file must include:
 +  * Group reference (lbaw20gg)
 +  * Project theme (e.g. "​1. Collaborative news")
 +  * List of team members, including names and email addresses
 +
 +The group must ensure that the repository remains private, visible only by the team members and the teacher. ​
 +
 +[[https://​git-scm.com/​documentation|Git Documentation]] | 
 +[[https://​git-scm.com/​docs/​user-manual.html|Git User Manual]] | 
 +[[https://​git-scm.com/​docs/​gittutorial|A tutorial introduction to Git]]
 +
 +===== - Develop the User Interfaces Prototype =====
 +
 +The User Interface Prototype (PIU) is composed by a subset of the user interfaces the group have to develop for the project. ​
 +The pages are static HTML pages which use the Bootstrap framework.
 +
 +The group starts the PIU by copying the files available at the template repository (https://​git.fe.up.pt/​lbaw/​template-piu) to his own repository, and then follow the instructions,​ detailed in the README, to setup the technologies needed for the development.
 +
 +The PIU uses the NGINX HTTP server.
 +A local instance is created inside the Docker container using the bundled ''​Dockerfile''​ (see the README for the required steps).
 +
 +Once the PIU HTML pages are developed, the group builds and uploads a Docker image (''​lbaw20gg-piu''​) to the group Docker hub repository (see the README for the required steps). ​
 +
 +Using the FEUP VPN, the project will be available at http://​lbaw20gg-piu.lbaw-prod.fe.up.pt.
 +Be aware that these interfaces need to be available for evaluation. ​
 +Otherwise, the group won't be graded in that component.
 +
 +[[http://​nginx.org/​en/​docs/​beginners_guide.html|NGINX Beginner’s Guide]] |
 +[[https://​docs.docker.com/​get-started/​|Docker documentation]] |
 +[[https://​docs.docker.com/​docker-hub/​|Overview of Docker Hub]]
 +
 +===== - Docker Caveats =====
 +
 +If you are using your own machine for development you won't likely face the problems described here. 
 +If you are using FEUP's desktop computers, you must read this section. ​
 +Docker server is not installed natively on Windows and Linux, so we need to run it inside a virtual machine. ​
 +
 +On Windows, you need to open the **Links** folder on your desktop and start the Docker-toolbox executable. ​
 +This will download a virtual machine and set everything for you. 
 +Keep the Docker-toolbox window open. 
 +Once running, you can use the Docker and Docker-compose binaries that are already set on your Windows Path. 
 +Note that as the Docker service is running inside a virtual machine, you do not have access to it using localhost.
 +Instead, you need to use the IP address presented on the Docker-toolbox window.
 +
 +The process is similar in Linux, but there'​s no Docker-toolbox available to automatically set up the virtual machine that runs Docker. ​
 +We've set one up that you can [[https://​drive.google.com/​open?​id=18sg6SLi6_X94rbiAxQnglWGcuViJxb5s|download it from here]]. ​
 +Note that the image is large and won't likely fit in your user home, you should download it to the ''/​tmp/''​ folder. ​
 +The username and password for the image is "​lbaw"​. ​
 +The image is configured to run with a bridged network card, which will provide an IP address with which you can interact with it. 
 +You can check this IP address with ''​ifconfig''​ command inside the terminal.
 +
 +{{ :​teach:​lbaw:​ifconfig.png?​direct |}}
 +
 +You can then use that IP address to instruct your local Docker client to connect to the Docker server running inside the virtual machine, by setting the Docker_HOST environment variable. ​
 +Docker is running inside the VM in port 4243, so you can set the variable with ''​%%export DOCKER_HOST tcp://​192.168.1.30:​4243%%''​. ​
 +Feel free to add this to your bash profile so that it is set on every session. ​
 +From here on, you can run Docker commands locally that are executed inside the VM. 
 +
 +**To be continued...**
 +
 +\\
 + --- //LBAW//