1. 程式人生 > >在Docker中部署Oracle Database 12.2.0.2和Weblogic 12.2.1.2

在Docker中部署Oracle Database 12.2.0.2和Weblogic 12.2.1.2

登入docker商店獲取Oracle Database和Weblogic的映象

$ 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: code501
Password: 
如果出現:Login Succeeded則登入成功
如果出現:Error response from daemon: Get https://registry-1
.docker.io/v2/: unauthorized: incorrect username or password(失敗)

解決方法:

2. Pull database-enterprise Images

# docker pull 10.128.222.245:5000/database-enterprise:12.2.0.2

下載成功:

#docker pull 10.128.222.245:5000/database-enterprise:12.2.0.2 12.2.0.2: Pulling from database-enterprise Digest: sha256:4a6ce8480d5e0aa0dd798564a5340fbfc45033a26468745482457d92008195a1 Status: Downloaded newer image for 10.128.222.245:5000/database-enterprise:12.2.0.2

3. 執行Oracle資料庫容器

使用docker run命令執行容器,-p引數是將容器埠對映到外部,--name 指定容器的名稱。指定容器名稱可以通過該名稱引用該容器,而不是通過它隨機生成的id。

檢視本地映象

$ docker images
  • 建立配置檔案db_env.dat,該配置檔案可以定義資料庫名,密碼,域和擴充套件包
####################################################################
## Copyright(c) Oracle Corporation 1998,2016. All rights reserved.##
##                                                                ##
##                   Docker OL7 db12c dat file                    ##
##                                                                ##
####################################################################

##------------------------------------------------------------------
## Specify the basic DB parameters
##------------------------------------------------------------------

## db sid (name)
## default : ORCL
## cannot be longer than 8
characters DB_SID=OraDoc ## db passwd ## default : Oracle DB_PASSWD=LetsDocker ## db domain ## default : localdomain DB_DOMAIN=my.domain.com ## db bundle ## default : basic ## valid : basic / high / extreme ## (high and extreme are only available for enterprise edition) DB_BUNDLE=basic ## end
  • 建立容器
$ docker run -d --env-file ./db_env.dat -p 1527:1521 -p 5507:5500 -it --name dockerDB --shm-size="8g" store/oracle/database-enterprise:12.1.0.2

注:

$ docker run -d --env-file <path_to_env_file> -p <listener_port>:1521 -p <http_port>:5500 -it --name <container_name> --shm-size="<shared_memory_size>" <image_name>

Parameters:
   <path_to_env_file> is the path to the environment file you created using above example. 
   <listener_port> is the port on host machine to map the container's 1521 port (listener port).
   <http_port> is the port on host machine to map the container's 5500 port (http service port).
   <container_name> is the container name you want to create.
   <shared_memory_size> is the memory size for the container to run. The minimum requirement is 4GB (--shm-size="4g").
   <image_name> is the image that you use to create a container.

進入容器:

$ docker exec -it <container_name> /bin/bash
  • 日誌:

第一次構建資料庫大約需要5至8分鐘,日誌儲存在容器內的/home/oracle/setup/log檔案中 檢查資料庫設定是否成功,檢查日誌檔案“ /home/oracle/setup/log/setupDB.log”。如果顯示“is shown, the database setup was successful.”,則資料庫安裝成功。啟動日誌“/home/oracle/setup/log/startupDB.log”

新建setPassword.sh檔案

#!/bin/bash
# LICENSE CDDL 1.0 + GPL 2.0
#
# Copyright (c) 1982-2016 Oracle and/or its affiliates. All rights reserved.
# 
# Since: November, 2016
# Author: [email protected]
# Description: Sets the password for sys, system and pdb_admin
#
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
# 

ORACLE_PWD=$1
ORACLE_SID="`grep $ORACLE_HOME /etc/oratab | cut -d: -f1`"
ORACLE_PDB="`ls -dl $ORACLE_BASE/oradata/$ORACLE_SID/*/ | grep -v pdbseed | awk '{print $9}' | cut -d/ -f6`"
ORAENV_ASK=NO
source oraenv

sqlplus / as sysdba << EOF
      ALTER USER SYS IDENTIFIED BY "$ORACLE_PWD";
      ALTER USER SYSTEM IDENTIFIED BY "$ORACLE_PWD";
      ALTER SESSION SET CONTAINER=$ORACLE_PDB;
      ALTER USER PDBADMIN IDENTIFIED BY "$ORACLE_PWD";
      exit;
