¿cuanta gente a visto el blog?

Unir dos contenedores (uno para MongoDB y otro para WordPress) utilizando Docker y Docker Compose

 


mkdir diazdocker
cd diazdocker

sudo dnf -y install dnf-plugins-core

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo dnf install docker-ce docker-ce-cli containerd.io

sudo systemctl start docker


sudo systemctl enable docker

sudo systemctl status docker

sudo curl -L "https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version



nano docker-compose.yml


services:

  mongodb:

    image: mongo:latest

    ports:

      - "27017:27017"

    networks:

      - wp-network

 

  wordpress:

    image: wordpress:latest

    ports:

      - "8080:80"

    environment:

      WORDPRESS_DB_HOST: db

      WORDPRESS_DB_USER: root

      WORDPRESS_DB_PASSWORD: mypassword

      WORDPRESS_DB_NAME: mydatabase

    networks:

      - wp-network

    depends_on:

      - db

  db:

    image: mysql:5.7

    restart: always

    environment:

      MYSQL_ROOT_PASSWORD: mypassword

      MYSQL_DATABASE: mydatabase

    networks:

      - wp-network

 

networks:

  wp-network:

CONTROL X 
Y
ls


nano run_containers.sh

#!/bin/bash

# Construir e iniciar los contenedores

docker-compose up -d

# Mostrar el estado de los contenedores

docker ps


chmod +x run_containers.sh

./run_containers.sh








docker build -t mi-wordpress-mongodb 

docker ps -a 
los contenedores deben tener status up

sudo nano docker-compose.yml

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

sudo firewall-cmd –reload

docker network ls

mi red creada es 


5914acb31ca3   diazdocker_wp-network   bridge    local

Conectar al contenedor de MongoDB

docker stop diazdocker-mongodb-1

docker rm diazdocker-mongodb-1

docker run -d --name diazdocker-mongodb-1 --network=diazdocker_wp-network mongo:5.0

docker exec -it diazdocker-mongodb-1 mongo



use mydatabase


db.createCollection("mycollection")


db.mycollection.insert({ name: "ejemplo", value: 42 })


db.mycollection.find()


show dbs


exit




docker network inspect diazdocker_wp-network




http://l0.10.10.131/wp-admin

  1. Una vez dentro del panel de administración, navega a Plugins en el menú lateral izquierdo.

  2. Haz clic en Plugins instalados.
  3. Busca el plugin que creaste, que debería llamarse MongoDB Test (o el nombre que le hayas dado).


  4. Haz clic en Activar bajo el nombre del plugin.

• Después de activarlo, deberías ver un mensaje que indica que el plugin ha sido activado. Ahora puedes usar el shortcode [mongo_test] en tus páginas o entradas.
  1. Ve a Páginas o Entradas en el menú lateral.
  2. Crea una nueva página o edita una existente.

  3. Inserta el shortcode en el contenido de la página.
  4. Publica o actualiza la página.
    docker exec -it diazdocker-wordpress-1 /bin/bash

apt-get update && apt-get install -y iputils-ping curl


pecl install mongodb



echo "extension=mongodb.so" > /usr/local/etc/php/conf.d/mongodb.ini


touch /usr/local/etc/php/php.ini


echo "extension=mongodb.so" > /usr/local/etc/php/php.ini

exit

docker restart diazdocker-wordpress-1


docker exec -it diazdocker-wordpress-1 php -m | grep mongodb


Esto debería mostrar "mongodb" si la extensión está correctamente instalada y habilitada.

docker exec -it diazdocker-wordpress-1 /bin/bash

exit
docker ps

en mi caso 

  • MongoDB: diazdocker-mongodb-1
  • WordPress: diazdocker-wordpress-1
  • MySQL: diazdocker-db-1
  • docker exec -it diazdocker-wordpress-1 /bin/bash

    Una vez dentro del contenedor de WordPress, prueba la conexión a MongoDB usando ping:

    ping diazdocker-mongodb-1



    No hay comentarios.:

    Publicar un comentario