1、使用dockerID登录docker hub,如果没有需要注册
2、访问oracle image地址:https://store.docker.com/images/oracle-database-enterprise-edition
3、填写信息后,可以产看安装说明。
4、登陆docker后,下载镜像
docker login
docker pull store/oracle/database-enterprise:12.2.0.1
5、创建容器
mkdir ~/orcl
docker run -d --name oracle -p 1521:1521 -p 5500:5500 -v ~/orcl:/ORCL store/oracle/database-enterprise:12.2.0.1
6、产看日志是否成功
docker logs -f oracle
7、在安装过程中,遇到http_proxy的错误
Configure DB as oracle user
Setup Database directories ...
Error 46 initializing SQL*Plus
HTTP proxy setting has incorrect value
SP2-1502: The HTTP proxy server specified by http_proxy is not accessible
update password
Enter password for SYS:
create pdb : ORCLPDB1
Error 46 initializing SQL*Plus
HTTP proxy setting has incorrect value
SP2-1502: The HTTP proxy server specified by http_proxy is not accessible
Reset Database parameters
Error 46 initializing SQL*Plus
HTTP proxy setting has incorrect value
SP2-1502: The HTTP proxy server specified by http_proxy is not accessible
解决方法如下,在环境变量中设置http_proxy为空
创建~/orcl/DB_ENV文件,内容如下
DB_SID=ORCLCDB
DB_DOMAIN=localdomain
DB_MEMORY=4G
DB_PDB=ORCLPDB1
http_proxy=
注意最后一行,http_proxy为空
Oracle数据库服务器容器还提供用于启动容器的自定义配置参数。所有的自定义配置参数都是可选的。
DB_SID
该参数更改数据库的ORACLE_SID。默认值设置为ORCLCDB。
DB_PDB
该参数修改PDB的名称。默认值设置为ORCLPDB1。
DB_MEMORY
此参数设置Oracle服务器的内存要求。此值确定要为SGA和PGA分配的内存量。默认值设置为2GB。
DB_DOMAIN
该参数设置要用于数据库服务器的域。默认值是localdomain。
确保tnsnames.ora中的配置跟DB_SID,DB_PDB和DB_DOMAIN一致。
8、删除目录(不删除可能会有其他的问题)
docker stop oracle
docker rm oracle
rm -rf ~/orcl
mkdir ~/orcl
9、利用环境变量重新创建容器
docker run -d --name oracle -p 1521:1521 -p 5500:5500 -v /Users/apple/orcl:/ORCL --env-file /Users/apple/orcl/DB_ENV store/oracle/database-enterprise:12.2.0.1
10、启动成功,状态为healthy
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc5b66e114fb store/oracle/database-enterprise:12.2.0.1 "/bin/sh -c '/bin/..." 33 minutes ago Up 33 minutes (healthy) 0.0.0.0:1521->1521/tcp, 0.0.0.0:5500->5500/tcp oracle
11、修改sys默认密码
docker exec -it oracle bash
sqlplus / as sysdba
alter user sys identified by my_password
注:sys默认密码为 Oradoc_db1