oracledocker的简单介绍

本篇文章给大家谈谈oracledocker,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

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和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表