Ir para o conteúdo do rodapé
USANDO O IRONSECUREDOC

Docker: Como iniciar um contêiner a partir de uma imagem (Tutorial para desenvolvedores)

O que é Docker?

Docker é uma plataforma de código aberto que implanta e gerencia automaticamente aplicações dentro de containers leves e portáteis. Os containers empacotam uma aplicação junto com suas dependências, que incluem bibliotecas e arquivos de configuração, para que ela possa rodar de forma consistente em diferentes ambientes. Essa consistência torna o desenvolvimento e o teste mais simples porque as aplicações podem rodar de forma idêntica em sistemas diversos — seja no laptop de um desenvolvedor, em um servidor, ou em um ambiente de nuvem. A escalabilidade na gestão de aplicações significa desenvolver, enviar e executar containers de forma eficiente, o que o Docker facilita.

Docker Iniciar Contêiner A Partir de Imagem (Tutorial do Desenvolvedor): Figura 1 - Docker

As imagens do Docker facilitam muito a especificação de um ambiente de execução consistente para os desenvolvedores. A maioria das imagens pré-construídas pode ser encontrada em um registro aberto chamado Docker Hub, que os desenvolvedores podem usar diretamente ou personalizar. Para aplicações envolvendo múltiplos contêineres, ferramentas como o Docker Compose orquestram o contêiner, enquanto o Kubernetes pode gerenciar até mesmo escalonamento e automação mais complexos. O Docker se tornou uma ferramenta essencial no desenvolvimento de software e DevOps.

O que é um contêiner Docker?

Um contêiner Docker é essencialmente uma aplicação com todas as suas dependências—como bibliotecas, binários e arquivos de configuração—empacotadas em uma entidade executável independente leve. Os contêineres projetados em isolamento executam-se no topo do kernel do sistema operacional hospedeiro, evitando interferência de qualquer outro software em execução. Facilidade em iniciar, parar ou excluir os torna ideais para teste, implantação e escala.

Recursos do contêiner Docker

  • Isolamento: Os contêineres são executados em ambientes isolados; as aplicações não vão conflitar umas com as outras, mesmo se usarem diferentes conjuntos de dependências ou bibliotecas.
  • Leveza: Os contêineres compartilham o kernel do sistema operacional hospedeiro, então eles são pequenos e têm tempos de inicialização mais rápidos que as VMs.
  • Portabilidade: Os contêineres são determinísticos e podem ser executados em qualquer sistema usando Docker, garantindo consistência entre ambientes de desenvolvimento, teste e produção.
  • Escalabilidade: Os contêineres podem ser facilmente replicados e escalados, suportando implantação rápida e gestão de microsserviços.
  • Eficiência de Recursos: Os contêineres consomem menos recursos que as VMs, permitindo maior densidade e uso eficiente dos recursos de computação.

O que é uma imagem Docker?

Uma imagem Docker é um plano para criar contêineres. Ela é somente leitura e estratificada, detalhando os arquivos do sistema e dependências necessárias para executar uma aplicação. Dockerfiles são usados para criar imagens, especificando como construir uma imagem Docker, o que pode envolver tarefas como instalar software ou copiar arquivos. Cada mudança em um Dockerfile cria uma nova camada de imagem, mantendo eficiência e modularidade.

Características de uma Imagem Docker

  • Stack de Múltiplos Níveis: As imagens são construídas com camadas usando Dockerfiles. Cada instrução em um Dockerfile adiciona uma camada, então as imagens devem ser otimizadas para reconstruir apenas camadas alteradas.
  • Reusabilidade: Imagens base como Ubuntu ou Node.js podem ser reutilizadas entre projetos, economizando tempo e recursos de desenvolvimento.
  • Versionamento: As imagens podem ser rotuladas para versionamento, facilitando reverter para versões anteriores se necessário.
  • Modularidade: As mudanças em uma imagem são incrementais, permitindo atualizações diretas sem reconstituir a imagem inteira.
  • Disponível no Docker Hub: Registros públicos e privados de imagens facilitam o compartilhamento e a implantação simplificada das imagens.

Como criar um contêiner Docker

