﻿1
00:00:02,530 --> 00:00:10,610
‫În această prelegere, vom vorbi despre legarea montajului și a datelor persistente în acele valuri. Cerințele sunt într-adevăr că știți doar despre

2
00:00:10,610 --> 00:00:15,300
‫gestionarea containerelor și despre modul de rulare a containerelor.

3
00:00:15,320 --> 00:00:20,230
‫Hai să intrăm. Să vorbim despre legăturile de legare. Sunt de fapt foarte cool.

4
00:00:20,240 --> 00:00:25,550
‫Când am învățat prima dată despre ele, mi-a dat un fel de modul în care aș putea să folosesc Docker cu ușurință pentru

5
00:00:25,550 --> 00:00:26,180
‫dezvoltarea locală.

6
00:00:26,180 --> 00:00:33,380
‫Într-adevăr, o mount mount este doar o mapare a fișierelor gazdă, sau a directoarelor, într-un fișier container sau

7
00:00:33,380 --> 00:00:35,330
‫un director. Poți să faci asta.

8
00:00:35,330 --> 00:00:39,040
‫Puteți specifica un director sau un singur fișier. În fundal, este în

9
00:00:39,050 --> 00:00:43,780
‫principiu doar faptul că cele două locații indică aceleași locații fizice pe disc.

10
00:00:43,910 --> 00:00:49,730
‫Din nou, aceasta ignoră de fapt UFS ca și celelalte volume, astfel încât nu va

11
00:00:49,730 --> 00:00:52,620
‫șterge locația gazdei atunci când ștergeți containerul.

12
00:00:52,640 --> 00:00:58,550
‫Dacă în container există fișiere pe care le mutați fișierele gazdă, fișierele gazdă câștigă. În realitate, nu șterge fișierele din

13
00:00:58,550 --> 00:01:03,650
‫containerul pe care le-a înlocuit, deoarece nu prea suprascrie nimic în

14
00:01:03,680 --> 00:01:04,770
‫container.

15
00:01:04,910 --> 00:01:07,100
‫Este doar acolo în timp ce mount mount există.

16
00:01:07,100 --> 00:01:11,570
‫În clipa în care nu mai aveți nevoie de mount mount și re-rulați containerul fără el, veți

17
00:01:11,570 --> 00:01:17,650
‫vedea de fapt datele de bază care au fost acolo înainte. Deoarece mount-urile de legare sunt de obicei specifice gazdei, au

18
00:01:17,660 --> 00:01:21,870
‫nevoie de date specifice pentru a fi pe hard disk-ul gazdei pentru a funcționa.

19
00:01:21,890 --> 00:01:23,500
‫Nu le puteți specifica într-un fișier Docker.

20
00:01:23,510 --> 00:01:29,080
‫Trebuie să le utilizați în timpul rulării atunci când utilizați comanda de rulare a containerului docker. Puteți vedea formatul aici.

21
00:01:29,090 --> 00:01:33,980
‫Este într-adevăr -v pe care am folosit-o înainte, numai pe partea stângă a

22
00:01:34,100 --> 00:01:38,360
‫colonului, de fapt, punem o cale mai degrabă decât un nume.

23
00:01:38,360 --> 00:01:42,260
‫Și modul în care Docker-ul poate de fapt să spună diferența dintre volumul numit, așa cum

24
00:01:42,410 --> 00:01:46,490
‫am făcut-o cu ceva timp în urmă, și mount mount, este mount mount-ul începe cu o slash înainte.

25
00:01:46,490 --> 00:01:51,470
‫Pe Windows, veți observa că este vorba de două șuvițe înainte, apoi de litera de unitate și apoi de

26
00:01:51,470 --> 00:01:52,120
‫calea ta.

27
00:01:52,130 --> 00:01:57,620
‫Atâta timp cât aveți colonul stâng și cele drepte, puteți chiar să cartografiați tot ce doriți de

28
00:01:57,620 --> 00:02:01,860
‫la gazdă în container și puteți specifica și lucruri precum citirea numai.

