前言
我們在手動安裝oracle數據庫時,安裝步驟紛繁復雜,耗時較長
在此介紹如何使用docker快速安裝oracle 11g
一、docker 及其安裝環境
操作系統:
[root@centos7 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)
docker 版本:
[root@centos7 ~]# docker -v Docker version 1.13.1, build 7f2769b/1.13.1
docker 安裝方式:
yum update && yum -y install docker
docker 使用詳細信息可查看 https://www.cnblogs.com/murry/p/9332747.html
二、docker 鏡像拉取以及啟動
docker hub 鏡像拉取以及查看
docker pull jaspeen/oracle-11g
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/jaspeen/oracle-11g latest 0c8711fe4f0f 4 years ago 281 MB
創建宿主機 oracle 安裝目錄以及數據目錄
mkdir -p /server/oracle
mkdir -p /server/dpdump
下載 oracle 並存放於服務器中
oracle 下載網址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
[root@centos7 oracle]# ls linux.x64_11gR2_database_1of2 linux.x64_11gR2_database_2of2
解壓縮並刪除安裝包
[root@centos7 oracle]# ls database
啟動 docker
docker run -d --privileged -p 1521:1521 -v /server/oracle:/install -v /server/dpdump:/opt/oracle/dpdump --name=oracle11g jaspeen/oracle-11g
啟動命令解析:
-d :后台運行容器,並返回容器ID;
--privieged:開啟特權模式;
-p:宿主機與 docker 的端口映射;
-v:綁定一個數據卷;
--name:起一個容器名;
啟動后查看容器運行狀況
[root@centos7 oracle]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c5e913b4e96b jaspeen/oracle-11g "/assets/entrypoin..." 3 days ago Up 3 seconds 0.0.0.0:1521->1521/tcp, 8080/tcp oracle11g
此時一個 oracle 11g docker 已經啟動
三、自己的 docker 鏡像制作
由於版權問題,拉取下來的 docker 鏡像是不包含任何版本的 oracle 的
故在啟動 docker 后,需要創建一個自己的鏡像以備使用
提交 docker 鏡像以及查看
[root@centos7 oracle]# docker commit oracle11g oracle11g-installed [root@centos7 oracle]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle11g-installed latest 4a55732efad1 3 days ago 2.83 GB docker.io/jaspeen/oracle-11g latest 0c8711fe4f0f 4 years ago 281 MB
進入 docker 容器內查看
一共有兩種方式,可以使用容器ID或者使用 docker run 時設置的 name
[root@centos7 oracle]# docker exec -it c5e913b4e96b bash [root@c5e913b4e96b /]# [root@centos7 oracle]# docker exec -it oracle11g bash [root@c5e913b4e96b /]#
當然,可以設置一個別名,更方便進入容器內
[root@centos7 oracle]# vim ~/.bashrc 末行加入: alias oracle='docker exec -it c5e913b4e96b bash'
使文件生效:
source ~/.bashrc
至此一個 oracle 11g 容器制作完成
更多詳細使用方式以及信息、dockerfile 請查看 docker hub:
https://hub.docker.com/r/jaspeen/oracle-11g