Você está na página 1de 11

Tarefa de redes

Entrega: 05/07 (TERÇA-FEIRA) Valor: 2.0 pontos

Criar 3 dockerfiles
E ao rodar cada um em 5 linhas de comando eles devem funcionar entre si (pingar entre si).
> enviar no moodle <

Tá, existe o container Ubuntu, e nós temos a possibilidade de transformar esse container
numa imagem. E também é possível criar um arquivo dockerfile (que não tem um container
rodando), dentro desse arquivo podemos inserir tudo o que você quiser nele, inclusive fazer
uma imagem a partir desse dockerfile.

Passo a passo de acordo com a aula do Roitier

1 – Cria um arquivo:
$ pwd (saber em qual diretório estará o arquivo)
-
$ mkdir (cria um diretório)
-
$ cd *nome do diretório* (você entra no diretório que criou)
-
$ touch *nome do arquivo* (cria um arquivo novo)
-
$ vim *nome do arquivo* (entra no editor de texto)
o docker te direciona para outra telinha, para sair siga a sequência: ESC + : (dois
pontos) + W + Q + ENTER

* agora acessa o editor e insere isso:


(texto em negrito é obrigatório)

FROM ubuntu:18.04

MAINTAINER *nome*

VOLUME *diretório*
var/www/html

EXPOSE *porta*
80

RUN apt update &&\


apt install -y apache2 &&\
/etc/ init.d/apache/start
*salva e volta pro docker

$cat *nome do arquivo* (verifica o que você colocou no editor)

$ docker build -f (cria arquivo) *nome do arquivo* -t (tag) *nome da imagem*:0.1 [até onde
eu sei tem que ter os dois pontos e o 0.1]
# Agora ele constrói a imagem

# Agora tu vai no docker hub para criar um repositório para colocar as imagens
https://docs.docker.com/

> vai em repositórios


> cria seu repositório (deixa pública por via das dúvidas)

------------------------------------------------------------------------------------------------------------------------

*volta pro docker

$ docker login (logar na sua conta docker) — NÃO PRECISA MAIS FAZER ISSO! —

$ docker pull *nome da imagem* (aqui ele vai enviar a imagem para o repositório criado no
docker hub)

$ docker run -d -p 8080:80 (porta) -v /root/*nomealeatorio*/html:var/www/html


*nomealeatorio*:0.1 .

Aqui ele rodou o docker (run) em segundo plano (-d), definiu as portas (-p), e aí ele
usou os diretórios do pc (-v) para ligar com os diretórios da imagem.

$ docker run -it -p 8080:80 -v/root/*nomealeatorio*/html:var/www/html --name *servidor-web-


aleatorio-apache* - - network net-nome nome:0.1

aqui ele roda o docker no modo interativo


na porta 8080:80
o -v é onde será rodado de acordo com a posição entre os dois pontos → do lado de fora :
para o de dentro

# Alguns comandos que ele usou

$ docker images (mostra as imagens que você criou)


$ docker ps (aparece os dados do container)
$ cat *nome do arquivo* ()
$ less *nome do arquivo* (lê o arquivo)
$ ls (verifica os arquivos que criou)
$ ls -l (verifica os arquivos que criou)
$ -it *interativo*
$ -p *define portas*
$ -d *roda em segundo plano*
$ docker pull (envia arquivo dps do login)
—-------------------------------------------------------------------

$ docker run -d -p 8080:80 (porta) -v/root/roitier/html:var/www/html roitier:0.1

Aqui ele rodou o docker (run) em segundo plano (-d), definiu as portas (-p), e aí ele
usou os diretórios do pc (-v) para ligar com os diretórios da imagem.

Aqui falta o resto. Pq eu não anotei pq fui passear la fora (FUI PASSEAR
NADA)KKKKKKKKKKKK

PARTE DA RAYSSA
REDES - DOCKER

pwd= “verificar o diretorio”

mkdir= “ cria um diretório chamado ‘mateus edu’ “

cd ‘mateus edu’= “ entra no meu diretório “

touch ‘Dockerfile do mateus’ “criei um arquivo Dockerfile com o nome mateus”

vim Dockerfile /*Entrando no editor ‘vim’ (Para sair do editor digite esc(tecla) + : + W + Q +
enter(tecla))/*

! COLOCAR NO EDITOR !

FROM ubuntu:18.04
MAINTAINER aquele que domina o mundo!
RUN apt update && \
apt install -y apache2 &&\
/etc/init.d/apache2 start
VOLUME /var/www/html
EXPOSE 80

ls -l /**/

