﻿1
00:00:04,670 --> 00:00:10,720
‫Tudo bem. Agora que você aprendeu tudo sobre volumes e montagens de ligação e por

2
00:00:10,720 --> 00:00:16,120
‫que precisamos nos preocupar com dados persistentes, vamos fazer algo que é um cenário do mundo real, que é atualizações de banco de dados.

3
00:00:16,120 --> 00:00:21,250
‫Imagine uma situação em que você esteja executando uma versão específica de um banco de dados.

4
00:00:21,250 --> 00:00:28,210
‫Digamos postgres e você precisa atualizar a versão do patch porque talvez haja uma correção de segurança, ou uma

5
00:00:28,210 --> 00:00:30,490
‫correção de erros, ou algo assim.

6
00:00:30,490 --> 00:00:36,730
‫Normalmente, em um sistema, você apenas atualizaria o software. Você faria uma atualização ou atualização do sistema de gerenciamento

7
00:00:37,030 --> 00:00:41,340
‫de pacotes, e trataria todas as atualizações para as bibliotecas e tudo por si só.

8
00:00:41,650 --> 00:00:43,090
‫Mas como fazemos isso em um recipiente?

9
00:00:43,180 --> 00:00:48,700
‫Porque, se estamos tentando seguir a melhor prática de não atualizar aplicativos em contêineres, mas sim substituir o

10
00:00:48,700 --> 00:00:52,810
‫contêiner por uma nova versão, como fazemos isso com o banco de dados?

11
00:00:52,810 --> 00:00:58,990
‫O que você vai fazer para esta tarefa é que você vai usar o Docker Hub para obter algumas informações

12
00:00:59,110 --> 00:01:03,910
‫sobre a atualização da versão específica do postgres. Vamos começar com você especificamente criando

13
00:01:03,910 --> 00:01:12,100
‫um recipiente usando a versão 9. 6. 1, que é uma versão mais antiga. E você precisará criar um volume nomeado.

14
00:01:12,100 --> 00:01:18,820
‫Você vai ter que se apoiar na documentação do Docker Hub para isso, usando o repositório oficial do postgres.

15
00:01:19,270 --> 00:01:23,920
‫Você precisará entrar no Dockerfile para essa versão específica e aprender o que

16
00:01:23,920 --> 00:01:28,260
‫o caminho do volume precisa ser. Então você pode nomear seu volume o que quiser no lado esquerdo.

17
00:01:28,270 --> 00:01:33,040
‫Mas lembre-se que o cólon do lado direito, esse deve ser o caminho onde os bancos de

18
00:01:33,040 --> 00:01:34,590
‫dados reais estarão no recipiente.

19
00:01:34,810 --> 00:01:38,680
‫Uma vez que você tenha descoberto tudo e você começou seu contêiner, você deve começar a verificar os registros para ver quando

20
00:01:38,680 --> 00:01:43,390
‫terminar de criar os bancos de dados e todas as coisas de inicialização. Como a primeira vez que você inicia um

21
00:01:43,390 --> 00:01:47,680
‫contêiner de banco de dados, geralmente faz um monte de coisas em segundo plano, como

22
00:01:47,710 --> 00:01:51,810
‫criar o usuário de administrador e um banco de dados padrão, e assim por diante.

23
00:01:51,820 --> 00:01:55,660
‫Haverá um ponto em que os logs serão interrompidos e então ele será executado.

24
00:01:55,660 --> 00:02:02,530
‫um volume docker ls e ver o volume listado lá, com o nome que você deu e você deve poder parar esse recipiente.

25
00:02:02,620 --> 00:02:07,630
‫Se você fez isso corretamente, você poderá fazer Então você vai criar um

26
00:02:07,660 --> 00:02:10,560
‫novo recipiente com uma nova versão.

27
00:02:10,630 --> 00:02:16,300
‫Vai ser um comando muito parecido com o primeiro, apenas você especifica uma versão diferente, você

28
00:02:16,310 --> 00:02:22,780
‫também se certificará de que deseja especificar o volume do nome do samed porque precisa usar os dados

29
00:02:22,780 --> 00:02:24,420
‫que você usou no primeiro.

30
00:02:24,460 --> 00:02:28,060
‫Claro, certifique-se de ter o primeiro parado porque ambos não podem acessar os

31
00:02:28,060 --> 00:02:29,450
‫mesmos dados ao mesmo tempo.

32
00:02:29,680 --> 00:02:33,730
‫Depois de iniciá-lo, vá em frente e verifique os registros novamente para esse novo recipiente.

33
00:02:34,000 --> 00:02:38,980
‫O que você deve ver é que ele só tem algumas linhas de logs de inicialização porque não precisa

34
00:02:38,980 --> 00:02:40,900
‫fazer todo o trabalho da inicialização inicial.

35
00:02:40,900 --> 00:02:43,650
‫Esse tipo de como você sabe que está usando o mesmo volume

36
00:02:43,660 --> 00:02:48,050
‫nomeado é que a segunda vez que ele é iniciado, ele pode ter apenas quatro ou cinco entradas de log.

37
00:02:48,310 --> 00:02:50,070
‫Então, este é um cenário do mundo real.

38
00:02:50,070 --> 00:02:54,860
‫Você fará isso se você executar bancos de dados de produção ou qualquer coisa que você precise manter atualizado.

39
00:02:55,000 --> 00:03:00,700
‫Observe que a maioria dos sistemas de banco de dados não faz upgrades importantes automaticamente.

40
00:03:00,700 --> 00:03:05,470
‫Geralmente requer uma ferramenta. há uma ferramenta separada para cada um deles que você precisa executar.

41
00:03:05,470 --> 00:03:06,670
‫Com o Postgres ou o MySQL,

42
00:03:06,670 --> 00:03:12,310
‫Isso realmente é apenas sobre a atualização das versões de patch ou o último número que não

43
00:03:12,310 --> 00:03:16,800
‫requer mudanças de esquema ou quaisquer atualizações importantes para o próprio código de dados.

44
00:03:16,870 --> 00:03:18,080
‫Como antes, se você

45
00:03:18,160 --> 00:03:24,400
‫ficar preso, não se preocupe porque isso é uma coisa nova e pode não ficar tão claro no Docker Hub.

46
00:03:24,730 --> 00:03:28,120
‫Se você ficar preso em algum momento e o Docker Hub não está

47
00:03:28,120 --> 00:03:33,180
‫ajudando você, basta verificar a próxima palestra, o que é que eu estou passando pelo mesmo exercício que eu faria.

48
00:03:33,190 --> 00:03:33,550
‫Boa sorte.