EOF

例:將密碼更改為:LetsDocker

$ docker exec my_db ./setPassword.sh LetsDocker

Weblogic

1、從私有倉庫下載weblogic的Docker映象和擴充套件包

webloggic映象已經從docker商店下載並上傳到了私有倉庫(10.128.222.245)中

$ docker pull 10.128.222.245:5000/store/oracle/weblogic:12.2.1.2

2、編輯"12212-oradb-medrec/container-scripts/oracledatabase.properties"檔案

設定Oracle Thin XA驅動程式,資料庫URL,使用者和密碼以連線到我們之前建立的Oracle資料庫容器

domainname=medrec
domainhome=/u01/oracle/wlserver/samples/domains/medrec
admin_name=MedRecServer
dsname=MedRecGlobalDataSourceXA
dsdbname=ORCLCDB
dsjndiname=jdbc/MedRecGlobalDataSourceXA
dsdriver=oracle.jdbc.xa.client.OracleXADataSource
dsurl=jdbc:oracle:thin:@//OracleDatbaseIP:1521/ORCLCDB
dsusername=system
dspassword=LetsDocker
dstestquery=SELECT * FROM DUAL
dsmaxcapacity=1

2、編輯"12212-oradb-medrec"資料夾下的Dockerfile檔案

執行Docker images命令檢視本地映象的weblogic的REPOSITORY

docker images
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE

10.128.222.245:5000/store/oracle/weblogic              12.2.1.2            0f56fc2fbf56        3 weeks ago         1.12 GB
10.128.222.245:5000/store/oracle/database-enterprise   12.1.0.2            9410a79c6531        3 weeks ago         5.27 GB

編輯Dockerfile並將FROM行改為:10.128.222.245:5000/store/oracle/weblogic

3、構建"12212-oradb-medrec"映象

進入"12212-oradb-medrec"資料夾,並執行:

$ docker build -t 12212-oradb-medrec . 

映象構建完成後使用docker images檢視本地映象,會發現多了一個"12212-oradb-medrec"映象

REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
12212-oradb-medrec                                     latest              f32f0488dffd        6 hours ago         1.5 GB
10.128.222.245:5000/store/oracle/weblogic              12.2.1.2            0f56fc2fbf56        3 weeks ago         1.12 GB
10.128.222.245:5000/store/oracle/database-enterprise   12.1.0.2            9410a79c6531        3 weeks ago         5.27 GB

4、建立並執行MedRec Docker容器

$ docker run -d -it -p 7011:7011 12212-oradb-medrec

檢視執行進度並獲取容器的IP地址

$ docker logs -f <container id> 

通過http://10.128.222.247:7011/console,來驗證Oracle database。

賬號:weblogic
密碼:welcome1

驗證Weblogic應用

地址:http://10.128.222.247:7011/medrec/

相關推薦

Docker部署Oracle Database 12.2.0.2Weblogic 12.2.1.2

登入docker商店獲取Oracle Database和Weblogic的映象$ docker login Login with your Docker ID to push and pull images from Docker Hub. If you don't have

Oracle 10.2.0.5 RMAN遷移並升級11.2.0.4一例

oracle 遷移 rman 一、環境介紹1. 源數據庫環境操作系統版本: OEL 5.4 x64數據庫版本 : 10.2.0.5 x64數據庫sid名 : orclOracle 10g 10.2.0.5(64bit)安裝目錄如下:數據庫軟件:/u01/app/oracle/product/10

Docker 部署 ASP.NET CORE 應用

post netcore 工作 ros core 指定 們的 本地 body 有了 Docker 之後, 部署起來卻這間非常方便,環境不用搭了, 直接創建一個 microsoft/aspnetcore 的容器, 在本地開發好後, 把內容直接部署到容器中。 下面的命令是把本

12.1.0.2.0 RAC GI PSU 12.1.0.2.180116

12.1.0.2.180116rac12c01:/home/grid&$ORACLE_HOME/OPatch/opatch lsinv Oracle Interim Patch Installer version 12.2.0.1.12Copyright (c) 2018, Oracle Corpor

docker部署mongodb副本集

bject onf art 分享圖片 com 應該 工具 col -name 1.基本信息如下 服務器地址 192.168.73.129 副本集名稱 rs 容器節點及端口映射 m0 37017:27017 m1 47017:27017

dockeroracle-11g-安裝配置