29
00:02:01,880 --> 00:02:07,910
‫În cazul în care acest lucru vine într-adevăr să strălucească este cu dezvoltarea și funcționarea serviciilor în

30
00:02:07,910 --> 00:02:12,940
‫interiorul containerului dvs., care accesează fișierele pe care le utilizați pe gazdă sau schimbarea.

31
00:02:12,950 --> 00:02:14,720
‫Să facem asta cu Nginx.

32
00:02:14,930 --> 00:02:22,370
‫Dacă mergeți la rădăcina depozitului nostru pentru acest curs și apoi mergem în directorul de eșantion

33
00:02:22,370 --> 00:02:24,750
‫Dockerfile 2. Acum eram aici mai devreme.

34
00:02:24,770 --> 00:02:28,580
‫Dacă vă aduceți aminte, aveți două fișiere. Asta e pentru Nginx, nu?

35
00:02:28,580 --> 00:02:36,530
‫Dacă ne uităm rapid la Dockerfile, este destul de simplu. Este doar specificarea unui director de lucru și apoi copierea

36
00:02:36,560 --> 00:02:39,050
‫unui fișier index în directorul respectiv.

37
00:02:39,050 --> 00:02:40,490
‫Nu sunt volume aici.

38
00:02:40,490 --> 00:02:45,290
‫O mount mount nu necesită un volum de lucru, deși s-ar putea să fie acolo.

39
00:02:45,530 --> 00:02:52,590
‫Gazda câștigă mereu, îți amintești? Deci, atunci când facem un container de docker alergat, atunci

40
00:02:52,630 --> 00:02:56,330
‫vom face o ... să-i numim nginx.

41
00:02:56,390 --> 00:03:00,420
‫Să-i dăm portul 8080 ca înainte.

42
00:03:00,770 --> 00:03:06,470
‫Apoi o să-i dăm volumul de data asta. Și trebuie să-i spun că actualul meu director de lucru va fi

43
00:03:06,650 --> 00:03:12,230
‫de fapt montat în acel director de lucru din container. Deoarece fișierul index este aici în acest dosar,

44
00:03:12,230 --> 00:03:13,390
‫vreau să

45
00:03:13,430 --> 00:03:19,040
‫fie în container, așa că îl pot edita aici și se vede live în container.

46
00:03:19,040 --> 00:03:20,320
‫Deci, va avea sens într-o secundă.

47
00:03:20,540 --> 00:03:24,280
‫Iată un sfat scurt. În loc să fiu nevoit

48
00:03:24,290 --> 00:03:28,370
‫să-mi dau seama tot drumul și să scriu totul înăuntru, poți folosi pwd aici.

49
00:03:28,460 --> 00:03:36,210
‫Ce este o scurtătură pentru shell care spune: "Printați directorul de lucru și înlocuiți această comandă cu acea cale.

50
00:03:36,380 --> 00:03:43,460
‫"Apoi, vom folosi același director de lucru din dosarul Docker și vom

51
00:03:43,460 --> 00:03:45,360
‫specifica imaginea Nginx.

52
00:03:47,590 --> 00:03:52,930
‫Ceea ce am de gând să fac, într-adevăr rapid, este că voi deschide o altă fereastră de terminal pentru a

53
00:03:52,930 --> 00:03:54,480
‫putea face două lucruri deodată.

54
00:03:54,590 --> 00:03:56,010
‫Nu trebuie să faci asta.

55
00:03:56,050 --> 00:04:01,840
‫În principiu, vom edita fișierul pe gazda noastră, iar apoi voi fi în container și voi vedea ce

56
00:04:01,840 --> 00:04:02,780
‫se întâmplă.

57
00:04:02,920 --> 00:04:04,730
‫Deci, doar pentru a vă asigura că

58
00:04:04,780 --> 00:04:06,350
‫funcționează, hai să mergem la localhost.

59
00:04:06,700 --> 00:04:10,000
‫OK, deci nu este fișierul HTML Nginx implicit.

60
00:04:10,030 --> 00:04:13,080
‫Și am folosit imaginea obișnuită Nginx.

61
00:04:13,090 --> 00:04:16,580
‫De fapt, nu am folosit acel personalizat din acest director.