O Dockerfile é um arquivo de texto que fornece instruções para criar sua imagem Docker. Neste arquivo, você especifica a imagem base, dependências, código da aplicação, variáveis de ambiente, e comandos para executar a aplicação. Aqui está um exemplo simples:

# Use an official Node.js runtime as a parent image
FROM node:18

# Set the working directory in the container
WORKDIR /app

# Copy package.json and install dependencies
COPY package.json /app
RUN npm install

# Copy the rest of the application code
COPY . /app

# Expose the application’s port
EXPOSE 3000

# Define the command to run the application
CMD ["node", "app.js"]

Construa a Imagem Docker

Use o Dockerfile para criar sua imagem Docker. No terminal, na linha de comando, a partir do diretório que contém seu Dockerfile, execute:

Certifique-se de que o Docker Desktop está instalado antes de executar o comando abaixo.

docker build -t my-app .
docker build -t my-app .
SHELL

Este comando cria uma imagem chamada my-app. Para confirmar que foi criada, execute:

docker images
docker images
SHELL

Execute o Contêiner Docker

Com uma imagem, você pode criar um contêiner Docker e então executá-lo usando o comando docker run. O daemon Docker iniciará e monitorará o processo seja em modo desacoplado (em segundo plano) ou em primeiro plano.

docker run -d -p 3000:3000 --name my-running-app my-app
docker run -d -p 3000:3000 --name my-running-app my-app
SHELL
  • -d: Execute o contêiner em modo desconectado.
  • -p 3000:3000: Mapeie a porta 3000 do host para a porta 3000 no contêiner.
  • --name my-running-app: Atribua um nome definido pelo usuário ao contêiner.

Verifique o Contêiner

Para verificar os contêineres Docker em execução, use:

docker ps
docker ps
SHELL

Docker Iniciar Contêiner A Partir de Imagem (Tutorial do Desenvolvedor): Figura 2 - Executando Contêineres Docker

O comando acima mostra os detalhes dos contêineres em execução, incluindo ID do contêiner, nome, nome da imagem, etc.

Pare e Remova o Contêiner

# Stop container
docker stop dazzling_snyder

# Remove container
docker rm dazzling_snyder
# Stop container
docker stop dazzling_snyder

# Remove container
docker rm dazzling_snyder
SHELL

Docker Iniciar Contêiner A Partir de Imagem (Tutorial do Desenvolvedor): Figura 3 - Parar Contêiner

O que é IronSecureDoc?

IronSecureDoc Docker é uma solução de processamento de documentos conteinerizada por Iron Software que pode processar documentos automaticamente em um ambiente Docker sem intervenção humana. Oferece fluxos de trabalho de documentos complexos e proteção máxima de dados com criptografia, assinatura digital, descriptografia, marca d'água e mais para arquivos PDF e documentos. Isso garante implantações isoladas consistentes e escaláveis em todas as plataformas, tornando-o adequado para integração com pipelines de DevOps e CI/CD.

Docker Iniciar Contêiner A Partir de Imagem (Tutorial do Desenvolvedor): Figura 4 - IronSecureDoc: O Servidor de Segurança e Conformidade de PDF

Esta abordagem containerizada aprimora o manuseio de documentos em aplicações que exigem automação e alta segurança, compatível com microsserviços e ambientes nativos de nuvem. IronSecureDoc é especialmente útil para desenvolvedores que criam aplicações que requerem processamento automático de documentos de forma confiável em um contexto Docker controlado e portátil.

Instalar e Executar o IronSecureDoc

Execute o seguinte comando a partir do Prompt de Comando ou de uma janela de terminal para baixar a imagem Docker do IronSecureDoc do repositório:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Iniciar Contêiner A Partir de Imagem (Tutorial do Desenvolvedor): Figura 5 - Baixar Imagem do IronSecureDoc

Após baixar a imagem Docker, inicie outro comando para começar um contêiner IronSecureDoc.

Criando um novo Contêiner para IronSecureDoc

docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

O comando docker run acima cria uma instância de contêiner do IronSecureDoc.

Docker Iniciar Contêiner A Partir de Imagem (Tutorial do Desenvolvedor): Figura 6 - Novo Contêiner

Usando o contêiner IronSecureDoc

IronSecureDoc permite que os usuários instalem e executem Docker para redigir, certificar ou criptografar arquivos através da sua API REST.

