lunes, 25 de diciembre de 2023

ODOO (VIII) :Introducción a Docker, Postgresql, Linux, HTML,CSS y Bootstrap

1. Instalación de docker

1.1 Ubuntu


aptinstall docker.io docker-compose -y

1.2 Linux Mint

Veamos primeramente que versión tenemos:
cat /etc/linuxmint/info

Y nos devuelve

RELEASE=20.2
CODENAME=uma
EDITION="Xfce"
DESCRIPTION="Linux Mint 20.2 Uma"
DESKTOP=Gnomedocker stop id_contenedordocker stop id_contenedor
TOOLKIT=GTK
NEW_FEATURES_URL=https://www.linuxmint.com/rel_uma_xfce_whatsnew.php
RELEASE_NOTES_URL=https://www.linuxmint.com/rel_uma_xfce.php
USER_GUIDE_URL=https://www.linuxmint.com/documentation.php
GRUB_TITLE=Linux Mint 20.2 Xfce


En linux.how2shout.com se muestra como instalar docker de tres maneras

La primera es para instalar la versión por defecto del contenedor de Linux Mint:

#1. Actualizar el repositorio
sudo apt update

#2. Instalar paquetes de docker
sudo apt install docker docker-compose docker-doc docker-registry docker.io

#3. Verificar la versión
docker --version

#4. Añadir nuestro usuario ("myuser") al grupo "docker" para nousar sudo con docker
sudo usermod -aG docker myuser

#5. Rearrancar la máquina
sudo reboot

#6. Testear con el contenedor hello-world
docker run hello-world


La segunda es para instalar la última versión del repositorio de Docker:

#1. Actualizar el repositorio
sudo apt update

#2. Instalar paquetes de dependencias
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

#3. Añadir la ultima versión al repositorio
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu focal stable | sudo tee /etc/apt/sources.list.d/docker.list

#4. Actualizar el repositorio
sudo apt update

#5. Borrar cualquier vestigio de versiones anteriores instaladas
sudo apt remove docker docker-compose docker-doc docker-registry docker.io

#6. Instalar las versiones descargadas
sudo apt-get install docker-ce docker-ce-cli containerd.io

#7. Verificar la versión
docker --version

#8. Añadir nuestro usuario ("myuser") al grupo "docker" para nousar sudo con docker
sudo usermod -aG docker myuser

#5. Rearrancar la máquina
sudo reboot

#6. Testear con el contenedor hello-world
docker run hello-world

La tercera es instalarla con snap:

sudo rm /etc/apt/preferences.d/nosnap.pref

#1. Actualizar el repositorio
sudo apt update

#2. Instalar instalador snap
sudo apt install snapd

#3. Instalar docker desde snap
sudo snap install dockerdocker stop id_contenedor

2. Conceptos básicos

Docker trabaja sobre una declaración en un fichero
Docker-compose orquesta múltiples dockers


#1. Listar los contenedores que estan conrriendo
docker ps

#2. Listar todos los contenedores incluidos los parados
docker ps -a

#3. Parar un contenedor
docker stop id_contenedor

#4. Eliminar un contenedor parado
docker rm id_contenedor

#5. Arrancar un contenedor parado
docker start id_contenedor

#6. Arrancar un contenedor parado
docker start id_contenedor

#7. Ejecutar un contenedor en marcha con la consola interactiva
docker exec -it id_contenedor bash

#8. Ver historial de las imágenes
docker image history id_imagen

#9. Ejecutar un contenedor mysql
docker run -e MYSQL_ROOT_PASSWORD=myPassword -d mysql:8.0.13

#10. Ejecutar un contenedor padmin
docker run -p 5050:80 --link db:db --name pgadmin4dev -e "PGADMIN_DEFAULT_EMAIL=mfalcon@ynext.cl" -e "PGADMIN_DEFAULT_PASSWORD=secret" -d dpage/pgadmin4

#11. Descargar una imagen de pgadmin
docker pull dpage/pgadmin4

#12. Ejecutar un contenedor FTP
docker run -d -p 21:21 -p 21000-21010:21000-21010 -e USERS="one|1234" -e ADDRESS=127.0.0.1 delfer/alpine-ftp-server


#=====================================================================
# Guardar nuesto docker a un repositorios de docker llamado Docker Hub
#=====================================================================
#1. Nos logueamos 
docker login

