Ir para conteúdo

Configurando Docker no windows, adeus VM


Posts Recomendados

 

Neste tutorial, irei ensinar configurar o Docker no windows e rodar seu otserver

 

 

 

- Diferença entre Docker x Máquina virtual:
  Docker e Máquinas Virtuais (VMs) ambas são fundamentais usadas para isolar recursos em um sistema de computação, mas funcionam de maneiras muito diferentes.

 

  •   VMs são ambientes de computação completos, incluindo um sistema operacional (SO) completo, que simulam o hardware de um computador físico. Isso significa que cada VM é um sistema autônomo e independente.
  •   Já o Docker, usa a tecnologia de contêineres. Os contêineres compartilham o mesmo sistema operacional do host, mas mantêm seu próprio espaço de processo, arquivos e rede. Isso significa que eles são muito mais leves do que as VMs, pois não precisam de um SO completo, e podem ser iniciados e parados muito mais rapidamente.


- Vantagens em utilizar o Docker
 O Docker oferece várias vantagens significativas:

  • Eficiência de recursos: Como os contêineres Docker compartilham o SO do host, eles são mais leves e usam menos recursos do que as VMs.
  • Portabilidade: O Docker permite que você "construa uma vez, execute em qualquer lugar". Uma vez criado um contêiner Docker, ele pode ser executado em qualquer sistema que suporte o Docker, independentemente das configurações subjacentes.
  • Isolamento: Cada contêiner Docker é isolado do resto do sistema, o que ajuda a evitar conflitos entre diferentes aplicações e versões de software.
  • Integração e entrega contínua: O Docker se integra bem com ferramentas de CI/CD (Integração Contínua / Entrega Contínua), permitindo a automatização de testes e implantação de aplicações.
  • Escalabilidade e Orquestração: O Docker facilita a escalabilidade de aplicações, permitindo que múltiplos contêineres sejam implantados facilmente. Além disso, com ferramentas como Docker Swarm e Kubernetes, a orquestração de contêineres se torna eficiente e gerenciável

 

 

Colocando a mão na massa

 

Este tutorial será dividido nas seguintes etapas:

  1. Preparação do Windows
  2. Instalando o Docker
  3. Instalando imagens mariadb e phpmyadmin
  4. Realizando a build da imagem TFS

 

1º PASSO:  Preparando o Windows com o subsistema Linux.

 

AVISO: Essa Etapa será necessária somente caso ainda não possua o subsistema Linux ativado em seu windows

 

Os comandos a seguir, serão todos utilizando o POWERSHELL do windows, na barra de pesquisa digite POWERSHELL e execute como administrador.
 

image.thumb.png.48b796a8ea32998ddea0abf3060f5c0b.png

 

Com o POWERSHELL aberto, execute os seguintes comandos:

 

  • Habilitando subsistema Linux:
     
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

 

 

  • Habilitando recurso de máquina virtual:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 

  • Baixe e instale Kernel do Linux:

 

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

 

Após essa etapa, será necessário reiniciar o computador para atualização, após reiniciar, abra novamente o PowerShell

 

  • Definindo o WSL 2 como padrão:
wsl --set-default-version 2

 

 

Após esses passos, basta entrar na Microsoft Store e instalar o sistema Ubuntu:


image.thumb.png.00579a5de4cfbe54bfc439fdead43532.png

 

Após a instalação, abra o Ubuntu, como será a primeira vez, irá solicitar para que digite um nome de usuário e uma senha.

image.thumb.png.a51596cfa03a2f5855e5e68545148aca.png

 

 

 

Etapa 1 concluída.

 

Fonte: https://learn.microsoft.com/pt-br/windows/wsl/install-manual

 

2º PASSO:  Instalando Docker.

 

este é um passo simples, apenas entre no site oficial do Docker, baixe e instale o Docker Desktop

https://www.docker.com/
 

image.thumb.png.962e862170c06d7adfaf89bf5c1adb11.png

 

 

Etapa 2 concluída.

 

 

3º PASSO:  Instalando imagens MariaDB e phpMyAdmin

 

 Assim como no passo 1, execute novamente o PowerShell como administrador e siga os seguintes passos:

 

  • Primeiro vamos baixar as imagens necessárias, execute os seguintes comandos:
