Nota:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse para obtener una cuenta gratuita, consulte Introducción al nivel gratuito de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Gestionar cargas de trabajo de contenedor en OCI mediante el servicio Instancias de contenedor
Introducción
Las instancias de contenedor en Oracle Cloud Infrastructure (OCI) ofrecen una forma nueva y optimizada de ejecutar contenedores de aplicaciones. Se trata de un servicio informático sin servidor que permite ejecutar contenedores al instante sin gestionar ninguna infraestructura.
Las instancias de contenedor ofrecen una forma sencilla y segura de iniciar rápidamente cargas de trabajo de contenedor en OCI sin necesidad de planificar y gestionar servidores u otra infraestructura. El servicio gestiona el aprovisionamiento, la gestión del ciclo de vida, la aplicación de parches y las actualizaciones de la infraestructura, lo que permite a los usuarios centrarse en el desarrollo de aplicaciones. Una instancia de contenedor es un recurso de OCI que ofrece el servicio que se puede utilizar para ejecutar uno o más contenedores.
La experiencia para crear una instancia de contenedor es sencilla, lo que permite al usuario seleccionar el número de núcleos de CPU y memoria junto con las imágenes de contenedor que el usuario desea ejecutar dentro de una instancia de contenedor. También hay controles avanzados para limitar contenedores individuales dentro de una instancia de contenedor a fin de evitar que algunos contenedores monopolicen los recursos, gestionen la terminación de contenedores controlada y proporcionen variables de entorno y sustituyan parámetros para los contenedores que los usuarios deseen ejecutar. Las imágenes de contenedor se pueden extraer de cualquier registro de imágenes de contenedor, incluido OCI Container Image Registry (OCIR) y registros de 3a parte como ghcr, quay.io, dockerhub u otros registros privados. Una vez iniciada una instancia de contenedor, se les pueden asignar direcciones IP públicas o privadas y la aplicación se puede exponer a los usuarios. El servicio de instancia de contenedor también proporciona capacidades de registro y supervisión listas para usar. El servicio gestiona de forma transparente toda la gestión de la infraestructura, incluidos los parches y las actualizaciones, sin que ello suponga ningún problema para el usuario ni para la carga de trabajo.
En este tutorial se muestra cómo empezar a utilizar el servicio de instancias de contenedor, así como sus distintos controles para iniciar y gestionar de forma rápida y sencilla cargas de trabajo de contenedor en Oracle Cloud Infrastructure.
Objetivo
- Descubra cómo utilizar el servicio de instancias de contenedor en OCI.
- Inicie una carga de trabajo de contenedor en el servicio de instancias de contenedor.
- Obtenga información sobre las funciones de gestión de contenedores y sobre cómo gestionar y controlar de forma eficaz sus cargas de trabajo en el servicio.
Requisitos
- Conexión o conexión a la cuenta de Oracle Cloud
Tarea 1: Creación y configuración de una instancia de contenedor
En este tutorial, crearemos un sitio WordPress totalmente funcional ejecutando contenedores WordPress y MySQL en la instancia de contenedor.
-
Vaya a Servicios para desarrolladores, Contenedores y artefactos, Instancias de contenedor.
La página de servicio de instancias de contenedor, que se muestra a continuación, muestra las instancias de contenedor que se están ejecutando actualmente y también puede crear una nueva instancia de contenedor desde aquí.

-
Haga clic en Crear instancia de contenedor para abrir el asistente de creación de instancias de contenedor.

Nota: Al crear una instancia de contenedor, primero debe definir algunos parámetros básicos como las opciones de ubicación, unidad y red. A continuación, seleccione uno o más contenedores para iniciar dentro de la instancia de contenedor y, opcionalmente, defina los parámetros para los contenedores.
-
En primer lugar, asignemos un nombre a esta instancia de contenedor y elija un compartimento para ella. En este ejemplo, asignemos un nombre a la instancia de contenedor Wordpress.

-
Entre las opciones de ubicación se incluyen el dominio de disponibilidad en el que desea colocar la instancia de contenedor, así como la opción de elegir el dominio de errores que desee. La selección de unidades ofrece las plataformas de recursos informáticos soportadas y puede elegir la cantidad de núcleos de CPU y memoria que necesita para sus contenedores. Esta capacidad ofrece la flexibilidad de asignar un tamaño a las instancias de contenedor para cargas de trabajo enlazadas a la CPU o a la memoria, a la vez que se optimiza en función del costo. Elija 2 OCPU y 16 GB de memoria.

-
La configuración de red permite seleccionar opciones de red como la VCN y la subred en la que desea que esté activada la instancia de contenedor. También puede asignar una dirección IP pública a su instancia de contenedor para exponer sus aplicaciones públicamente. Tenga en cuenta que los puertos en los que escuchan sus aplicaciones deben estar permitidos en la lista de seguridad de la subred o en el grupo de seguridad de red (NSG) de su instancia para poder recibir conexiones.

-
Las opciones avanzadas le permiten definir un timeout de cierre controlado, que es el tiempo que se asigna a los contenedores de una instancia de contenedor para salir correctamente cuando se termina esa instancia de contenedor. También puede definir una política de reinicio de contenedor para reiniciar automáticamente los contenedores que salen/terminan o basan la política de reinicio en el estado de salida del contenedor.

