一 CentOs安装docker
Linux安装docker参照https://blog.csdn.net/qq_36892341/article/details/73918672
前置条件:
64-bit 系统
kernel 3.10+
作者以下操作皆在root用户下进行
1.检查内核版本,返回的值大于等于3.10即可。
# uname -r
2.确保yum是最新的
# yum update
3.添加 yum 仓库
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
4.安装 Docker
# yum install -y docker-engine
安装成功后,使用docker version命令查看是否安装成功,安装成功后------如下图
5.启动docker
#systemctl start docker.service
6.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
使用docker version命令查看
7.设置开机自启动
# sudo systemctl enable docker
到此为止docker就完全安装好了。
二 docker配置Oracle数据库并实现数据持久化
本次配置的为Oracle 11gr2版本数据库
- 在docker 中获取oracle镜像信息
# docker search oracle
- 选定镜像,并pull到系统中,一定要先配置加速,不然超级慢
- 友情提示(至少作者遇见的情况是这样)
- 一定要选sath89/oracle-xe-11g 不要选wnameless/oracle-xe-11g
- 一定要选sath89/oracle-xe-11g 不要选wnameless/oracle-xe-11g
- 一定要选sath89/oracle-xe-11g 不要选wnameless/oracle-xe-11g
- 不然无法实现数据持久化
# docker pull sath89/oracle-xe-11g
- 查看已经下载的镜像
$ docker images
- 列出运行中的容器
[root@VM_0_3_centos ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
- 数据持久化
#启动
[root@VM_0_3_centos ~]# docker run -d -p 49160:22 -p 49161:1521 -v /jie:/u01/app/oracle/ --name xe sath89/oracle-xe-11g
#参数 -d 后台运行容器,并返回容器ID ; -p 指定端口 , -v 指定数据卷位置#你只需要明白 -v 命令后面的就ok /jie 指定你当前服务器的文件位置 没有会创建 /u01
/app/oracle指定oracle的映射路径 也就是说 数据库中这个目录下的文件都会在你服务器/jie中存在 反之亦然
#查看运行容器
[root@VM_0_3_centos ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
26a0507505c8 sath89/oracle-xe-11g "/entrypoint.sh " 20 hours ago Up 14 seconds 8080/tcp, 0.0.0.0:49160->22/tcp, 0.0.0.0:49161->1521/tcp xe#查看本地目录 发现有个jie目录
#创建文件测试
[root@VM_0_3_centos jie]# sudo touch jie.txt
#查看容器内的内容是否新增
[root@VM_0_3_centos jie]# docker exec -it xe /bin/bash
连接Oracle 11g
--使用此镜像创建的oracle用户和密码:
hostname:localhost
port: 49161
sid: xe
service name: xe
username: system
password: oracle