docker pull mariadb

 

docker pull phpmyadmin/phpmyadmin

 

 

  • Agora iremos criar uma "Rede" para que o docker se comunique entre os containers que iremos utilizar. Execute o seguinte comando:

 

docker network create mynetwork

 
  mynetwork é o nome que defini neste caso, você pode utilizar o nome que achar melhor, porém lembre-se desse nome que iremos utilizar nos próximos passos.

 

  • Agora iremos iniciar essas imagens, utilizando os seguintes comandos:

 

docker run --name mariadb --network=mynetwork -e MYSQL_ROOT_PASSWORD=your_password -d mariadb

 

your_password = altere pela senha que deseja utilizar no mysql

mynetwork = é o nome que criamos no passo anterior

 

docker run --name myadmin --network=mynetwork --link mariadb:db -d -p 8080:80 phpmyadmin/phpmyadmin

 

Lembrando novamente, mynetwork é o nome criado anteriormente

 

Após esses passos, será possível ver seu container rodando no Docker Desktop:

image.thumb.png.db7a54b154a1bba9d62a458284d94351.png

 

Etapa 3 concluída.

 

4º PASSO:  Gerando Imagem do TFS e configurações necessárias:


 

  • Baixe a TFS, nesse exemplo será o repositório oficial https://github.com/otland/forgottenserver
  • Extraia os arquivos após baixar
  • com o container mariadb e phpmyadmin rodando, acesse http://localhost:8080/  com o login root, e a senha que criou no passo 3, crie uma nova base de dados e importe o arquivo schema.sql do servidor
  • edite o arquivo config.lua.dist
     -- MySQL
    mysqlHost = "mariadb"
    mysqlUser = "root"
    mysqlPass = "SUA SENHA CRIADO NO PASSO 3"
    mysqlDatabase = "NOME DA DATABASE"
    mysqlPort = 3306
    mysqlSock = ""

    mariadb é o nome do container que estamos rodando o mysql

 

 

** Caso queira utilizar todo potencial do seu computador na hora de buildar a TFS, no arquivo Dockerfile, edite a linha 18:

RUN cmake --preset default && cmake --build --config RelWithDebInfo --preset default

para
 

RUN cmake --preset default && cmake --build --config RelWithDebInfo --preset default -- -j 16

 

onde 16 é o numero de processadores lógicos que deseja ser utilizados, não é necessário utilizar 100% porém quanto mais melhor, porém caso utilize mais do que está disponível poderá travar,  então utilize a quantidade mostrada pra menos.

no gerenciador de tarefas aba desempenho, é possível visualizar a quantidade de núcleos e processadores lógicos do seu CPU


image.thumb.png.99783f28e90f39fe0cd20a36790bc44d.png
 

  • Após isso, entre no Power Shell e execute o comando:

 

docker build -t server .

 

 onde "server" é o nome da imagem que será gerada

 

  • Após isso, é só iniciar o servidor com o seguinte comando

 

docker run --name server --network=mynetwork -p 7171:7171 -p 7172:7172 -d server

 

lembrando que mynetwork é o nome que geramos no passo 3, e o ultimo parametro é nome da imagem que geramos anteriormente.

 

Você poderá ver seu sevidor ronando no Docker Desktop:

 

image.thumb.png.d571a386f78bc0169e435a66552dd16c.png

 

caso queira parar algum servidor ou iniciar novamente, é só clicar no botão de ação:

 

image.thumb.png.41b47aea88974316a63f853d816d1b07.png

 

Caso precise fazer alguma alteração no server, basta utilizar os comandos de build e run citados anteriormente.
Para ver os logs, basta clicar em "server" ou o nome que escolheu:


image.thumb.png.fa3d9047f0fab04635ff079b462491d5.png

 

 

 

Lembrando que isso é um tutorial básico para rodar o servidor na máquina local, qualquer dúvida ou sugestão, deixe comentário.

Link para o comentário
Compartilhar em outros sites

  • Yan Liima pinned, featured, unfeatured e featured this tópico
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...