-
-
Haga clic en Siguiente. El siguiente paso consiste en seleccionar y configurar los contenedores que desea ejecutar en la instancia de contenedor.
-
Para empezar, defina el primer contenedor en la sección de configuración del contenedor. En este ejemplo, permite empezar con el contenedor WordPress. Asigne al contenedor el nombre wordpress.

-
Haga clic en Seleccionar imagen para abrir el cuadro de diálogo de selección de imagen.

El cuadro de diálogo de selección de imágenes tiene opciones para seleccionar imágenes de OCIR o de un registro externo. Las imágenes oficiales para WordPress se publican en DockerHub y DockerHub es el registro externo por defecto. Por lo tanto, seleccione la ficha del registro externo y escriba wordpress para el nombre de la imagen. La etiqueta de imagen es opcional y por defecto es
latest. En este caso, necesitamos la última imagen de wordpress, por lo que dejamos en blanco y el servicio lo establecerá por defecto enlatest.También puede ver otros registros externos, para los que puede proporcionar información de autenticación y URL de teh. Siempre que se pueda acceder a la URL de registro, el servicio de instancia de contenedor puede extraer imágenes de cualquier registro compatible con Open Container Initiative (OCI).
-
A continuación, configure algunas variables de entorno, como se describe en la sección Cómo utilizar esta imagen de la documentación para la imagen. Se configuran las siguientes variables y valores.
variable valor WORDPRESS_DB_HOST 127.0.0.1 WORDPRESS_DB_USER wordpress WORDPRESS_DB_PASSWORD wordpress WORDPRESS_DB_NAME wordpress 
-
Cuando tiene varios contenedores en una instancia de contenedor, comparten los recursos informáticos, como la CPU y la memoria, disponibles para la instancia de contenedor. También comparten el espacio de nombres de red, por lo que el contenedor WordPress se puede conectar al contenedor MySQL a través de
localhosto la dirección de bucle de retorno127.0.0.1como se ha configurado anteriormente. -
Para evitar que un contenedor utilice demasiados recursos y vea otros contenedores en la instancia de contenedor, puede limitar los recursos disponibles para cada contenedor. También puede sustituir algunos valores por defecto de imagen, como
ENTRYPOINT,CMDyWORKDIR. Estas opciones están disponibles para cada contenedor en Opciones avanzadas. Amplíe las opciones avanzadas de este contenedor y defina el contenedor WordPress para que no consuma más del 50% de nuestros núcleos de CPU.
-
WordPress también necesita que funcione una base de datos. En este tutorial ejecutaremos una base de datos MySQL como segundo contenedor dentro de la instancia de contenedor. Para despliegues de producción reales, se recomienda utilizar un servicio de base de datos como el servicio de base de datos MySQL.
-
-
Para empezar por el contenedor MySQL, haga clic en + Otro contenedor para agregar un contenedor más a nuestra instancia de contenedor. Como antes, empezamos por nombrar el contenedor y esta vez lo denominamos "mysql".
-
A continuación, haga clic en Seleccionar imagen para proporcionar los detalles de la imagen. Oracle publica las imágenes oficiales de MySQL en DockerHub y utilizaremos la versión MySQL 8.0.31 para este tutorial.

-
Configure las siguientes variables de entorno para inicializar la base de datos.
variable valor MYSQL_ROOT_PASSWORD wordpressonmysql MYSQL_DATABASE wordpress MYSQL_USER wordpress MYSQL_PASSWORD wordpress 
-
De forma similar al contenedor WordPress, definimos las limitaciones de contenedor y, además, definimos un parámetro de inicio para sustituir el argumento
ENTRYPOINTdel contenedor MySQL. Transferimos el argumento--default-authentication-plugin=mysql_native_passwordpara activar el plugin de autenticación de contraseña de base de datos.
-
-
Haga clic en Siguiente para revisar toda la información y, a continuación, haga clic en Crear para crear la instancia de contenedor. La instancia de contenedor que acabamos de configurar tendrá dos contenedores, cada uno limitado para ocupar solo el 50% de la CPU y la memoria disponibles en la instancia de contenedor, y hemos seleccionado las imágenes públicas para WordPress y MySQL para crear nuestro sitio WordPress, cada uno configurado con variables de entorno para inicializar los contenedores.
La instancia de contenedor se inicia en cuestión de segundos y la carga de trabajo está activa. Como elegimos asignar una dirección IP pública a la instancia de contenedor, podemos utilizarla para acceder a nuestro sitio WordPress en Internet. Dirección IP pública asignada en la página de visión general de la instancia de contenedor.

Al visitar la dirección IP desde un explorador, ahora le lleva a su sitio web WordPress en directo en Internet.

Enlaces relacionados
- Blog de instancias de contenedor de OCI
- Presentación detallada de instancias de contenedor
- Documentación de instancias de contenedor
- Cuenta gratuita de Oracle Cloud
- Conectarse a la cuenta de Oracle Cloud
Agradecimientos
- Autor: Jeevan Joseph (mánager de productos principal sénior)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Manage container workloads on OCI using the Container Instances service
F74879-02
December 2022
Copyright © 2022, Oracle and/or its affiliates.