Differences

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

Link to this comparison view

ii:labs:s2:05:tasks:01 [2022/05/31 13:04]
radu.ciobanu created
ii:labs:s2:05:tasks:01 [2025/05/21 08:38] (current)
florin.stancu [01. [30p] Running a multi-container application]
Line 1: Line 1:
-==== 01. [30p] Starting ​a multi-node Docker Swarm cluster ​====+==== 01. [30p] Running ​a multi-container application ​====
  
 == Subtasks == == Subtasks ==
  
-  - X+  - based on the sources and the Dockerfile in the //​**backend**//​ folder from the lab archive, build an image with the name **//​lab5-api-image//​** 
 +  - create a bridge network called **//​lab5-db-network//​** 
 +  - create another bridge network called **//​lab5-adminer-network//​** 
 +  - create a volume named **//​lab5-db-volume//​** 
 +  - from the parent folder of //​**backend**//,​ launch a container //**in the background**//​ for a database with the following features: 
 +    - a bind mount will be attached that will map between the **//​%%"​%%$(pwd)%%"​%%/​database/​init-db.sql//​** file on the local machine (this will be the source to the bind mount flag and can be found in the lab archive) and the **///​docker-entrypoint-initdb.d/​init-db.sql//​** file in the container to be run (this will be the destination) 
 +    - attach the previously-created **//​lab5-db-volume//​** volume (as source) to the **///​var/​lib/​postgresql/​data//​** path in the running container (as destination) 
 +    - the container will be part the previously-created **//​lab5-db-network//​** network 
 +    - the following environment variables will be specified (in a **//docker run//** command, this is done as follows: **// docker run -e NAME=value//​**):​ 
 +      - variable **//​POSTGRES_USER//​** with value **//​admin//​** 
 +      - variable **//​POSTGRES_PASSWORD//​** with value **//​admin//​** 
 +      - variable **//​POSTGRES_DB//​** with value **//​books//​** 
 +    - the container will be called **//​lab5-db//​** 
 +    - the container will run the **//​postgres//​** image from the official register 
 +  - add the **//​lab5-db//​** container to the **//​lab5-adminer-network//​** network 
 +  - launch a container //**in the background**//​ for a database admin with the following features: 
 +    - the container will expose port 80 and map it to 8080 on the local machine 
 +    - the container will be called **//​lab5-adminer//​** 
 +    - the container will be part the previously-created **//​lab5-adminer-network//​** network 
 +    - the container will run the **//​adminer//​** image from the official register 
 +  - start a container //**in the background**//​ based on the previously-created **//​lab5-api-image//​** image, with the following features: 
 +    - the container will be part of the previously-created **//​lab5-db-network//​** network 
 +    - the following environment variables will be specified:​ 
 +      - variable **//​PGUSER//​** with value **//​admin//​** 
 +      - variable **//​PGPASSWORD//​** with value **//​admin//​** 
 +      - variable **//​PGDATABASE//​** with the value **//​books//​** 
 +      - variable **//​PGHOST//​** with value **//​lab5-db//​** 
 +      - variable **//​PGPORT//​** with value **//​5432//​** 
 +    - the container will be called **//​lab5-api//​** 
 +    - the container will expose port 80 and map it to port 5555 on the local machine
  
-== What to upload == 
- 
-  * X 
ii/labs/s2/05/tasks/01.1653991461.txt.gz · Last modified: 2022/05/31 13:04 by radu.ciobanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0