1、安裝Docker
2、Docker倉庫搜索Oracle 11g鏡像
look@lookdeMacBook-Pro ~ % docker search docker-oracle-xe-11g NAME DESCRIPTION STARS OFFICIAL AUTOMATED deepdiver/docker-oracle-xe-11g 41 [OK] epiclabs/docker-oracle-xe-11g Customized Oracle XE 11g build for CI and de… 22 [OK] pengbai/docker-oracle-xe-11g-r2 oracle xe 11g r2 with sql initdb and web con… 10 [OK] arahman/docker-oracle-xe-11g phusion/baseimage based spin off of alexei-l… 9 [OK] konnecteam/docker-oracle-xe-11g Fork of https://github.com/wnameless/docker-… 4 [OK] rafaelri/docker-oracle-xe-11g Fork from wnameless/docker-oracle-xe-11g 3 [OK] ignatov/docker-oracle-xe-11g Dockerfile of Oracle Database Express Editio… 3 [OK] gswteam/docker-oracle-xe-11g Oracle XE 11g 0 [OK] nguoianphu/docker-oracle-xe-11g Oracle Express Edition 11g Release 2 on Ubun… 0 [OK] jeromefromcn/docker-oracle-xe-11g docker-oracle-xe-11g 0 [OK] zzzfree/docker-oracle-xe-11g docker-oracle-xe-11g 0 [OK] lynxsolutions/docker-oracle-xe-11g docker-oracle-xe-11g 0 [OK] deadok22/docker-oracle-xe-11g docker-oracle-xe-11g 0 dbanttari/docker-oracle-xe-11g Branch of wnameless/docker-oracle-xe-11g tha… 0 [OK] rdehuyss/docker-oracle-xe-11g Oracle Express 11g R2 on Ubuntu 14.04.2 LTS 0 [OK] xtechnologies/docker-oracle-xe-11g docker-oracle-xe-11g 0 [OK] bizybot/docker-oracle-xe-11g wnameless/docker-oracle-xe-11g 0 [OK] cheyu0325/docker-oracle-xe-11g docker-oracle-xe-11g 0 kikicarbonell/docker-oracle-xe-11g Docker image of Oracle Database Express Edit… 0 [OK] zigac/docker-oracle-xe-11g Oracle xe 11g 0 [OK] ceagan/docker-oracle-xe-11g Modified version of wnameless/docker-oracle-… 0 [OK] dockerbolcom/docker-oracle-xe-11g Fork of https://github.com/wnameless/docker-… 0 [OK] demers/docker-oracle-xe-11g-spark Oracle XE 11g with Spark 0 gmartsenkov/docker-oracle-xe-11g oracle 0 [OK] demers/docker-oracle-xe-11g Docker Oracle 11g XE with Java 13 and Python… 0
3、選擇一個想要的Oracle 11g版本拉取下來
docker pull deepdiver/docker-oracle-xe-11g
4、啟動鏡像
docker run -h "oracle" --name "oracle" -d -p 49160:22 -p 49161:1521 -p 49162:8080 deepdiver/docker-oracle-xe-11g
5、查看容器id並進入容器
look@lookdeMacBook-Pro ~ % docker ps -al CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 35fd8ae5ce60 deepdiver/docker-oracle-xe-11g "/bin/sh -c 'sed -i …" 2 minutes ago Up 2 minutes 0.0.0.0:49160->22/tcp, 0.0.0.0:49161->1521/tcp, 0.0.0.0:49162->8080/tcp oracle look@lookdeMacBook-Pro ~ % docker exec -it 35fd8ae5ce60 /bin/bash
6、通過sqlplu連接數據庫。oracle的高級用戶有兩個 sys和system。在我pull的這個docker oracle 11g 的版本,密碼都是oracle
#用system用戶登錄數據庫
sqlplus system/oracle
7、創建一個用戶並分配權限
-- 查看用戶 select username,password from dba_users;
-- 創建用戶 create user deque identified by 123;
-- 創建用戶並指定表空間,表空間名必須大寫(表空間要提前建好)
create user deque identified by 123 default tablespace TEST
-- 給新用戶授權
grant connect,resource to deque;
8、用Navicat 連接 docker oracle 11g
8.1 查看oracle 的映射端口。 0.0.0.0:49161-->1521
8.2 進入容器中查看oracle 的service_name
-- 查看容器ID docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 35fd8ae5ce60 deepdiver/docker-oracle-xe-11g "/bin/sh -c 'sed -i …" 4 hours ago Up 4 hours 0.0.0.0:49160->22/tcp, 0.0.0.0:49161->1521/tcp, 0.0.0.0:49162->8080/tcp oracle -- 進入容器 docker exec -it 35fd8ae5ce60 /bin/bash -- sqlplus 登錄 system用戶 sqlplus system/oracle -- 查看服務名 show parameter service
9、其他:
9.1 docker的啟停操作
-- 停止docker oracle服務 docker stop oracle -- 啟動docker oracle 服務 docker start oracle
9.2 oracle的一些命令
--創建表空間 create tablespace test datafile 'test.dbf' size 1024M; -- 查詢當前用戶擁有的所的有表空間 select tablespace_name from user_tablespaces; -- 給已有用戶設置表空間 alter user ods default tablespace test;
參考:
https://www.jianshu.com/p/b867263995b5