#2. Damos un tag
docker tag mfalconsoft/odoo:10.0 mfalconsoft/odoo:10.0

#3. Guardamos el contenedor
docker push mfalconsoft/odoo:10.0
#4. Ejecutamos el contenedor
docker run -d mfalconsoft/odoo:10.0


#=====================================================================
# DOCKER-COMPOSE
#=====================================================================
#1. Arrancar el docker compose sin soltar el cursor mostrando el log
docker-compose up

#2. Arrancar el docker compose y volver el cursor
docker-compose up -d

#3. Parar el docker compose 
docker-compose down


3. Resumen de Postgres

Para conectarse a la consola SQL, dentro de una shell, ejecutar:

psql postgres

Para listar las BD, ya dentro de la consola de postgres

\l

Para conectar a una BD (por ejemplo MyDB)

\c MyDB

Para hacer consultas, actualizaciones etc

---1. CONSULTA DE CAMPOS CON CONDICION Y ORDENADA
SELECT campo1, campo2
FROM TABLA1 
WHERE campo1 >34 AND campo2 LIKE '%HOLA%'
ORDER BY campo1;

---2. CONSULTA AGRUPADA
SELECT DISTICNT COUNT(*), campo1, campo2
FROM TABLA1
GROUP BY campo1, campo2;

---3. INSERCIÓN
INSERT INTO TABLE1 (campo1, campo2)
VALUES (15,''CARLOS');

---4. ACTUALIZACIÓN
UPDATE TABLA1
SET campo1=12, campo2="OK"
WHERE campo1 >34

---5. BORRADO
DELETE FROM TABLA1
WHERE campo1 >34

4. Resumen de Linux

Veamos los comandos que mas utilizaremos en Odoo

#1. Conectarse a un servidor con el comando ssh.
ssh-copy-id root@159.89.29.1

#2. Convertirse en superusuario.
sudo su

#3. Actualizar el sistema operativo.
apt-get update && apt-get upgrade -y

#4. Crear una carpeta y dar permiso.
mkdir /opt/extra-addons
chown odoo: /opt/extra-addons/ -R

#5. Editamos un fichero con Nano.
nano /etc/odoo/odoo.conf

#6. Reiniciamos un servicio
service odoo restart

#7. Paramos un servicio
service odoo stop

#8. Iniciamos un servicio
service odoo start

#9. Instalamos un programa
apt-get install htop

#10. Vemos los recursos del sistema
htop

#11. Generamos una clave pública.
ssh-keygen
cat ~/.ssh/id_rsa.pub

#12. Actualizamos Odoo
/etc/init.d/odoo stop
su - odoo -s /bin/bash
odoo -d db11-spain -u all --stop-after-init --logfile=/dev/stdout
odoo -d db16-spain -u sis_base --i18n-overwrite --stop-after-init --logfile=/dev/stdout
/etc/init.d/odoo start


5. Introducción a HTML

Poco hay que hablar de HTML. Es un lenguaje de etiquetas. Veamos una página sencilla que no se va a comentar

<!doctype html>
<html lang="es">
  <head>
    <meta charset ="UTF8">
    <title>My Blog</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="style.css">
    <script src="http://code.jquery.com/jquery-1.9.1.min.js">
    </script>
  </head>
  <body>
    <h1 class="primera">Esto es una texto grande</h1>
    <p id="myid">Esto es un párrafo</p>
  </body>
</html>

6. Introducción a bootstrap

Para insertar bootstrap hay que meter este código en la sección <head>

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">

para hacer que sea reponsive se puede meter la clase container

<div class="container">
  <h1>Hello</h1>
</div>

Existen un monton de utilidades para tablas, especificando filas y columnas junt cons us espaciado 

<div class="container text-center">
  <div class="row">
    <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    <!-- Force next columns-->
    <div class="w-100 d-none d-md-block"> </div>

    <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
    <div class="col-6 col-sm-4">.col-6 .col-sm-4</div>
  </div>
</div>

Los colores mas usados son marcados con clases primary,secondary, success, info, warning, danger, light y black.

7. Introducción a CSS

Se crea un archivo con extensión ".css" y se vincula a una página web.

La estructura es:

Los selectores pueden ser
selectores simples (se basan en el nombre, id, clase)
selectores combinados (mostando la relación entre ellos)
Pseudo-clases (basados en un estado)
Pseudo-elementoss (para una parte del elemento)
atributo









No hay comentarios :

Publicar un comentario