history /*Mostra todos os comandos já usados*/

ls -la /**/

less ‘nomedoarquivo’ /*Serve para ler arquivos pelo terminar*/

docker build -f Dockerfile -t ‘name’:0.1 . /*Crie um arquivo Dockerfile com a tag inserida
(name opicional)*/

{Agora você já tem uma imagem sua!}

docker pull ‘name-tag’ /*Envia um arquivo para sua conta no docker hub (é preciso estar
logado para enviar)*/ —----NÃO PRECISA MAIS FAZER ISSO! —-------------------

docker images /*Lista as imagens que estão rodando*/

docker run -it -p 8080:80 -v root/’name-diretorio’/html:/var/www/html ‘name-da-tag’


/*Rode um arquivo no modo interativo na porta de dentro 8080 e de fora 80, no volume a
seguir e após os ‘:’ está o volume inserido no editor e ao final o nome da tag criada
anteriormente*/
docker network create –driver bridget ‘name-red’ /*Crio uma rede com um nome em
‘name-rede’*/

docker run -it -p 8080:80 -v root/’name-diretorio’/html:/var/www/html –network ‘name-


rede’ ‘name-da-tag’ /* Rodo uma imagem no modo interativo com a porta escolhida e
volume determinado, e adicione o nome da rede criada anteriormente e o nome da tag de
arquivo*/

docker run -it -p 8080:80 -v root/’name-diretorio’/html:/var/www/html -name ‘server-


web-apache’ –network ‘name-rede’ ‘name-da-tag’ /* Rodo uma imagem no modo
interativo com a porta escolhida e volume determinado, e crie um nome para a imagem,
logo adicione o nome da rede criada anteriormente e o nome da tag de arquivo*/

{Agora você terá uma imagem com um nome e rede especificado por você}

docker inspect “id-container” /*Inspecionando o container*/

docker exec -it ‘id-container’ bin/bash /*Execute o container na pasta bin/bash*/

ifconfig /**/

apt install ping-utils /*Dentro do container instale o ping*/

apt install oping /*Intalando o oping dentro do container*/

oping ‘ip’ /*Ping os containers entre si*/

-v é volume
-d é
-p é porta
-t é
-it modo interativo

para sair do container é [“ ctrl + p + q “]


Tentativa de fazer a tarefa de Redes - Rayssa

Comecei fazendo login na minha conta do Docker Hub com o comando docker login:

Em seguida, utilizei o comando pwd para localizar o diretório em que estava e com o
comando mkdir criei outro chamado Rayssas, entrei dentro do diretório com o comando cd
Rayssas e criei os 3 arquivos Dockerfile com: touch .Dockerfile

Abri o editor, e confirmei que havia dado tudo certo na criação dos diretórios, logo, fui
criando as imagens.

Em rayssa1.Dockerfile escolhi como base o ubuntu versão 20.04, com o comando RUN lhe
mandei atualizar e instalar um ssh e também o ping lhe designei o caminho e o designei a
ficar esperando pela porta 80.
Em rayssa2.Dockerfile escolhi como base o nginx, com o comando RUN lhe mandei criar
uma pasta chamada arquivos,com o comando COPY especifiquei que deve copiar o arquivo
index.html na pasta ‘site’ para o outro caminho, lhe designei o caminho como uma pasta
dentro do diretório do Dockerfile chamada arquivos e o designei a ficar esperando pela porta
81.

Em rayssa3.Dockerfile escolhi como base o alpine versão 3.14, com o comando RUN lhe
mandei adicionar o mysql-client e instalar um man e o ping, logo, lhe designei o caminho e
mandei a ficar esperando pela porta 82.

Conferi que tudo havia sido escrito corretamente com o comando cat:
E dei o comando para que construísse a primeira imagem com docker build -f
rayssa1.Dockerfile -t rayssas:0.1 . :
Dei o comando para que construísse a segunda imagem com docker build -f
rayssa2.Dockerfile -t rayssas:0.1 . :

Dei o comando para que construísse a terceira imagem com docker build -f
rayssa3.Dockerfile -t rayssas:0.1 . :

Criei a rede com o nome rayssa-silva-costa para posteriormente conectar os containers:

Tentei rodar a imagem criada com a rede junto.

Essa parte deu erro!!!

Você também pode gostar