oracledocker的简单介绍
本篇文章给大家谈谈oracledocker,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、docker中oracle数据库数据持久化的问题,如果将本地的文件夹挂载到docker容器中
- 2、Docker系列二:玩转单个容器
- 3、win7系统本地怎么连接Oracle VM VirtualBox虚拟机中docker容器中的ubuntu镜像中的mysql
- 4、docker安装oracle库的坑
- 5、docker容器安装oracle数据库
- 6、如何docker安装好oracle后如何使用
docker中oracle数据库数据持久化的问题,如果将本地的文件夹挂载到docker容器中
docker可以支持把一个宿主机上的目录挂载到镜像里。
docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash
通过-v参数,冒号前为洞歼宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。
现在镜像内就可以共享宿主机里的文件了。
默认挂载的路径权限为读写。如果指定为只读可以用:ro
docker run -it -v /home/dock/Downloads:/usr/Downloads:ro ubuntu64 /bin/bash
docker还提供了一种高级的用法。叫数据卷。
数据卷:“其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的”。感觉像是由一个容器定义的一个数据挂载信息。其他的容器启动可以直接挂载数据卷容器中定义的挂载信息。
看示例:
docker run -v /home/dock/Downloads:/usr/Downloads --name dataVol ubuntu64 /bin/bash
创建一个普通的容器烂颤禅。用--name给他指定了一个名(不指定的话会生成一个随机的名子)。
再创建一个新的容器,来使用这个数据卷。
docker run -it --volumes-from dataVol ubuntu64 /bin/bash
--volumes-from用来饥尘指定要从哪个数据卷来挂载数据。
[img]Docker系列二:玩转单个容器
那么对于宿主机上运行的服务比,在容器内运行有以下两种优势
1.配置:将服务放入容器,提前配置好提供服务所需的程序、库、配置文件等,无须担心宿主机是否有这些组件。若有需要也很容易将容器迁移到另一个宿主机上。
2.隔离:每个容器有自己单独的文件系统和网络接口,能按需运行多个相同的服务容器。每个容器使用各自的IP和端口来公开其服务,这些服务之间不会彼此冲突。
在虚拟机内安装容器测试后发现虚拟机内的容器性能接近于物理机。
1.查看容器镜像 docker ps -a
2.进入容器里面 docker exec -it f74716b965d7 /bin/bash 或者 docker exec -it f74716b965d7 "bash"
3.在容器内运行命令 apt-get update
如图所示可以安装想装的软件了 apt-get install vim
registry是一个位置——在那里能够找到许多repository相关联的镜像。
repository是一个名字——Docker用它来代表多个镜像。
docker search ubuntu
docker search -s 10 ubuntu
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,我们以 Docker 官陵银方加速器 为例。
CentOS 7
请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
之后重新启动服务。
配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否尺雀宴生效,在命令行执行 docker info ,岁厅如果从结果中看到了如下内容,说明配置成功。
搜索想要的镜像
然后根据旁边的提示 docker pull oraclelinux
拉取镜像并不是将镜像放入系统的唯一方式,可以将本地系统的镜像保存到一个tar文件,然后复制传输到另外一个系统中,在那里装载他。
docker save 命令会保存与特定的repository关联所有的镜像。
查看docker下的镜像,选择mysql进行打包。
docker images
docker save -o mysql.tar mysql
du -sh mysql.tar
修改mysql权限,root注意要有
用SCP命令传输tar文件到另外一个系统中【centos传输至unbuntu】
【unbuntu需要scp能连接上】
sudo apt install docker.io//unbuntu安装docker
scp mysql.tar 192.168.140.134:/tmp
在unbuntu中装载mysql.tar
docker load -i /tmp/mysql.tar
docker export -o pg_1018export.tar 63
docker import pg_1018export.tar pg3
但是需要注意运行导入的镜像的时候必须带command,否则容器不能运行。
在新的地方装载
docker save保存的是镜像(image),docker export保存的是容器(container)
查看镜像,进行打包
查看容器,进行打包
对比两者打包后的大小和内容
对比可以看到容器内容是一个linux的文件目录
镜像的内容拆开看到:
其实就是一个分层的系统
Docker镜像实际上就是由这样的一层层文件进行叠加起来的,上层的文件会覆盖下层的同名文件。
如果将镜像中各层文件合并到一起,基本就是容器打包后内容。由于镜像里的各层文件会有很多重复文件,所以镜像打包后会比容器大那么一点。
简单地总结就是下面这样
save — 镜像 打包—用 load 载入,用import可以载入但启动不了。
export — 容器 打包—用 import 载入,用load不能载入,docker load必须要载入的是一个分层文件系统。
查看正在运行或暂停容器 docker ps
查看停止的容器 docker ps -a
启动 docker start CONTAINER ID
停止 docker stop CONTAINER ID
重启 docker restart CONTAINER ID
暂停 docker pause CONTAINER ID
取消暂停 docker unpause CONTAINER ID
docker run 创建新的容器
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
详细见
以mysql的镜像为例子
[root@localhost text]# docker run -it mysql /bin/bash
然后也可以达到进入容器内的相同效果
win7系统本地怎么连接Oracle VM VirtualBox虚拟机中docker容器中的ubuntu镜像中的mysql
网络使用桥接
docker pull mysql 拉取歼扰镜像
docker run -d -it -p 3306:3306 mysql /bin/bash
然后使用命令行登慧山陆,mysql -uroot -p
修改前改中远程登录权限
然后win7就可以登录了
docker安装oracle库的坑
docker运行oracle镜像报错,详情如下:
docker run -d -p 19000:8080 -p 1521:1521 --name oracle12c --restart=always sath89/oracle-12c
1299367555e9ee4fe8db7afe2e42852605652b30598af1302e20dfef75a4193c
docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:1521: bind: An attempt was made to access a socket in a way forbidden by its access permissions
从报错来看是因为端口被占用,于是乎查看端口占用情况
netstat -ano
没有发现端口占用
使用 Get-NetTCPConnection |findstr在powershell中也没发现此端口没占用
然后一通百度,原因是windows默认排除了这些端口范围,查消闷看禁用端口的命令如下:
netsh interface ipv4 show excludedportrange protocol=tcp
所以快捷解侍卖决方式就是不使用以上范围内的端口。
根本的解决拿谈弯方法如下。原因是Docker for Windows and Hyper-V are responsible for all of those excluded port ranges above.
注:以下方法未亲测,百度到的添加端口的方法
1、先禁用hyper-v(生效需要重启)
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
2、然后添加要使用的端口
netsh int ipv4 add excludedportrange protocol=tcp startport=50051 numberofports=1
3、重新启用hyper-v
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
docker容器安装oracle数据库
1、docker search oracle[搜索docker云平台上的oracle的镜像]
2、docker pull registry.cn-hangzhou.aliyuncs.com/qida/oracle-xe-11g【拉取】
3、docker images
4、docker run -d -p 49160:22 -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true --name oracle -v /dockerOracleData:/dockerOracleData registry.cn-hangzhou.aliyuncs.com/qida/蠢禅oracle-xe-11g
5、docker ps
6、docker s
7、sqlplus / as sysdba
PS:docker容器常用命令
docker search xxx:搜索docker云平台相关的镜像
docker pull xxx:根据名称拉取docker云平台镜像
docker images:列出本地镜像
-a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
-digests:显示镜像的摘要信息
-f:显示满足条件的镜像
--format:指定返回值的模板文件
--no-trunc:显示完整的镜像信息
-q:只显示镜像ID
docker ps:列出容器
-a:显示所有的容器,包括未运行的
-f:根据条件过滤显示的内容
--format:指定返回值的模板文件
-l:显示最近创建的容器
-n:列出最近创建的n个容器
--no-trunc:不截断输出
-q:静默模式,只显示容器编号
-s:显示总的文件大小
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
docker rm : 删除一个或多个容器。
-f:通过 SIGKILL 信号强制删除一个运行中的容器
-l:移除容器带扮尘缺洞间的网络连接,而非容器本身
-v:删除与容器关联的卷
如何docker安装好oracle后如何使用
VMware Workstation:9.0
操作系统:centos6.5
[root@dockerServer Desktop]# uname -a
Linux dockerServer 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
docker版扒州本:
[root@dockerServer Desktop]# docker version
Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.3
Git commit (client): fa7b24f/1.2.0
OS/Arch (client): linux/amd64
Server version: 1.2.0
Server API version: 1.14
Go version (server): go1.3.3
Git commit (server): fa7b24f/1.2.0
该例子前提dokcer已安装。基础镜像纤兄已生成。前面章节有春竖蔽介绍。
第一步:查看images
关于oracledocker和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。