Differences

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

Link to this comparison view

ii:labs:s2:04:tasks:01 [2023/05/18 17:00]
radu.ciobanu
ii:labs:s2:04:tasks:01 [2024/04/11 12:44] (current)
radu.ciobanu
Line 1: Line 1:
-==== 01. [30p] Running ​a multi-container application ​====+==== 01. [20p] Running ​containers ​====
  
 == Subtasks == == Subtasks ==
  
-  - based on the sources and the Dockerfile in the //**backend**// folder from the lab archive, build an image with the name **//​lab4-api-image//** +  - pull the **//busybox//** image from the official Docker registry to the local cache 
-  - create a bridge network called **//​lab4-db-network//​** +  run a **//busybox//** container ​that executes ​the **//uptime//** command 
-  - create another bridge network called **//​lab4-adminer-network//​** +  - run an interactive ​**//busybox//** container; once you enter it, run the command ​**//wget google.com//**, then exit 
-  - create a volume named **//​lab4-db-volume//​** +  - run a **//busybox//** detached interactive ​container ​(daemon); once you have started it, attach ​to it and run the **//id//** command, then exit 
-  - from the parent folder of //​**backend**//,​ launch a container //​**in ​the background**//​ for a database with the following features: +  - delete all containers and images ​created ​at the previous points
-    - 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 ​**//lab4-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 **//​lab4-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 **//​lab4-db//​** +
-    - the container will run the **//postgres//** image from the official register +
-  - add the **//lab4-db//** container to the **//​lab4-adminer-network//​** network +
-  - launch a container //**in the background**//​ for a database admin with the following features: +
-    - the container will expose port 8080 and map it to 8080 on the local machine +
-    - the container will be called **//​lab4-adminer//​** +
-    - the container will be part the previously-created **//​lab4-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 ​**//​lab4-api-image//​** image, with the following features: +
-    - the container will be part of the previously-created **//​lab4-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 **//​lab4-db//​** +
-      - variable **//​PGPORT//​** with value **//​5432//​** +
-    - the container will be called **//​lab4-api//​** +
-    - the container will expose port 80 and map it to port 5555 on the local machine +
ii/labs/s2/04/tasks/01.1684418433.txt.gz · Last modified: 2023/05/18 17:00 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