# 17.10
```systemctl status docker```
```docker run hello-world ```
```docker run httpd ```
- ne moze naci sliku lokalno pa se skida slika sa interneta
```
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 18:60:24:8a:af:1b brd ff:ff:ff:ff:ff:ff
altname enp0s31f6
inet 10.11.44.25/24 brd 10.11.44.255 scope global dynamic noprefixroute eno1
valid_lft 690463sec preferred_lft 690463sec
inet6 fe80::519b:7a80:36e5:3f7f/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:e1:e4:b6:ad brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:e1ff:fee4:b6ad/64 scope link
valid_lft forever preferred_lft forever
7: veth0b041cd@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
link/ether ce:a1:6b:b1:0c:a9 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::cca1:6bff:feb1:ca9/64 scope link
valid_lft forever preferred_lft forever
```
```
curl 172.17.0.2
<html><body><h1>It works!</h1></body></html>
```
```curl -v 172.17.0.2 ```
```
curl -H 'Accept: application/json' https://app.group.miletic.net/ip | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (6) Could not resolve host: app.group.miletic.net
```
```docker run httpd ab ```
- ab je apachebench
- ab moz napraviti puno zahtjeva na jednu adresu
- ako se ne navede komanda izvode se defaultne ako ne navedene
```docker run httpd ab http://172.17.0.2/```
- kontejer je pokretanje slike
- na temelju jedne slike moze se pokrenuti puno kontejnera
## Zad1
### pronadite u paramterima ab-a ako napraviti 10000 zahtjeva tko da simultano ih radi 50 korisnika
```
docker run httpd ab -n 10000 -c 50 http://172.17.0.2/
This is ApacheBench, Version 2.3 <$Revision: 1901567 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking 172.17.0.2 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests
Server Software: Apache/2.4.54
Server Hostname: 172.17.0.2
Server Port: 80
Document Path: /
Document Length: 45 bytes
Concurrency Level: 50
Time taken for tests: 0.691 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 2890000 bytes
HTML transferred: 450000 bytes
Requests per second: 14478.97 [#/sec] (mean)
Time per request: 3.453 [ms] (mean)
Time per request: 0.069 [ms] (mean, across all concurrent requests)
Transfer rate: 4086.35 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 2 0.4 2 7
Processing: 1 2 0.3 2 7
Waiting: 0 1 0.3 1 6
Total: 2 3 0.6 3 13
Percentage of the requests served within a certain time (ms)
50% 3
66% 3
75% 3
80% 3
90% 4
95% 4
98% 4
99% 4
100% 13 (longest request)
```
## MongoDB
pokretanje mongo baze
``` docker run mongo ```
- znamo da je pokretuta baza zbog listetning na neki port i jer je kreiran index na bazu koji ne moze biti kreiran ako baza nije pokrenuta
```
docker run -it mongo bash
root@9a77e565d490:/# ps ux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.1 0.0 4116 3432 pts/0 Ss 16:56 0:00 bash
root 11 0.0 0.0 5900 2916 pts/0 R+ 16:57 0:00 ps ux
```
Redoslijed pokretanja baze u kontejneru:
- kreiranje mongo klijenta
- usli smo u docker kontajnjer
- pokrenuta je naredba bash
- mongo nije pokrenut
- pokrenura je ljuska i to znaci da nije pokrenut server
- prvo treba pokrenut server i onda unutar kontejnera klijenta te klijenta spojiti na server
```
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ca14b98a097 mongo "docker-entrypoint.s…" 9 minutes ago Up 9 minutes 27017/tcp determined_cray
c379afad8db9 httpd "httpd-foreground" 48 minutes ago Up 48 minutes 80/tcp brave_knuth
```
```docker container exec 0ca14b98a097 mongosh```
## zad2
### pronadi parametar koji zadrzava naredbu pokrenutom
``` docker container exec -h ```
``` docker container exec -i 0ca14b98a097 mongosh```
### stvorite bazu i u njoj kolekciju korisnici, unesite podatke o 2 korisnika po zelji
- preporuka je da se koristi insertOne kod ubacivanja u bazu
```
test> use Korisnici
switched to db Korisnici
Korisnici> db.Korisnici.insert({"ime":"Marko", "prezime":"Markic"});
DeprecationWarning: Collection.insert() is deprecated. Use insertOne, insertMany, or bulkWrite.
{
acknowledged: true,
insertedIds: { '0': ObjectId("634d8f57f295d3dd20c1527f") }
}
Korisnici> db.Korisnici.insertOne({"ime":"Marko", "prezime":"Markic"});
{
acknowledged: true,
insertedId: ObjectId("634d8f72f295d3dd20c15280")
}
Korisnici> db.Korisnici.fiind();
TypeError: db.Korisnici.fiind is not a function
Korisnici> db.Korisnici.find();
[
{
_id: ObjectId("634d8f57f295d3dd20c1527f"),
ime: 'Marko',
prezime: 'Markic'
},
{
_id: ObjectId("634d8f72f295d3dd20c15280"),
ime: 'Marko',
prezime: 'Markic'
}
]
```