zoukankan      html  css  js  c++  java
  • 解决 Docker Image的UTF-8中文字符集的问题(以Oracle为例)

    最近因业务需要,需要搭建一个Oracle数据库,当然Oracle数据库支持Linux,但是在上面搭建很是复杂,所以我想起了Docker ,果然在上面发现了一个OracleDB的镜像,所以下载之,运行,登录什么的都正常,但是这个镜像不支持中文字符集,所以为了更好的使用,下面使用Dockerfile文件构建了一个简单的Docker镜像,文件内容如下:

    构建镜像文件

    这里使用Oracle镜像作为参考,如果你有其他的Image需要天剑UTF-8字符集支持,也可以参考下面的构建脚本.

    FROM wnameless/oracle-xe-11g:latest
    MAINTAINER Zhoutao
    
    RUN apt-get update
    RUN apt-get install -y locales
    RUN locale-gen zh_CN
    RUN locale-gen zh_CN.utf8
    RUN update-locale LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8 LANGUAGE=zh_CN.UTF-8
    
    ENV LANG zh_CN.UTF-8
    ENV LANGUAGE zh_CN.UTF-8
    ENV LC_ALL zh_CN.UTF-8
    

    主要解释下命令:

    • FROM 表示该镜像依赖于wnameless/oracle-xe-11g:latest
    • MAINTAINER 当前镜像的维护者信息
    • RUN 在构建镜像的时候运行的命令 这里主要是安装字UTF-8以及中文字符集并设置
    • ENV 表示设置系统级环境变量

    构建完成之后,使用DataGrip或者Dbearver 来连接到Oracle即可解决Docker Images不支持中文字符集的问题.当然这是一种通用的解决方案,如果你需要修改其他镜像也是可以参考这个Dockerfile文件的.

    Ps: 其他的操作和账户等信息可以参考链接 https://www.cnblogs.com/Jin520304/p/7884441.html 这里主要是解决Docker Oracle对UTF8 以及中文支持不友好的问题.

  • 相关阅读:
    集成学习(一):概述
    机器学习:处理非平衡数据集的办法
    支撑向量机 SVM(一)
    集成学习(五):xgboost 学习总结
    数组的实现(重载[]、=、==、!=运算符重载)
    运算符重载总结
    运算符重载进阶
    运算符重载入门demo
    类模板的简单使用
    static成员变量和static成员函数例程
  • 原文地址:https://www.cnblogs.com/zhoutao825638/p/10382293.html
Copyright © 2011-2022 走看看