(Hay libros de ducker en la biblioteca)
Los contenedores se crean con una targeta bridge y por eso hay internet
si se necesita soporte para programadores y cada uno necesita python o php de diferentes versiones, en una maquina normal instalar dependencias dañaria el programa, por lo cual se puede crear una maquina especifica para diferentes tareas de los programadores.
Las redes se pueden usar, con mismos contenedores para varias redes
Contiene librerias que junto al sistema operativo trabaja con el kernel de la maquina
Instalar los contenedores
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce --nobest
docker -v
(Ver que version se ha instalado)
sudo systemctl start docket
sudo systemctl status dockersudo docker search ubuntusudo docker images
(Ejecutar comando , nombre de imagen que se quiere correr y que se apague el contenedor)(Inspeccionar la maquina)
sudo docker run ubuntu echo "Hola Mundo"sudo docker ps
(se vera nombre de la imgen, puertos, comando que se ejecuto, tiempo en el que fue creasdo)
sudo docker start ef3a902b4f64 (ide del container)
sudo docker ps
sudo docker run -it ubuntu /bin/bash(¿De que imagen aranco? Ubuntu)
(Debe salir root@1dd3l4m4q41n4)
sudo docker ps
sudo docker ps-a
(debe tener bash para poder ejecutar)
sudo docker start 51162f29dc5
sudo docker ps
(Estara corriendo en alma linux)
sudo docker exec -it 1162f29dc5
sudo docker /bin/bash
crear una imagen
exit
sudo docker ps
sudo docker stop 51162f29dc5
(Ver si sigue corriendo)
sudo docker (Levanto contenedor, en el contendor instalo git y otros contenedores se basaran en mi imagen generada)
ejemplo, tener instalado apache, nmap entre otras herramientas, en base a esa instalacion genera una imagen que se puede compartir en dockerhub para que otros puedan instalar
sudo docker run -it --name instalado_git ubuntu /bin/bash (asi se llamara el contendor que contendra ubuntu)
apt getm update
apt-get install git
(verificar si se instalo)
dpkg -l | grep git
(debe decir si esta o no instalado el comando git)
exot
sudo docker ps -a
(debe salir el nombre del contendor)
sudo docker commit -m "Un mensaje que sirva como INSTALADO GIT" -a "Author_que_genero" a0fc90f3f7d8 GIT/ubuntu:v1
sudo docker images
(debe parecer dos imagenes, una con git y otra sola)
sudo coker run -it --name ESTE_ES_OTRO_CONTENEDOR GIT/ubuntu:v1 /bin/bash
(Ver que tenga instalado)
dpkg -1 | grep git
Permite crear una imagen con todos los programas que yo quiera
generar e instalar apache para
(Crear contenedor que contenga apache)
sudo docker run -it --name Apache ubuntu
apt-get install apache2
service apache2 status
exit (fuera del contenedor)
INGRESAR CON NAVEGADOR POR IP A LA DIRECCION
sudo docker images
sudo docker run -d --name server apache/ubuntu:v1 /usr/sbin/apache2ctl -D foreground (El -D evitara que se detenga )
sudo docker commit -m "INSTALADO APACHE " -a "jonathan"
sudo docker ps
sudo docker exec -it cf007ef8b9e1 /bin/bash
service apache2 status
(Algo se hizo mal, deberia estar corriendo)
exit
sudo socker stop service1
sudo docker ps
mapear puertos
sudo docker tun -d -p 8000:80 --name server2 apache/ubuntu:v1 /usr/sbin /apache2ctl -D FOREGROUND (Por defecto trabaja en el pierto 80, para evitar problemas, usaremos el puerto 8000)
sudo docker ps
sudo systemctl stop firewall
(Ir a la pagina web de la maquina 10.10.10.153:8000) se vera el apache en bruto
Per no sabe a Alma linux, sino del contenedor
sudo docker stop server2
sudo docker start server2
generar un volumen
sudo docker run -it --name server3 -v /volumen01 apache/ubuntu:v1 / bin/bash
ls (comprobar que exista una carpeta llamada volumen)
cd volumen01/
touch archivo01.txt
sudo ls / (En clase no se genero la carpeta, la idea era crearla en principal)
necesito generar el volumen para generar fdatos pero que cambien se vean en el archivo anfitrion
sudo docker run -it --name server4 -v /home/jonathan:/volumen1
sudo ls
cd /home
sudo docker run -it --name volumen -v /home/diego/volumen01:/volumen01 apache/ubuntu:v1 /bin/bash
sudo docker run -it --name volumen -v /home/jonathan/volumen01:/volumen01 apache/ubuntu:v1 / bin/bas
sudo docker run -it --name volumen3 -v /home/jonathanvolumen01:
ls
(En la maquina almalinux principal se debe poder ver )
docker compose
sudo dnf install curl -y
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
sudo docker-compose docker-compose.yml
en alma linux hay un servidor equivalente al jam (jason) para manejar contendores
generar un archivo
ls
mkdir compose
cd comprose/
sudo touch docker-compose.yml
(llama a un contendor de puertos, y hace un link a una coneccion del wordpress de MAriaDB)
version: '3'
services:
wordpress:
image: wordpress
ports:
- "8088:80"
links:
- wordpress_db:mysql
environment:
WORDPRESS_DB_HOST: wordpress_db
WORDPRESS_DB_PASSWORD: examplepass
wordpress_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: examplepass
https://chatgpt.com/share/67001ea2-cc28-8009-abab-48b87d308cc7
version: '3.8' # Versión de Docker Compose
services:
wordpress: # Nombre del servicio de WordPress
image: wordpress:latest # Imagen de WordPress
ports:
- "8000:80" # Mapea el puerto 80 del contenedor al puerto 8000 del anfitrión
environment:
WORDPRESS_DB_HOST: db # Nombre del servicio de base de datos
WORDPRESS_DB_USER: exampleuser # Usuario de la base de datos
WORDPRESS_DB_PASSWORD: examplepass # Contraseña de la base de datos
WORDPRESS_DB_NAME: exampledb # Nombre de la base de datos
volumes:
- wordpress_data:/var/www/html # Monta un volumen para los datos de WordPress
db: # Nombre del servicio de la base de datos
image: mysql:5.7 # Imagen de MySQL
environment:
MYSQL_ROOT_PASSWORD: examplepass # Contraseña para el usuario root
MYSQL_DATABASE: exampledb # Nombre de la base de datos
MYSQL_USER: exampleuser # Usuario adicional
MYSQL_PASSWORD: examplepass # Contraseña del usuario adicional
volumes:
- db_data:/var/lib/mysql # Monta un volumen para los datos de MySQL
volumes:
wordpress_data: # Define un volumen para WordPress
db_data: # Define un volumen para MySQL
sudo rm /usr/local/bin/docker-compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
ls
rm docker-compose.yml
ls
touch docker-compose.ym1
vi docker-composer.yml
docker-compose up-d
ls
rm docker-compose.ym1
ls
sudo dnf installl docker-compose-plugin
sudo docker-compose up -d
(En docker hub de wordpress hay ejemplos hub.docker.com)
------------------------------------------------------------
sudo systemctl start docker
docker-compose
docker -compose --version
ls
touch doceker compose
https://docs.docker.com/engine/install/centos/
No hay comentarios.:
Publicar un comentario