docker部署oracle12c

概述

本文指导如何使用oracle的官方镜像安装部署oracle12c

操作步骤

注册docker账号

oracle12的官方镜像需要有docker账号才能有权限进行下载

docker部署oracle12c_第1张图片

docker 登录

使用docker login,通过docker账号登录到dockerhub

# docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: xiaojinran
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

镜像下载

# docker pull store/oracle/database-enterprise:12.2.0.1
12.2.0.1: Pulling from store/oracle/database-enterprise
4ce27fe12c04: Pull complete 
9d3556e8e792: Pull complete 
fc60a1a28025: Pull complete 
0c32e4ed872e: Pull complete 
b465d9b6e399: Pull complete 
Digest: sha256:40760ac70dba2c4c70d0c542e42e082e8b04d9040d91688d63f728af764a2f5d
Status: Downloaded newer image for store/oracle/database-enterprise:12.2.0.1
docker.io/store/oracle/database-enterprise:12.2.0.1

运行Oracle

为了使外部可以通过端口进行访问内部数据库,以及持久化保存oracle数据,这里将容器的1521端口以及oracle的数据卷映射到宿主机。

官方提供镜像文件还有很多可选的参数配置,可以通过docker hub进行了解和使用

# docker run -d -it --name oracleDB -v /opt/Projects/oracle12c/DBData:/ORCL -p 41521:1521 store/oracle/database-enterprise:12.2.0.1
ec6ce278e303fba4613e0a636fb0fbc646504e49324c5f41ceeaad6e256761e7

使用Oracle

通过docker exec 可以进入到容器内部,这样就可以使用容器内部的数据库了

# docker exec -it oracleDB /bin/bash
$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Sat Nov 27 02:42:49 2021

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show pdbs;

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 ORCLPDB1			  READ WRITE NO

总结

通过docker镜像部署oracle12c是不是很方便,不用去考虑那么多参数的设置和环境变量,官方就已经通过容器封装好了一个镜像了,这就是容器的便利之处。

你可能感兴趣的:(oracle数据库,docker,docker,oracle,容器,数据库)