﻿1
00:00:04,670 --> 00:00:09,710
‫Baiklah. Volume tampak cukup sederhana di depan, tetapi sebenarnya ada banyak hal.

2
00:00:09,710 --> 00:00:16,480
‫Cara pertama Anda bisa memberi tahu sebuah wadah bahwa ia perlu khawatir tentang volume ada di Dockerfile.

3
00:00:16,480 --> 00:00:18,540
‫Mari kita periksa beberapa di antaranya.

4
00:00:18,590 --> 00:00:21,040
‫Saya hanya akan melakukan apa yang saya lakukan.

5
00:00:21,170 --> 00:00:24,110
‫Saya akan mencari MySQL.

6
00:00:24,320 --> 00:00:30,320
‫Ini adalah bagaimana saya belajar banyak tentang Dockerfiles, dan bagaimana menggunakannya dengan benar, adalah repositori resmi benar-benar

7
00:00:30,380 --> 00:00:34,040
‫memiliki standar suara dan praktik terbaik yang dibangun di dalamnya.

8
00:00:34,040 --> 00:00:40,250
‫Ketika saya pergi ke sini untuk MySQL satu, saya hanya akan mengklik Dockerfile terbaru di sini. Saya yakin Anda karena ini

9
00:00:40,250 --> 00:00:45,040
‫adalah basis data, mungkin ada perintah volume di dalamnya.

10
00:00:45,200 --> 00:00:45,950
‫Itu dia.

11
00:00:45,950 --> 00:00:52,640
‫Ini adalah lokasi default dari database MySQL. Gambar ini diprogram dengan cara memberi

12
00:00:52,640 --> 00:00:58,670
‫tahu Docker bahwa ketika kami memulai wadah baru darinya, untuk benar-benar membuat lokasi volume

13
00:00:58,670 --> 00:01:05,450
‫baru dan menetapkannya ke direktori ini di wadah. Yang berarti file apa pun yang kami tempatkan di sana, dalam wadah, akan

14
00:01:05,450 --> 00:01:08,600
‫bertahan lebih lama dari wadah sampai kami menghapus volume secara manual.

15
00:01:08,660 --> 00:01:13,250
‫Dan itu sesuatu yang harus kita tunjukkan di sini adalah bahwa volume membutuhkan penghapusan manual.

16
00:01:13,280 --> 00:01:15,900
‫Anda tidak dapat membersihkannya hanya dengan mengeluarkan wadah.

17
00:01:15,930 --> 00:01:21,350
‫Mereka langkah ekstra. Itu hanya untuk asuransi, karena inti dari perintah

18
00:01:21,380 --> 00:01:26,990
‫volume adalah untuk mengatakan bahwa data ini sangat penting, setidaknya jauh lebih penting daripada wadah itu sendiri.

19
00:01:26,990 --> 00:01:29,930
‫Jika kita melakukan docker pull di MySQL,

20
00:01:33,500 --> 00:01:40,360
‫dan kemudian saya melakukan docker image memeriksa pada MySQL, kita tidak bisa melihat Dockerfile karena file Docker sebenarnya bukan

21
00:01:40,370 --> 00:01:46,340
‫bagian dari metadata gambar, yang akan Anda perhatikan dalam hal ini area konfigurasi, yang ditentukan volume

22
00:01:46,340 --> 00:01:47,680
‫itu di sana.

23
00:01:47,810 --> 00:01:53,600
‫Saya selalu bisa mengatakan bahwa konfigurasi, yang berasal dari Dockerfile ketika dibangun, memberikan volume ke

24
00:01:53,600 --> 00:01:54,460
‫jalur itu.

25
00:01:54,470 --> 00:01:57,150
‫Mari kita jalankan wadah dari itu.

26
00:02:00,990 --> 00:02:05,640
‫Jadi buruh pelabuhan menjalankan kontainer -d --name mysql.

27
00:02:05,730 --> 00:02:09,120
‫Jika Anda ingat dari sebelumnya, yang MySQL sedikit istimewa.

28
00:02:09,230 --> 00:02:11,390
‫Sekarang membutuhkan variabel lingkungan

29
00:02:11,400 --> 00:02:13,450
‫sebelum akan berfungsi.