62
00:04:16,690 --> 00:04:24,270
‫Tocmai am folosit o imagine de stoc. Pentru a dovedi acest lucru, putem face din

63
00:04:24,280 --> 00:04:37,390
‫nou acea comandă exactă exactă, dar scoatem -v și o să o execut la portul 8080. Și o voi numi pe asta nginx2.

64
00:04:37,420 --> 00:04:47,930
‫Dacă mă duc la browserul meu și merg la localhost 8080, acesta este indexul implicit nginx. fișier html.

65
00:04:48,010 --> 00:04:52,130
‫Aceasta este cea personalizată pe care o trăim în acest director.

66
00:04:52,780 --> 00:04:56,380
‫Deci, deja vedem că a scris corect.

67
00:04:56,560 --> 00:05:03,010
‫Dacă deschid o altă filă aici și am o linie de comandă în container.

68
00:05:08,800 --> 00:05:10,130
‫Apoi mergeți la acel director.

69
00:05:17,710 --> 00:05:21,580
‫Veți observa că putem vedea efectiv fișierul Docker deoarece am cartografiat întregul director.

70
00:05:21,620 --> 00:05:27,460
‫În cazul în care peste pe stânga, dacă am făcut de fapt, un fișier nou și pot folosi doar comanda touch touch Linux aici pentru

71
00:05:30,440 --> 00:05:37,010
‫a crea un fișier nou. Apoi, în dreapta ... Hopa ... doar uita că ... - Și tu o să vezi

72
00:05:37,010 --> 00:05:37,900
‫asta în dosarul tău.

73
00:05:37,970 --> 00:05:43,350
‫Sperăm că înțelegeți ce se întâmplă aici, că ambele locații sunt aceeași locație.

74
00:05:43,370 --> 00:05:47,350
‫Și dacă am reluat ceva în dosarul de testare și

75
00:05:57,430 --> 00:05:58,420
‫apoi ...

76
00:06:01,620 --> 00:06:02,410
‫acolo te duci.

77
00:06:02,410 --> 00:06:06,670
‫Nginx-ul nostru poate vedea modificările, deoarece este doar o cale normală de fișier în container

78
00:06:06,670 --> 00:06:08,720
‫și acele fișiere sunt pe gazdă.

79
00:06:08,830 --> 00:06:12,670
‫Dacă ar fi trebuit să le șterg în container, acestea ar fi șterse pe gazdă, deoarece este

80
00:06:12,670 --> 00:06:13,210
‫același fișier.

81
00:06:13,210 --> 00:06:19,090
‫Acesta este momentul în care, de obicei, primesc un dezvoltator pentru a-mi lua gândurile despre toate mediile de dezvoltare

82
00:06:19,090 --> 00:06:24,670
‫pe care le au, care sunt configurația complicată. Poate că folosesc Vagrant sau altă metodă manuală

83
00:06:24,670 --> 00:06:30,880
‫de a-și stabili mediul perfect și pot începe să vadă cum ar putea face acest lucru mult mai simplu.

84
00:06:31,330 --> 00:06:35,920
‫Pentru că nu trebuia să fac nici o configurație complicată pe computerul meu Mac, tocmai am rulat un container.

85
00:06:35,920 --> 00:06:43,670
‫Am folosit comanda -v cu mount, iar acum codul meu, pe gazda mea, pot fi editate pe gazda mea.

86
00:06:43,840 --> 00:06:47,890
‫Și niciodată nu trebuie să intru în cochila containerului.

87
00:06:47,890 --> 00:06:52,570
‫De obicei, puteți să rulați containerul și să consultați jurnalele acestuia pentru a vedea dacă există erori în

88
00:06:52,570 --> 00:06:53,260
‫timpul codării.

89
00:06:53,500 --> 00:06:58,750
‫Desigur, acesta este un exemplu simplu cu Nginx. Mai târziu, vom avea de fapt

90
00:06:58,750 --> 00:07:03,160
‫exemple specifice de medii de dezvoltare diferite pentru dezvoltarea locală și containerele.

