Como utilizar um ficheiro Docker para criar uma imagem Docker
Dockerize seus aplicativos na AlexHost: Dominando Dockerfiles
Por que usar Docker na AlexHost? Um Dockerfile roteiriza o ambiente do seu aplicativo, tornando-o portátil e consistente. Os servidores VPS e dedicados de alto desempenho da AlexHost, com armazenamento NVMe e acesso root, fornecem uma plataforma robusta para construir e implantar aplicativos Dockerizados como Node.js ou WordPress. Este guia explica os Dockerfiles e como criar, construir e executá-los na AlexHost em 2025.
Guia passo a passo para criar um Dockerfile e construir uma imagem
Passo 1: Crie seu projeto
Para começar, precisa de uma aplicação simples para contentorizar. Para este exemplo, criaremos um aplicativo Node.js básico. Se você não tiver o Node.js instalado, poderá seguir estas etapas para criar um aplicativo Node.js simples
- Crie um diretório de projeto:
- Crie um arquivo package.json para seu aplicativo Node.js:
- Crie um arquivo server.js:
- Adicione o seguinte conteúdo ao ficheiro server.js:
const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => { res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello Worldn'); });
server.listen(port, hostname, () => {
console.log(Server running at http://${hostname}:${port}/); });
Depois de ter seu aplicativo principal, o próximo passo é criar um Dockerfile que será usado para construir uma imagem Docker para esse aplicativo
- Crie o Dockerfile no diretório raiz do projeto:
- Adicione instruções ao Dockerfile:
Aqui está um Dockerfile simples para o seu aplicativo Node.js:
FROM node:14 # Use an official Node.js runtime as a base image
WORKDIR /app # Set the working directory inside the container
COPY package*.json ./ # Copy package.json and install dependencies
RUN npm install
COPY . . # Copy the rest of the application code
EXPOSE 3000 # Expose the port that the app runs on
CMD ["node", "server.js"] # Command to run the application
Explicação do ficheiro Docker:
- FROM: Especifica a imagem base sobre a qual construir sua imagem. Neste caso, é a imagem oficial do Node.js 14.
- WORKDIR: Especifica o diretório de trabalho no contêiner. Todos os comandos subsequentes serão executados neste diretório.
- COPY: Copia arquivos da máquina host para o contêiner Docker
- COPY package*.json ./: Copia os arquivos package.json e package-lock.json .
- COPY ..: Copia todo o projeto para o contêiner.
- RUN: Executa um comando no contêiner, neste caso executando o npm install para instalar as dependências do Node.js.
- EXPOSE: Informa ao Docker que o contêiner está escutando na porta 3000.
- CMD: Especifica o comando a ser executado no contêiner quando ele for iniciado (neste caso, executando o aplicativo Node.js com node server.js).
Etapa 3: construir a imagem do Docker
Depois de preparar seu Dockerfile, você pode construir a imagem do Docker usando o comando docker build
- No diretório do projeto, execute o seguinte comando:
Aqui está o que o comando faz
- –t my-docker-app.
- O botão . especifica o diretório atual (onde o Dockerfile está localizado).
O Docker processará o arquivo Docker passo a passo, criando a imagem de acordo com suas instruções. Se tudo estiver configurado corretamente, você verá uma mensagem informando que a imagem foi criada com sucesso
Passo 4: Iniciar o contentor Docker
Depois que a imagem for construída, você pode criar e executar um contêiner usando o comando docker run
- –p 3000:3000: Corresponde à porta 3000 na sua máquina local com a porta 3000 no contentor.
- my-docker-app: O nome da imagem do Docker que você criou.
Você deve ver a mensagem: O servidor está em execução em http://0.0.0.0:3001/.Para testar o aplicativo, abra o navegador da Web ou use o curl para visitar
Etapa 5: Enviar a imagem do Docker para o Docker Hub (opcional)
Se você quiser compartilhar sua imagem com outras pessoas ou hospedá-la em um servidor, você pode enviá-la para o Docker Hub
- Primeiro, faça login no Docker Hub:
- Em seguida, marque a sua imagem com o seu nome de utilizador no Docker Hub:
- Envie a imagem para o Docker Hub:
Sua imagem do Docker agora está disponível publicamente (ou privadamente) no Docker Hub
Práticas recomendadas para Dockerfile
- Use imagens de base pequenas e específicas: se possível, use imagens de base leves, como alpine, para reduzir o tamanho da imagem.
- Minimize o número de camadas: Cada comando no dockerfile cria uma nova camada. Tente minimizar o número de camadas combinando comandos sempre que possível (por exemplo, use && para combinar vários comandos em uma única instrução RUN ).
- Use a compilação em vários estágios: isso ajuda a reduzir o tamanho da imagem final, separando o ambiente de compilação do ambiente de execução.
- Usar cache: o Docker armazena em cache cada camada da imagem, portanto, reutilizar os mesmos comandos (como COPY e RUN) ajuda a acelerar as compilações subsequentes.
Conclusão: Dockerize com AlexHost
Os Dockerfiles tornam as suas aplicações portáteis e escaláveis, e o VPS alimentado por NVMe da AlexHost garante compilações e implementações rápidas. Crie Dockerfiles enxutos, use compilações em vários estágios e proteja com UFW. Quer se trate de uma aplicação Node.js ou WordPress, o acesso à raiz e o suporte da AlexHost tornam o Docker uma brisa – conteinerize sua aplicação e implante com confiança hoje mesmo!