30
00:02:13,530 --> 00:02:19,090
‫Ini adalah MYSQL_ALLOW_EMPTY_PASSWORD.

31
00:02:19,180 --> 00:02:19,430
‫BAIK.

32
00:02:22,810 --> 00:02:29,020
‫Apa yang Anda lihat adalah MySQL sedang berjalan. Jika kita melakukan buruh pelabuhan memeriksa

33
00:02:29,170 --> 00:02:37,200
‫mysql, kita harus melihat hal yang sama di mana memberitahu kita di konfigurasi bahwa ada volume.

34
00:02:38,360 --> 00:02:39,370
‫Sini.

35
00:02:39,450 --> 00:02:47,400
‫Kita juga bisa melihatnya di sini di bawah gunung. Apakah ini, apakah ini sebenarnya wadah berjalan yang mendapatkan lokasi

36
00:02:47,400 --> 00:02:55,770
‫uniknya sendiri pada host, untuk menyimpan data itu, dan kemudian di latar belakang, dipetakan atau dipasang, ke lokasi itu dalam wadah, sehingga

37
00:02:55,770 --> 00:02:59,730
‫lokasi dalam wadah sebenarnya hanya berpikir itu menulis ke /

38
00:02:59,730 --> 00:03:02,040
‫var / lib / mysql.

39
00:03:02,310 --> 00:03:08,570
‫Dalam hal ini, kita dapat melihat bahwa data sebenarnya tinggal di lokasi tersebut di host. Jadi mari kita lakukan volume buruh pelabuhan,

40
00:03:08,570 --> 00:03:10,790
‫dan kita dapat

41
00:03:10,860 --> 00:03:16,760
‫melihat bahwa kita memiliki satu volume. Sekarang kita perhatikan ini telah mendapatkan ID unik yang kita tidak akan

42
00:03:16,760 --> 00:03:18,190
‫pernah tahu apa yang terjadi,

43
00:03:18,200 --> 00:03:18,560
‫kan?

44
00:03:18,560 --> 00:03:21,090
‫Jadi, mari kita lakukan inspeksi.

45
00:03:21,150 --> 00:03:22,310
‫Anda tidak perlu mengetik semuanya.

46
00:03:22,310 --> 00:03:26,270
‫Anda cukup mengetik pasangan karakter pertama dan tekan Tab untuk melengkapinya. Anda akan mendapatkan informasi

47
00:03:26,270 --> 00:03:28,390
‫serupa tentang volume itu sendiri.

48
00:03:29,440 --> 00:03:35,050
‫Jika Anda benar-benar melakukan ini pada mesin Linux, Anda dapat menavigasi ke lokasi itu di hard drive

49
00:03:35,050 --> 00:03:36,790
‫Anda dan melihat datanya.

50
00:03:37,090 --> 00:03:38,530
‫Sebenarnya akan ada beberapa database di sana.

51
00:03:38,560 --> 00:03:43,870
‫Jika Anda menggunakan Mac atau Windows, ingatlah bahwa Docker untuk Windows dan Docker untuk Mac

52
00:03:43,870 --> 00:03:49,620
‫sebenarnya melakukan sedikit di latar belakang yang disembunyikan dari kami di mana ia sebenarnya membuat VM Linux.

53
00:03:49,750 --> 00:03:55,420
‫Jadi data ini secara teknis di dalam VM Linux itu. Anda tidak akan dapat pergi ke jalur itu di mesin

54
00:03:55,450 --> 00:03:59,530
‫Windows atau Mac Anda dan melihat datanya. Sebenarnya di dalam VM itu.

55
00:03:59,530 --> 00:04:04,210
‫Kita akan melihat sedikit, dengan volume yang terpasang, bagaimana kita bisa mengatasi batasan itu juga.

56
00:04:04,210 --> 00:04:10,810
‫Dengan melihat ini, Anda melihat bahwa itu tidak sangat ramah pengguna dalam hal memberi tahu kami apa yang

57
00:04:11,140 --> 00:04:14,250
‫ada di dalamnya atau apa volume ini ditugaskan.

58
00:04:14,260 --> 00:04:20,260
‫Kita bisa melihat dari perspektif wadah apa volume yang digunakannya, tetapi kita tidak bisa melihat dari perspektif

