![Vercel adiciona remix: integração suporta aplicativos maiores](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706108003_Vercel-adiciona-remix-integracao-suporta-aplicativos-maiores-150x150.jpg)
Vercel adiciona remix: integração suporta aplicativos maiores
24 de janeiro de 2024![Estado da API: microsserviços desapareceram APIs macro e zumbis](https://optimuscloud.com.br/wp-content/uploads/2024/01/1706110514_Estado-da-API-microsservicos-desapareceram-APIs-macro-e-zumbis-150x150.jpg)
Estado da API: microsserviços desapareceram APIs macro e zumbis
24 de janeiro de 2024Em algum momento de sua vida de desenvolvimento em nuvem ou em contêiner, você terá que compartilhar uma pasta do servidor Linux. Talvez você só precise fazer isso em um ambiente de desenvolvimento, onde deseja poder compartilhar arquivos com outros desenvolvedores em uma instância do Linux de terceiros hospedada na nuvem. Ou talvez o compartilhamento de arquivos faça parte de um aplicativo ou serviço que você está criando.
E como o Samba (o aplicativo Linux para compartilhamento de arquivos do Windows) é capaz de alta disponibilidade e escalabilidade, faz todo o sentido que ele possa ser usado (aproveitando um pouco de criatividade) em seu negócio, em sua pilha de aplicativos ou em seus serviços.
Você pode até querer usar um compartilhamento Samba para armazenar um volume para armazenamento persistente (que também mostrarei como). Isso pode ser útil se você quiser compartilhar as responsabilidades de, por exemplo, atualizar arquivos de um site executado por NGINX que foi implantado via Docker.
Mesmo se você não estiver usando compartilhamentos Samba para desenvolvimento de nuvem ou contêiner, você precisará saber como instalar o Samba e configurá-lo de forma que possa ser usado para compartilhar arquivos em sua rede a partir de um servidor Linux e eu estou vou mostrar como isso é feito.
Existem algumas partes móveis aqui, então preste muita atenção.
Presumo que você já tenha o Docker instalado em um servidor Ubuntu, mas essa é a única suposição que farei.
Como instalar o Samba no servidor Ubuntu
A primeira coisa que precisamos fazer é instalar o Samba no Ubuntu Server. Faça login em sua instância e instale o software com o comando:
sudo apt-get install samba -y
Quando a instalação terminar, inicie e habilite o serviço Samba com:
sudo sysemctl enable --now smbd
O Samba agora está instalado e funcionando.
Em seguida, você deverá adicionar uma senha para qualquer usuário que acessará o compartilhamento. Digamos que você tenha o usuário Jack. Para definir a senha do Samba de Jack, emita o seguinte comando:
sudo smbpasswd -a jack
Você será solicitado a digitar e verificar a senha.
Em seguida, habilite o usuário com:
sudo smbpasswd -e jack
Como configurar seu primeiro compartilhamento Samba
Ok, vamos supor que você queira criar seu compartilhamento na pasta /dados. Primeiro, crie essa pasta com o comando:
sudo mkdir /data
Para conceder as permissões adequadas (para os usuários que precisam de acesso), você pode criar um novo grupo e adicionar usuários ao grupo. Por exemplo, crie um grupo chamado editores com o comando:
sudo groupadd editors
Agora, mude a propriedade do /dados diretório com o comando:
sudo chow -R :editors /data
Em seguida, adicione um usuário específico a esse novo grupo com:
sudo usermod -aG editors USER
Onde USER é o nome de usuário específico.
Agora, certifique-se de que o grupo de editores tenha permissão de gravação para o diretório /data com:
sudo chmod -R g+w /data
Neste ponto, qualquer membro do grupo de editores deverá poder acessar o compartilhamento do Samba. Como eles farão isso dependerá do sistema operacional que usam.
Como criar um volume persistente mapeado para o compartilhamento
Para nosso próximo truque, criaremos um volume Docker persistente (chamado público) que é mapeado para o diretório /data. Isso é feito com o seguinte comando:
docker volume create --opt type=none --opt o=bind --opt device=/data public
Para verificar a criação, você pode inspecionar o volume com o comando:
docker volume inspect public
A saída será semelhante a esta:
( { "CreatedAt": "2023-07-27T14:44:52Z", "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/public/_data", "Name": "public", "Options": { "device": "/data", "o": "bind", "type": "none" }, "Scope": "local" } )
Vamos agora adicionar um arquivo index.html que será hospedado no compartilhamento e usado pelo nosso contêiner Docker NGINX. Crie o arquivo com:
nano /data/index.html
Nesse arquivo, cole o seguinte:
Salve e feche o arquivo.
Implantar o contêiner NGINX
Agora podemos implantar nosso contêiner NGINX que usará o arquivo index.html em nosso volume público que faz parte do nosso share Samba. Para fazer isso, emita o comando:
docker run -d --name nginx-samba -p 8090:80 -v public:/usr/share/nginx/html nginx
Depois que o contêiner for implantado, aponte um navegador da Web para ele http://SERVIDOR:8090 (onde SERVER é o endereço IP do servidor de hospedagem), e você deverá ver o arquivo index.html que criamos acima (Figura 1).
-
Figura 1: Nosso index.html personalizado foi servido oficialmente em um contêiner Docker.
Outra coisa muito legal dessa configuração é que qualquer pessoa com acesso ao compartilhamento do Samba pode editar o arquivo index.html (mesmo com o contêiner em execução) para alterar a página. Você nem precisa parar o contêiner. Você pode até criar um script para automatizar as atualizações do arquivo, se desejar. Por esse motivo, é preciso ter cuidado com quem tem acesso ao compartilhamento.
Parabéns, você acabou de usar o Docker e o Samba juntos. Embora esta possa não ser uma escolha sábia para ambientes de produção, para desenvolvedores ou internos serviços/aplicativoscertamente poderia ser útil.
A postagem Crie um compartilhamento Samba e use de dentro de um contêiner Docker apareceu pela primeira vez em The New Stack.