Linux中使用docker部署oracle19c

588 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1.拉取镜像

image.png

docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

image.png

2.查看镜像

docker images

image.png

3.启动镜像

docker run --name oracle19c -p 1523:1521  33196c1eb395

运行的时候如果报错

Error response from daemon: Cannot start container a7a76c46d7679c4373865f084a6db7d7c14fa9c1c0b81201cb7a9525274c764d: iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 1521 -j DNAT --to-destination 172.17.0.4:1521 ! -i docker0: iptables: No chain/target/match by that name.

重启docker服务 

service  docker restart

然后重新执行docker  run 命令

注:33196c1eb395为镜像ID,也可以写为

docker run --name oracle19c -p 1523:1521  registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

image.png

36CA18EB-D91A-427F-9465-D8E08D21B841.png

795AD4B1-9DB9-44C5-B544-23412DB07040.png

出现DATABASE IS READY TO USE代表者成功了,这时先不要关闭终端,另外开启一个终端,进入环境修改oracle密码

修改Oralce数据库密码 

docker exec  oracle19c ./setPassword.sh 123456

image.png

修改完密码后可以关闭之前终端了,出现 DATABASE IS READY TO USE之后,后边都是显示的日志,可以关闭终端,关闭终端不会导致它停止运行

然后通过下面命令进入容器

docker exec  -it oracle19c  bash 

设置ORACLE_SID

echo "export ORACLE_SID=ORCLCDB" >> ~/.bashrc

6AD536AF-827B-4BD9-A9F7-9903BA687ED7.png

source  .bashrc

echo $ORACLE_SID

A9E9CDE6-C79A-4974-8B57-703CCDD6E4C7.png

sqlplus /nolog

conn /as sysdba

alter user system identified by system;

CD7034A6-E9E9-45A7-9EFB-3706EC9002FA.png

image.png