59
00:04:20,410 --> 00:04:22,150
‫volume apa itu terhubung.

60
00:04:22,150 --> 00:04:22,910
‫Kanan?

61
00:04:23,230 --> 00:04:28,910
‫Jika saya hanya menekan Panah Atas dan, mari kita lihat, buat mysql2.

62
00:04:29,170 --> 00:04:32,190
‫Itu sekarang menciptakan server MySQL lain yang berjalan di latar belakang.

63
00:04:32,200 --> 00:04:36,430
‫Jika saya melakukan volume buruh pelabuhan lain, Anda akan melihat dua dari mereka.

64
00:04:36,430 --> 00:04:37,770
‫Anda mulai melihat masalahnya, bukan?

65
00:04:37,790 --> 00:04:41,630
‫Tidak ada cara mudah di sini untuk membedakan satu dari yang lain.

66
00:04:41,740 --> 00:04:53,500
‫Jika kita hanya ingin membuktikan suatu hal, lakukan sebuah docker container stop mysql, dan docker a container stop

67
00:04:53,590 --> 00:04:54,930
‫mysql2.

68
00:04:55,190 --> 00:05:01,180
‫Kami melakukan kontainer buruh pelabuhan, kami tidak akan melihat kontainer berjalan. Jika kita melakukan ls-a, kita

69
00:05:01,180 --> 00:05:06,900
‫bisa melihat semuanya. Dan perhatikan bahwa mereka dihentikan. Dan kemudian kita lakukan volume buruh pelabuhan, Anda

70
00:05:06,910 --> 00:05:08,580
‫perhatikan kami masih memiliki dua volume.

71
00:05:08,590 --> 00:05:16,390
‫Jika saya melakukan kontainer buruh pelabuhan rm mysql, dan kemudian mysql2, karena saya benar-benar dapat melakukan keduanya dalam

72
00:05:16,390 --> 00:05:23,590
‫satu perintah, itu akan menghapus kedua kontainer saya. Jika saya sekarang melakukan volume buruh pelabuhan, volume

73
00:05:23,590 --> 00:05:26,560
‫saya masih ada. Data saya masih aman.

74
00:05:26,560 --> 00:05:28,510
‫Jadi, kami telah memecahkan satu masalah.

75
00:05:28,510 --> 00:05:31,660
‫Database hidup lebih lama dari executable.

76
00:05:31,660 --> 00:05:34,180
‫Bagaimana kita menjadikan ini sedikit lebih ramah pengguna?

77
00:05:35,090 --> 00:05:40,010
‫Di situlah volume bernama masuk dan kemampuan bagi kita untuk menentukan hal-hal pada perintah

78
00:05:40,010 --> 00:05:40,850
‫run docker.

79
00:05:41,120 --> 00:05:47,810
‫Jika saya menekan Panah Atas beberapa kali hingga saya mencapai penampung kontainer, tidak terlalu penting yang mana yang

80
00:05:47,810 --> 00:05:49,600
‫akan Anda jalankan lagi.

81
00:05:50,820 --> 00:05:59,340
‫Dalam hal ini, kita akan benar-benar melakukan perintah -v. A -v memungkinkan kita untuk menentukan volume baru

82
00:05:59,370 --> 00:06:06,660
‫yang ingin kita buat untuk wadah ini yang akan dijalankan, atau memungkinkan kita dua opsi

83
00:06:06,660 --> 00:06:07,500
‫lain.

84
00:06:07,500 --> 00:06:10,320
‫Salah satunya di sini adalah membuat volume bernama.

85
00:06:10,320 --> 00:06:17,660
‫Jika saya hanya melakukan -v, dan kemudian var lib mysql, itu akan melakukan hal yang sama dengan apa yang dilakukan

86
00:06:17,670 --> 00:06:20,040
‫oleh perintah volume kami di Dockerfile.

87
00:06:20,040 --> 00:06:24,970
‫Kami tidak perlu melakukannya di sini. Tapi yang bisa kita lakukan adalah saya bisa meletakkan nama di depannya

88
00:06:26,810 --> 00:06:29,930
‫dengan tanda titik dua. Itu dikenal sebagai "volume bernama. "Ketika saya

