Cómo hacer persistente un contenedor e imagen con Oracle 21 en Docker. Cómo crear un volumen y asignárselo para que los datos que se inserten/modifiquen en la base de datos Oracle 21 se guarden y queden persistentes.

Requisitos para establecer persistencia en contenedor e imagen Oracle 21 con Docker

En este caso desplegaremos una imagen Docker de Oracle 21c a partir del contenedor con Oracle 21c, por ello, necesitaremos descargar y desplegar este contenedor. En el siguiente tutorial explicamos cómo desplegarlo paso a paso:

Crear volumen para persistencia y asignar a imagen Docker de Oracle 21c

Abriremos una consola de shell de comandos, en el equipo donde tengamos Docker instalado y el contenedor con Oracle 21c (sea Linux o Windows, el proceso es idéntico en ambos casos).

Para crear un volumen en Docker, ejecutaremos el siguiente comando Docker:

Para iniciar el contenedor usando el volumen creado anteriormente «oracle», y para hacer accesible la base de datos externamente (por el puerto 1521), ejecutaremos el siguiente comando Docker:

Como podemos observar en el comando anterior, se despliega la imagen «bdproyectoaext» con el puerto 1521 (interno y externo) y guardando los datos en el volumen «oracle», en la carpeta «orabd».

Una vez iniciado el contenedor, para el caso de Oracle 21c, estableceremos una configuración inicial con el comando:

Tras establecer la configuración inicial, estableceremos la contraseña para los usuarios de Oracle, con el comando Docker:

Conectar con Oracle 21 externamente y crear tabla para probar persistencia

Para probar la conexión externa a Oracle 21c y crear una tabla usaremos Oracle SQL Developer. Realizaremos la conexión con la base de datos:

Y crearemos una tabla llamada «FACTURAS»:

Insertaremos algún registro de prueba en la tabla FACTURAS:

Probar persistencia de imagen Docker de Oracle 21c

Detendremos ahora la imagen Docker (para comprobar que, efectivamente, la información ha quedado guardada):

Iniciaremos la imagen:

Volveremos a conectar a Oracle y comprobaremos que, efectivamente, los datos han quedado guardados:

Configurar contenedor para que se inicie cuando se inicie el servicio de Docker

Si queremos que el contenedor se inicie de forma automática cuando se arranque el equipo, ejecutaremos el siguiente comando Docker (una vez iniciado el contenedor):