Docker Iniciar Contêiner A Partir de Imagem (Tutorial do Desenvolvedor): Figura 7 - SecureDoc Web API

Por exemplo, para criptografar um documento, você pode fazer uma requisição POST para a API IronSecureDoc:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

Isso encaminha o documento para o IronSecureDoc, que processa e criptografa os dados de acordo.

Conclusão

Em termos simples, Docker simplifica a implantação de aplicativos porque um desenvolvedor pode criar um contêiner a partir de uma imagem, garantindo uniformidade em um ambiente portátil e escalável. Isso resulta em operação eficiente de aplicativos em várias plataformas e facilita a utilização de recursos, melhorando pipelines de DevOps e CI/CD.

Da mesma forma, IronSecureDoc Docker utiliza a arquitetura de contêineres do Docker para oferecer soluções seguras e automatizadas de processamento de documentos. Juntos, Docker e IronSecureDoc fornecem ferramentas poderosas para construir aplicativos seguros e escaláveis no desenvolvimento de software moderno. Para mais informações sobre licenciamento do IronSecureDoc, clique nesta página de licenciamento, e para detalhes sobre os muitos produtos da Iron Software, visite a página da suíte de bibliotecas.

Perguntas frequentes

O que é Docker e por que é importante para desenvolvedores?

O Docker é uma plataforma de código aberto que automatiza a implantação e o gerenciamento de aplicações em contêineres. Ele empacota as aplicações com suas dependências, garantindo uma operação consistente em diferentes ambientes, o que simplifica o desenvolvimento, os testes e a escalabilidade.

Como as imagens Docker facilitam a implantação de aplicativos?

As imagens Docker servem como modelos somente leitura para a criação de contêineres. Elas definem os arquivos de sistema e as dependências necessárias para executar um aplicativo, permitindo o compartilhamento e a implantação de forma fácil. As imagens podem ser armazenadas e acessadas em registros como o Docker Hub.

Quais são os principais passos para criar e executar um contêiner Docker?

Para criar e executar um contêiner Docker, você começa escrevendo um Dockerfile especificando a imagem base e as dependências. Em seguida, construa a imagem Docker a partir do Dockerfile e use o comando docker run para criar e iniciar o contêiner.

Como o IronSecureDoc aprimora o processamento de documentos no Docker?

IronSecureDoc é uma solução baseada em Docker que automatiza o processamento de documentos com recursos como criptografia e assinatura digital. Ela garante fluxos de trabalho seguros e escaláveis dentro de contêineres Docker, tornando-a ideal para integração em pipelines de DevOps e CI/CD.

Quais são os benefícios que os contêineres Docker oferecem para o desenvolvimento de aplicações?

Os contêineres Docker oferecem isolamento, operação leve, portabilidade e eficiência de recursos. Eles garantem a execução consistente de aplicativos em diferentes ambientes, suportam implantação rápida e simplificam o gerenciamento de microsserviços.

Como os desenvolvedores podem garantir o manuseio seguro de documentos usando o Docker?

Os desenvolvedores podem usar o IronSecureDoc para automatizar o processamento seguro de documentos dentro de um contêiner Docker. Ele oferece criptografia, assinatura digital e outros recursos de segurança, aprimorando a proteção e a integridade dos fluxos de trabalho de documentos.

Qual o papel do Docker Hub na implantação de contêineres?

O Docker Hub funciona como um registro aberto para imagens Docker pré-construídas, permitindo que desenvolvedores acessem e compartilhem imagens. Isso facilita a personalização e a implantação de aplicativos, acelerando o processo de desenvolvimento.

Como o Docker melhora a escalabilidade e a eficiência das aplicações?

O Docker melhora a escalabilidade ao permitir a replicação e o gerenciamento fáceis de contêineres. Isso possibilita que os aplicativos sejam escalados de forma rápida e eficiente, otimizando a utilização de recursos e dando suporte às práticas modernas de desenvolvimento de software.

Qual é a finalidade de um Dockerfile na criação de contêineres?

Um Dockerfile é usado para definir a imagem base, as dependências, o código da aplicação e os comandos de execução de um contêiner Docker. Ele serve como modelo para a construção de imagens Docker, que podem então ser usadas para criar contêineres.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me