-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
--- | ||
layout: post | ||
title: "Semana 4. Dejando listo el Docker" | ||
categories: | ||
- Weblog | ||
tags: | ||
- Gazebo Harmonic | ||
- Docker | ||
- Git | ||
- Entorno Gráfico | ||
--- | ||
|
||
Esta semana, fue básicamente para informarme sobre el uso de docker y con esto poder preparar el mío en condiciones. | ||
|
||
Para ello, después de tener el docker preparado la semana pasada, lo que hice fue instalar todo lo que me hacía falta en esta imagen para poder usar todo, esto es, Gazebo Harmonic, Vs code, mis datos de git (para poder acceder a mi repositorio del proyecto) y también dar acceso al docker al entorno gráfico, para poder ver Gazebo y el resto de cosas. | ||
|
||
Esta preparación no fue muy sencilla, ya que metocó hacer varias cosas: | ||
|
||
1. Preparar un docker file para hacer una imagen de docker personalizada basada en la de ros2 que ya tenía | ||
Esto fue crear en mi escritorio un fichero llamado Dockerfile, en el que se espicican las instalaciones y configuraciones de las distintas herramientas que vamos a usar, y, después, montar la imagen personalizada, dejo el procedimiento a continuación: | ||
|
||
```bash | ||
# Base image | ||
FROM osrf/ros:humble-desktop | ||
|
||
# Instalar herramientas necesarias | ||
RUN apt-get update && apt-get install -y \ | ||
git \ | ||
gedit \ | ||
wget \ | ||
gnupg2 \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Instalar Gazebo | ||
# Actualizar y instalar dependencias necesarias | ||
RUN apt-get update && apt-get install -y \ | ||
lsb-release \ | ||
gnupg \ | ||
curl \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Agregar la clave del repositorio de Gazebo | ||
RUN curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg | ||
|
||
# Agregar el repositorio de Gazebo | ||
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" > /etc/apt/sources.list.d/gazebo-stable.list | ||
|
||
# Actualizar el índice de paquetes e instalar Gazebo Ionic | ||
RUN apt-get update && apt-get install -y gz-ionic && rm -rf /var/lib/apt/lists/* | ||
|
||
|
||
# Instalar Visual Studio Code | ||
RUN wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | apt-key add - \ | ||
&& echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list \ | ||
&& apt-get update \ | ||
&& apt-get install -y code | ||
|
||
# Configurar Git | ||
RUN git config --global user.name "NOMBRE_USUARIO" \ | ||
&& git config --global user.email "CORREO" | ||
|
||
# Limpiar | ||
RUN apt-get clean | ||
|
||
# Establecer el directorio de trabajo | ||
WORKDIR /home | ||
``` | ||
|
||
|
||
 | ||
|
||
2. Permitir acceso a la interfaz gráfica | ||
Para esto, ejecuté los siguientes comandos: | ||
|
||
 | ||
|
||
3. Crear un volumen para acceder a mi repositorio | ||
Lo hice de la forma convencional, con los comandos docker volume create VOLUMEN | ||
|
||
Y, una vez hecho esto, ya pude ejecutar el ejemplo del NAO desde el contenedor (cabe destacar que en el moento de la grabación mi ordenador estaba consumiendo muchos recursos, y por eso funciona un poco raro gazebo): | ||
|
||
 | ||
|