在docker中使用sqlplus

2023-05-16

1、找个带sqlplus的镜像

从docker hub上下载https://hub.docker.com/r/sflyr/sqlplus

 docker pull sflyr/sqlplus

2、在k8s中运行

  由于该镜像启动后没有运行的程序,所以会很快退出,导致k8s一直报错:Back-off restarting failed      container.
  是因为,容器内PID为1的进程退出导致(通常用户在构建镜像执行CMD时,启动的程序,均是PID为1)

所以,该镜像不能直接使用,需要自己加工一下。
使用dockerfile重新构建一个镜像。

[root@hadoop01 dockerfiledir]# more Dockerfile
FROM sflyr/sqlplus:latest
CMD ["/bin/bash", "-ce", "tail -f /dev/null"]
[root@hadoop01 dockerfiledir]#

构建

[root@hadoop01 dockerfiledir]# docker build -t sqlplus:v20230424 .
Sending build context to Docker daemon 2.048 kB
Step 1/2 : FROM sflyr/sqlplus:latest
 ---> d0cab823fcdc
Step 2/2 : CMD /bin/bash -ce tail -f /dev/null
 ---> Running in b7572268d95e
 ---> f46ed69aa12d
Removing intermediate container b7572268d95e
Successfully built f46ed69aa12d

查看镜像包

结束后会生成镜像包,使用docker images查看

[root@hadoop01 dockerfiledir]# docker images
REPOSITORY                            TAG                            IMAGE ID            CREATED             SIZE
sqlplus                               v20230424                      f46ed69aa12d        About an hour ago   461 MB

保存镜像包

[root@hadoop01 ~]# docker save -o sqlplus.tar sqlplus
[root@hadoop01 ~]# ls -lrt
total 1796316
-rw-------. 1 root root 467651072 Apr 24 02:21 sqlplus.tar

此处生成的镜像包可以直接加载使用。

如果是在启动的时候执行其他脚本,则
Dockerfile为

[root@hadoop01 dockerfiledir]# more Dockerfile
FROM sflyr/sqlplus:latest
COPY ["start.sh", "/root/start.sh"]
WORKDIR /root
CMD ["/bin/bash", "./start.sh"]
[root@hadoop01 dockerfiledir]#

注意:start.sh为Dockerfile同级目录下的文件,如下

[root@hadoop01 dockerfiledir]# ls -lrt
total 456704
-rw-r--r--. 1 root root        52 Apr 24 03:53 start.sh
-rw-r--r--. 1 root root       108 Apr 24 03:58 Dockerfile
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在docker中使用sqlplus 的相关文章