裝配 dbf mar temp use dba docker create raw docker鏡像:wnameless/oracle-xe-11g 啟動鏡像的命令: docker run -d -v /data/oracle_data:/data/oracle_dat

docker部署靜態網頁

1、新建一個80埠的web伺服器,ubuntu系統 docker run -p 80 –name web -i -t ubuntu /bin/bash 2、在ubuntu上安裝nginx apt-get update apt-get install -y nginx 3、在ub

docker部署高可用負載均衡前後端專案異常

異常:在基於jdk的docker容器中可以使用jar方式啟動jar檔案,但有時候要終止程式該怎麼做? 當我在宿主機上去殺死對應的容器對映程式時,發現雖然外層宿主機刪除了程序,當容器中還是在執行 當檢視docker容器中nohup.out檔案時總是顯示地址被佔用 測試:ps -ef | g

Docker部署Redis

一:拉取映象內容 docker pull redis #拉取最後版本的docker-redis映象docker pull redis:3.2.8 #拉取指定版本的redis映象 二:檢視映象 docker images 三: 建立redis例項 docker run –d –name redis7000

Docker部署mysql服務

最近一直在學習docker,感覺這麼厲害的東西怎麼以前不知道呢,把自己搗鼓的過程整理記錄下來,供同學們參考 第零步:從Docker Hub拉取官方mysql映象 docker pull mysql 然後就是進入漫長的等待,當然如果你配置了映象加速器,速度會快那麼一丟丟 第一步:使用d

Docker部署ELK日誌分析系統

Docker中部署ELK環境 一直想嘗試部署一個ELK日誌系統,所以今晚就用Mac搭建一下,這裡記錄一下具體的搭建過程。 在上一節中已經學會來安裝Docker以及部署web應用,這次就不介紹來,直接在Docker中部署ELK日誌分析系統. 1.介紹 ELK是三個開源工具的縮寫

Docker部署Asp.net core2.1以及修改釋出

本篇文章主要是如何在Docker容器中執行ASP.NET Core應用程式,以及修改系統之後,釋出更新。本文章採用自定義的Docker檔案 系統要求:   1.伺服器或本地已經安裝docker 一、建立一個Asp.Net Core 2.1 Web應用(若可以熟練建立

Docker部署執行jar

宣告:瀏覽此部落格,最好會一點Docker基礎知識。 基本前提條件: 1、系統已安裝Docker。 2、系統可上網。 第一大步:docker search justrydeng搜尋Docker的JDK映象 注:這是本人自己組裝並上傳到Docker官方倉庫

Docker部署Django專案記錄

有很多構建方式,記錄下本次使用docker部署的過程,日後參考 1.構建docker環境 安裝docker,略 埠對映外部82到80 docker pull python run -itd -p 82:80 --name YYST 6bf7a4fa2d45 docker e

docker部署redis叢集

第一步執行 docker run -itd --net shadownet --privileged=true --ip 172.18.0.20 -d -p 7003:7003 -p 7004:7004 -p 7005:7005 -p 17003:17003 -p 1700

如果在docker部署tomcat,並且部署java應用程式

1、先說如何在docker中部署tomcat     第一步:root使用者登入在系統根目錄下建立資料夾tomcat7,命令如:mkdir tomcat7,並且切換到該目錄下:cd tomcat7;     第二步:建立Dockerfile,命令如:touch Docker

Docker部署Springboot應用

Docker這項容器技術已經是十分的火熱了,讀者要是不瞭解docker的話可以吧docker先理解為虛擬機器。 我們的Springboot最終是要部署在Linux上的,docker作為Linux輕量級的實現。docker也是可以用來部署Springboot應用

如何在docker部署Elasticsearch叢集kibana

做實驗時需要了解Elasticsearch叢集如何操作?通過使用docker-compose可以批量建立docker容器,啟動ES叢集。 先配置檔案docker-compose.yml檔案如下: 1 version: '2.2' 2 networks: 3 esnet: 4 services:

Linux環境下在docker配置Oracle資料庫並實現資料持久化

一  CentOs安裝docker 前置條件: 64-bit 系統 kernel 3.10+ 作者以下操作皆在root使用者下進行 1.檢查核心版本,返回的值大於等於3.10即可。   # uname -r 2.確保yum是最新的   # yum up

Docker 部署 Spring boot 專案

$ docker run --name mysql_container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql建立 Redis 容器 $ docker run --name redis_container -p 6379:6379 -d re