proyecto in C++ Skill Tree

Creación de un contenedor Docker simple en C++

Principiante

En este proyecto, combinaremos C++ con las tecnologías de Namespace y Control Group de Linux para implementar un contenedor Docker simple que logre funcionalidades como un sistema de archivos independiente, soporte para el acceso a la red y limitación de los recursos del contenedor.

C++Docker

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

La esencia de Docker es utilizar LXC para lograr una funcionalidad similar a la de una máquina virtual, ahorrando así recursos de hardware y proporcionando a los usuarios más recursos de cálculo. Este proyecto combina C++ con las tecnologías Namespace y Control Group de Linux para implementar un contenedor Docker simple.

Finalmente, lograremos las siguientes funcionalidades para el contenedor:

  1. Sistema de archivos independiente
  2. Soporte para acceso a la red

👀 Vista previa

$ 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)

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo crear un contenedor Docker simple utilizando C++ y la tecnología Namespace de Linux
  • Cómo implementar un sistema de archivos independiente para el contenedor
  • Cómo habilitar el acceso a la red para el contenedor

🏆 Logros

Después de completar este proyecto, podrás:

  • Crear un contenedor Docker simple utilizando C++ y la tecnología Namespace de Linux
  • Implementar un sistema de archivos independiente para el contenedor
  • Habilitar el acceso a la red para el contenedor
Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel intermedio con una tasa de finalización del 55.56%. Ha recibido una tasa de reseñas positivas del 42.86% por parte de los estudiantes.

Profesor

labby

Labby

Labby is the LabEx teacher.
OSZAR »