随机推荐

  • DB2实现判断字符串是否只含数字

    背景 取出客户表中客户姓名字段含数字且只含数字的数据 最开始考虑的是使用正则表达式函数 xff0c 后来发现DB2没有像Oracle一样可以直接使用的正则表达式函数 xff0c 因此考虑使用其他方法 结论 使用DB2的translate函数
  • 华为ELK的几个知识点

    1 ELK是运行在FusionInsight HD平台中的 安装ELK之前必须先安装FusionInsight HD集群 2 ELK依赖FusionInsight HD中的两个组件 xff0c 分别是HDFS和Yarn 3 ELK必须部署在
  • Python 中获取字典的key列表和value列表

    coding utf 8 定义一个字典 dic 61 39 剧情 39 11 39 犯罪 39 10 39 动作 39 8 39 爱情 39 3 39 喜剧 39 2 39 冒险 39 2 39 悬疑 39 2 39 惊悚 39 2 39
  • su oracle 和 su - oracle的区别

    最近整oracle xff0c 发现su oracle过来sqlplus一直报命令不存在 后来发现是因为用su oracle切换的 xff0c 导致还是用的root的环境变量 xff0c 所以才会导致sqlplus命令不存在 xff0c 改
  • 关于Oracle 11g的RAC和Oracle 19c 的RAC在JDBC连接时的一些区别

    19c中新增的 v services可以查询各PDB对应的服务名 xff0c 根据此服务名去写JDBC的连接参数 而非19c中常用的v database视图显示的是CDB的库名 还有 show paramerter service name
  • ORA-31626 ORA-01658 使用impdp遇到的问题

    oracle使用impdp导库时遇到的问题 xff0c span class token punctuation span oracle span class token variable 64 qsrac2 span span class
  • linux安装oracle客户端——SQL*Loader

    背景 在安装Oracle数据库的时候 xff0c 一般是默认安装客户端的 但是有些特殊情况 xff0c 需要在应用服务器上安装客户端 xff0c 用于执行一些特殊操作 xff0c 此时需要安装oracle的客户端 xff0c 如使用sqll
  • 如何获取oracle的dmp文件中的表空间名称或Schema

    场景 在给定的dmp下 xff0c 使用impdp导入时 xff0c 报了一个错 xff0c 大致就是说schema在dmp中不存在 xff08 使用impdp导入时指定了schemas 61 XXX XXX XXX xff09 当时懒得去
  • 搭建Hadoop最少需要几个节点

    可以按服务所需的最小节点数进行规划 zookeeper服务 zookeeper服务最少需要3个节点 xff0c 且扩展时需为奇数个才行 HDFS HDFS中的NameNode需要2个节点 xff0c 主备配置 因此hadoop最小需要3个节
  • “远程“操作oracle数据泵impdp、expdp导入导出

    关键词 xff1a NFS 数据泵 impdp expdp oracle客户端 本文解决的主要问题 靠考如下场景 xff0c 你作为一个DBA xff0c 管理者测试环境的Oracle集群 正常情况下测试环境恢复生产数据都是由DBA来做 x
  • 数仓拉链表的缺点

    在选定拉链表时由于对于哪些表适合做拉链表没有一个统一的规范的认识 xff0c 因此出现了以下情况 xff1a 一个表是做的全量拉链表 xff0c 但是没有注意该表数据不是每天都有供数 即 xff0c 可能某一天源系统供给了该表 xff0c
  • oracle监听、启动等命令

    记录一些常用的查看状态和重启数据库的命令 监听 单机版一般为lsnrctl xff0c 集群一般为crsctl lsnrctl Listener Control 在数据库单机环境下使用lsnrctl命令 lsnrctl status 查看状
  • 多进程的python实现

    span class token keyword import span os span class token keyword import span time span class token comment os fork 负责创建一
  • Python三目运算符(三元运算符)用法详解

    我们从一个具体的例子切入本节内容 假设现在有两个数字 xff0c 我们希望获得其中较大的一个 xff0c 那么可以使用 if else 语句 xff0c 例如 xff1a if a gt b max 61 a else max 61 b 但
  • du -sh 和ls -lh的区别

    du sh显示的是文件占用的大小 ls lh显示的文件的实际大小 这里系统层面涉及一个Block Size的概念 xff0c 具体不深究 简而言之 xff0c 假如一个Block是4K xff0c 如果文件A的大小是1K xff0c 那么用
  • docker镜像创建、删除等相关操作

    一 docker镜像的形式 可以为一个tar包 xff0c 如 centos tar 此处为一个现成的镜像 使用方法为 1 加载镜像 span class token punctuation span root 64 hadoop01 sp
  • shell中的数组、循环等基本用法和注意事项

    shell中数组的表示 方法 xff1a array name 61 ele1 ele2 ele3 elen 举例 xff1a span class token punctuation span root 64 hadoop01 span
  • 离线安装rpm包

    离线安装rpm包 安装 repotrack 工具下载依赖包其他常用命令 安装 repotrack 工具 找一台在线的机器 xff08 虚拟机 xff09 xff0c 配置好yum源 span class token punctuation
  • 更改yum源

    Error Failed to download metadata for repo appstream Cannot prepare internal mirrorlist No URLs in mirrorlist 参考连接
  • 在docker中使用sqlplus

    1 找个带sqlplus的镜像 从docker hub上下载https hub docker com r sflyr sqlplus docker pull sflyr sqlplus 2 在k8s中运行 由于该镜像启动后没有运行的程序 x