89
00:06:30,080 --> 00:06:38,000
‫melakukan itu, dan kemudian melakukan volume buruh pelabuhan, Anda akan melihat bahwa wadah baru saya menggunakan volume baru dan menggunakan

90
00:06:38,180 --> 00:06:39,300
‫nama yang ramah.

91
00:06:39,320 --> 00:06:45,980
‫Jika kami melakukan volume buruh pelabuhan memeriksa mysql itu, Anda akan melihat bahwa ini lebih mudah digunakan di sini.

92
00:06:46,010 --> 00:06:49,550
‫Jika saya menghapus wadah saya lagi, dan kita harus meletakkan -f

93
00:06:52,470 --> 00:06:59,040
‫karena masih berjalan, dan kemudian saya menjalankan yang lain. Dan kali ini, saya akan memberikan

94
00:06:59,040 --> 00:07:04,280
‫nama yang berbeda. Dan kemudian kita lakukan volume buruh pelabuhan lain, Anda akan

95
00:07:04,280 --> 00:07:09,420
‫melihat bahwa sepertinya kami belum membuat volume baru. Masih menggunakan volume yang sama.

96
00:07:09,420 --> 00:07:17,680
‫Mari kita lakukan inspeksi buruh pelabuhan pada mysql3. Lalu apa yang akan kita lihat di sini adalah, ya,

97
00:07:18,990 --> 00:07:22,860
‫ini yang sudah dikonfigurasikan tapi apa yang kita jalankan?

98
00:07:22,880 --> 00:07:24,300
‫Ini tunggangan kami di sini.

99
00:07:24,560 --> 00:07:29,510
‫Kita akan lihat di sini bahwa tidak hanya nama yang lebih ramah, tetapi juga mengubah lokasi sumber

100
00:07:29,510 --> 00:07:30,980
‫menjadi sedikit lebih ramah.

101
00:07:31,280 --> 00:07:38,480
‫Bagi saya, sedikit tip di sini adalah bahwa ketika saya menjalankan selama berhari-hari atau berminggu-minggu pada suatu waktu, pada basis data

102
00:07:38,540 --> 00:07:43,460
‫tertentu, dalam wadah tertentu yang harus saya gunakan berulang kali dan saya tidak ingin

103
00:07:43,460 --> 00:07:50,930
‫server database kosong, Saya akan akhirnya membuat wadah saya dengan cara ini dan memberi nama mereka untuk proyek sehingga saya tahu untuk

104
00:07:50,930 --> 00:07:52,250
‫apa volume itu,

105
00:07:52,370 --> 00:07:53,900
‫dan bahwa itu perlu bertahan.

106
00:07:57,840 --> 00:07:59,200
‫Satu hal terakhir di sini.

107
00:08:00,130 --> 00:08:06,390
‫Mengapa Anda ingin membuat volume buruh pelabuhan?

108
00:08:06,550 --> 00:08:13,750
‫Jika kita dapat membuatnya dari perintah menjalankan wadah buruh pelabuhan saat runtime, dan kita dapat membuatnya dengan menentukannya di Dockerfile, hanya ada beberapa kasus

109
00:08:13,750 --> 00:08:18,670
‫di mana Anda ingin membuatnya terlebih dahulu. Dan Anda benar-benar dapat

110
00:08:18,670 --> 00:08:21,320
‫mengetahuinya dengan cepat menggunakan perintah bantuan.

111
00:08:22,210 --> 00:08:26,580
‫Karena inilah satu-satunya cara kita benar-benar dapat menentukan driver yang berbeda.

112
00:08:26,590 --> 00:08:28,890
‫Ingat hal-hal plug-in yang akan saya bicarakan nanti?

113
00:08:29,020 --> 00:08:33,370
‫Kemudian semua opsi driver yang ingin kita gunakan -o on.

114
00:08:33,370 --> 00:08:37,090
‫Kemudian jika kita ingin memberi label, yang juga akan kita bicarakan nanti di bagian produksi.

115
00:08:37,090 --> 00:08:42,530
‫Kadang-kadang, dalam kasus khusus, Anda perlu membuat volume Docker sebelumnya, tetapi biasanya untuk tujuan pengembangan lokal

116
00:08:42,540 --> 00:08:46,610
‫Anda, cukup menentukannya di Dockerfile atau saat menjalankan perintah baik-baik saja.

