Docker - Combatento o COVID-19
A iniciativa Folding at Home emprega computação distribuída para diversos projetos mantidos pela universidade de Stanford. Você pode colaborar com o projeto cedendo tempo ocioso e energia de seu computador pessoal, servidor ou mesmo cluster corporativo. Nesse artigo, explico com fazer isso de uma forma simples empregando o Docker.
Introdução
Obtendo o cliente Folding at Home, os pacotes podem ser baixados neste link:
Primeiramente, criamos um diretório de trabalho onde armazenaremos as persistências e o pacote "fahclient".
mkdir -p /home/fightcovid/TEMP /home/fightcovid/fahclient_var
Baixando o pacote:
wget -c https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.5/fahclient_7.5.1_amd64.deb -P /home/fightcovid/TEMP/
"Buildando" a imagem e executando o container:
cd /home/fightcovid/
docker build --rm -t life:latest .
docker run -it --rm --name life -v /home/fightcovid/TEMP:/TEMP -v /home/fightcovid/fahclient_var:/var/lib/fahclient -w /var/lib/fahclient life:latest
Na prática, você pode automatizar com entrypoint, por isso não vou abordar, pois há farto material na documentação oficial do Docker.
No seu shell no Container, execute o seguinte comando:
/usr/bin/FAHClient --user=Anonymous --team=0 --passkey=785544552210000BBCCU --gpu=false --smp=true --disable-sleep-when-active=true --paused=false
IMPORTANTE: notem os parâmetros "--user" e "--passkey". Ao executar o fahclient pela primeira vez, ele criará do lado do servidor uma ID única para seu login e passwd; sempre que executar o fahclient, eles deverão ser os mesmos que é para que seja dada continuidade ao trabalho a partir do ponto em que ele parou.
Obrigado por colaborar para debelarmos essa pandemia e siga as recomendações da OMS de isolamento e higiene.
Primeiramente, criamos um diretório de trabalho onde armazenaremos as persistências e o pacote "fahclient".
mkdir -p /home/fightcovid/TEMP /home/fightcovid/fahclient_var
Baixando o pacote:
wget -c https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.5/fahclient_7.5.1_amd64.deb -P /home/fightcovid/TEMP/
O Dockerfile
Crie no diretório /home/fightcovid/ o Dockerfile que será o guia para a criação local da imagem Docker, com os seguintes parâmetros:
FROM debian:latest
MAINTAINER CapitainKurn
LABEL Description="Fight against COVID-19"
RUN apt-get update -y && \
apt --fix-broken install -y && \
apt-get upgrade -y && \
apt-get install bzip2 -y && \
apt-get install wget -y && \
apt-get install python3.7 -y && \
apt-get install dh-python -y
ADD TEMP /TEMP
RUN dpkg --unpack /TEMP/*.deb
MAINTAINER CapitainKurn
LABEL Description="Fight against COVID-19"
RUN apt-get update -y && \
apt --fix-broken install -y && \
apt-get upgrade -y && \
apt-get install bzip2 -y && \
apt-get install wget -y && \
apt-get install python3.7 -y && \
apt-get install dh-python -y
ADD TEMP /TEMP
RUN dpkg --unpack /TEMP/*.deb
"Buildando" a imagem e executando o container:
cd /home/fightcovid/
docker build --rm -t life:latest .
docker run -it --rm --name life -v /home/fightcovid/TEMP:/TEMP -v /home/fightcovid/fahclient_var:/var/lib/fahclient -w /var/lib/fahclient life:latest
Executando manualmente o fahclient
Para fins didáticos, farei a execução manual do fahclient no shell do Container.Na prática, você pode automatizar com entrypoint, por isso não vou abordar, pois há farto material na documentação oficial do Docker.
No seu shell no Container, execute o seguinte comando:
/usr/bin/FAHClient --user=Anonymous --team=0 --passkey=785544552210000BBCCU --gpu=false --smp=true --disable-sleep-when-active=true --paused=false
IMPORTANTE: notem os parâmetros "--user" e "--passkey". Ao executar o fahclient pela primeira vez, ele criará do lado do servidor uma ID única para seu login e passwd; sempre que executar o fahclient, eles deverão ser os mesmos que é para que seja dada continuidade ao trabalho a partir do ponto em que ele parou.
Obrigado por colaborar para debelarmos essa pandemia e siga as recomendações da OMS de isolamento e higiene.
Belém do Pará, PA, Brasil.
Linux Counter: #470403.
Since 20/04/2008
Mint GNOME 19