projeto in C++ Skill Tree

Criando um Contêiner Docker Simples em C++

Iniciante

Neste projeto, combinaremos C++ com as tecnologias Namespace e Control Group do Linux para implementar um contêiner Docker simples que alcança funcionalidades como sistema de arquivos independente, suporte para acesso à rede e limitação de recursos do contêiner.

C++Docker

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

Introdução

A essência do Docker é usar o LXC para alcançar uma funcionalidade semelhante à de uma máquina virtual, economizando assim recursos de hardware e fornecendo aos usuários mais recursos computacionais. Este projeto combina C++ com as tecnologias Namespace e Control Group do Linux para implementar um contêiner Docker simples.

Finalmente, alcançaremos as seguintes funcionalidades para o contêiner:

  1. Sistema de arquivos independente
  2. Suporte para acesso à rede

👀 Visualização

$ make
make container
make[1]: Entering directory '/home/labex/project'
gcc -c network.c nl.c
g++ -std=c++11 -o docker-run main.cpp network.o nl.o
make[1]: Leaving directory '/home/labex/project'
$ sudo ./docker-run
...start container
root@labex:/## ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:da:01:72
          inet6 addr: fe80::dc15:18ff:fe43:53b9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:38 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5744 (5.7 KB)  TX bytes:726 (726.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como criar um contêiner Docker simples usando C++ e a tecnologia Namespace do Linux
  • Como implementar um sistema de arquivos independente para o contêiner
  • Como habilitar o acesso à rede para o contêiner

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Criar um contêiner Docker simples usando C++ e a tecnologia Namespace do Linux
  • Implementar um sistema de arquivos independente para o contêiner
  • Habilitar o acesso à rede para o contêiner
Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível intermediário com uma taxa de conclusão de 55.56%. Recebeu uma taxa de avaliações positivas de 42.86% dos estudantes.

Professor

labby

Labby

Labby is the LabEx teacher.
OSZAR »