1、拉取oracle镜像
docker pull jaspeen/oracle-11g
2、查看镜像
docker images
3、下载oralce安装文件并解压
4、启动镜像
docker run --privileged --name oracle11g -p 1521:1521 -v D:\oracle:/install jaspeen/oracle-11g
5、等待安装完成显示如下:
6、更改用户密码及本地navicat连接
进入容器
docker exec -it oracle11g /bin/bash
7、创建空间文件存放文件夹
本次示例是建在/opt/oracle/app/oradata目录下
8、创建表空间
create temporary tablespace xxx_xxx tempfile '/opt/oracle/app/oradata/tablespace/xxx_xxx.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
create tablespace xxxx logging datafile '/opt/oracle/app/oradata/tablespace/xxxx.dbf' size 128M autoextend on next 100M maxsize 1024M extent management local;
9、数据泵方式导入数据库
将本地文件拷贝至容器对应目录
docker ps -a --查看容器名
docker inspect -f '{{.ID}}' oracle11g
docker cp D:\新建文件夹\EXPDAT.DMP bb911e5aa21f42b50a5643d356198bbf6d308711004c3f7e70e6cf537933b33a:/opt/oracle/dpdump/expdat.dmp
或者
docker cp D:\新建文件夹\EXPDAT.DMP oracle11g:/opt/oracle/dpdump/expdat.dmp
10、时间不一致问题,原因是时区不一致。修改时区方法如下:
docker exec -it <容器名> /bin/bash
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
docker restart <容器名>
11、一些docker 命令
docker start <容器名> --启动容器
docker restart <容器名> --重启容器
docker run --运行镜像 参数 {-p 主机端口:镜像端口 -name 命名容器 -d 后台运行 }
docker images -- 查看镜像
docker ps --查看正在运行的容器
docker ps -a -- 查看所有容器
docker rmi <镜像名> -- 删除镜像
docker commit <容器名> -- 提交容器成为镜像
docker tag <镜像名> -- 给镜像打tag
docker login --登录docker hub
docker push <镜像名> -- 将镜像推送至docker hub