image_dockerfile
Differences
This shows you the differences between two versions of the page.
| image_dockerfile [2025/07/26 17:09] – - Imported by DokuWiki Advanced Plugin wikiadm | image_dockerfile [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Criando imagem com Dockerfile ====== | ||
| - | Acesse o diretório webserver e visualize o conteúdo do arquivo Dockerfile: | ||
| - | <code bash> | ||
| - | $ cd webserver | ||
| - | $ ls | ||
| - | $ cat Dockerfile | ||
| - | |||
| - | FROM debian:9 | ||
| - | COPY sources.list / | ||
| - | |||
| - | RUN apt update && apt install apache2 php libapache2-mod-php | ||
| - | php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc | ||
| - | php-soap php-intl php-zip php-cli -y | ||
| - | |||
| - | COPY wordpress.conf / | ||
| - | RUN a2enmod rewrite | ||
| - | |||
| - | COPY wordpress / | ||
| - | RUN chown -R www-data: | ||
| - | |||
| - | RUN find / | ||
| - | RUN find / | ||
| - | |||
| - | EXPOSE 80 | ||
| - | CMD [" | ||
| - | </ | ||
| - | |||
| - | Construa a imagem dexter-intranet, | ||
| - | <code bash> | ||
| - | $ docker image build -t wordpress. | ||
| - | </ | ||
| - | |||
| - | * **FROM**: Define o nome da imagem base com uma tag, utilizada para criação de uma nova imagem no Docker; | ||
| - | * **ENV**: Define uma variável de ambiente, utilizada durante a construção da nova imagem; | ||
| - | * **COPY**: Define a cópia de novos arquivos ou diretórios da máquina local para o sistema de arquivos da nova imagem; | ||
| - | * **RUN**: Define a execução de comandos em uma nova camada em cima da imagem atual. | ||
| - | * **EXPOSE**: Informa ao Docker, que o container escuta em uma determinada porta de rede em tempo de execução; | ||
| - | * **CMD**: Define um comando que será executado no momento da execução do container; | ||
| - | * **docker image build**: Permite construir uma imagem do Docker, a partir de um arquivo Dockerfile. | ||
| - | |||
| - | Verifique se a nova imagem consta na lista: | ||
| - | <code bash> | ||
| - | $ docker image ls | ||
| - | </ | ||
| - | |||
| - | A partir da nova imagem, execute o container wordpress na porta 80: | ||
| - | <code bash> | ||
| - | $ docker container run -d --name=wordpress -p 0.0.0.0: | ||
| - | </ | ||
| - | |||
| - | Verifique se o container está em execução na porta, e ao final, remova o container. | ||
| - | <code bash> | ||
| - | $ docker container ls | ||
| - | $ docker port wordpress | ||
| - | $ docker container rm -f wordpress | ||
| - | </ | ||
| - | |||
| - | * **docker container run -p**: Permite mapear uma porta do container no host hospedeiro; | ||
| - | * **docker container port**: Lista mapeamentos de portas de um container. | ||
| - | |||
| - | Execute o container para o servidor de banco de dados MySQL: | ||
| - | <code bash> | ||
| - | $ docker container run -d -e ' | ||
| - | -v " | ||
| - | 0.0.0.0: | ||
| - | </ | ||
| - | |||
| - | Acesse o container dbserver, através do comando docker container exec: | ||
| - | <code bash> | ||
| - | $ docker container exec -it dbserver /bin/bash | ||
| - | $ mysql -u root -psenha | ||
| - | </ | ||
| - | |||
| - | * **docker run -v / | ||
| - | * **docker container exec**: Permite executar um comando diretamente em um container. | ||
| - | |||
| - | Crie o banco de dados wordpress, através do seguinte comando: | ||
| - | <code bash> | ||
| - | > CREATE DATABASE wordpress; | ||
| - | </ | ||
| - | |||
| - | Defina as permissões de acesso ao banco wordpress e ao usuário wordpressuser: | ||
| - | <code bash> | ||
| - | > GRANT ALL PRIVILEGES ON wordpress.* TO ' | ||
| - | </ | ||
| - | |||
| - | Atualize os privilégios e abandone o prompt do MySQL: | ||
| - | <code bash> | ||
| - | > FLUSH PRIVILEGES; | ||
| - | > EXIT | ||
| - | </ | ||
| - | |||
| - | Desconecte do container e verifique se o diretório banco possui os arquivos do MySQL: | ||
| - | <code bash> | ||
| - | CTRL + D | ||
| - | $ ls banco | ||
| - | </ | ||
| - | |||
| - | Salve as alterações do container dbserver em uma nova imagem: | ||
| - | <code bash> | ||
| - | $ docker commit dbserver dexter-dbserver | ||
| - | $ docker image ls | ||
| - | </ | ||
| - | |||
| - | Para terminar, remova a execução do container dbserver: | ||
| - | <code bash> | ||
| - | $ docker container rm -f dbserver | ||
| - | </ | ||
| - | |||
| - | Execute o container para o servidor de banco de dados MySQL, usando a imagem criada: | ||
| - | <code bash> | ||
| - | $ docker container run -d -e MYSQL_ROOT_PASSWORD=senha\ | ||
| - | -v " | ||
| - | 0.0.0.0: | ||
| - | </ | ||
| - | |||
| - | Execute o container para o servidor de Web na porta 80: | ||
| - | <code bash> | ||
| - | $ docker container run -d --name=wordpress --link dbserver: | ||
| - | -p 0.0.0.0: | ||
| - | </ | ||
| - | |||
| - | Verifique se os containers estão em execução: | ||
| - | <code bash> | ||
| - | $ docker container ls | ||
| - | </ | ||
image_dockerfile.1753560543.txt.gz · Last modified: by wikiadm
