问题:
openGauss=# CREATE DATABASE mydb OWNER db_creator TEMPLATE template0 ENCODING 'UTF8' LC_COLLATE 'zh_CN.utf8' LC_CTYPE 'zh_CN.utf8' CONNECTION LIMIT 50; ERROR: invalid locale name: "zh_CN.utf8" 用docker-compose安装了opengauss5.0.0 ,但是创建数据库时,无法使用中文字符编码,如何解决
自定义 Docker 镜像(推荐)
创建一个 Dockerfile 来安装中文 locale:
1. 创建 Dockerfile
新建一个文件名为 Dockerfile
的文件,内容如下:
# 基于官方 OpenGauss 5.0.0 镜像 FROM enmotech/opengauss:5.0.0 # 安装必要的工具和中文 locale RUN apt-get update && \ apt-get install -y locales && \ sed -i '/zh_CN.UTF-8/s/^# //g' /etc/locale.gen && \ locale-gen zh_CN.UTF-8 && \ update-locale.UTF-8 # 设置环境变量 ENV LANG zh_CN.UTF-8 ENV LC_ALL zh_CN.UTF-8
2. 构建镜像
在包含 Dockerfile 的目录下运行以下命令:
docker build -t opengauss-zh:5.0.0 .
3. 修改 docker-compose.yml
更新你的 docker-compose.yml 文件以使用新镜像:
services: opengauss: image: opengauss-zh:5.0.0 container_name: opengauss environment: - GS_PASSWORD=YourPassword123 ports: - "5432:5432" volumes: - opengauss_data:/var/lib/opengauss restart: always volumes: opengauss_data:
4. 启动容器
docker-compose up -d
5. 验证中文 locale 支持
进入容器并检查可用的 locale:
docker exec -it opengauss locale -a
你应该能看到 zh_CN.utf8
或 zh_CN.UTF-8
在列表中。
6. 创建支持中文排序的数据库
现在你可以成功创建使用中文 locale 的数据库了:
转载请注明:IT笔记分享 » docker技术 » docker build opengauss5.0.0支持中文
版权声明
本站《作品展示》类文章均为原创,转载必须注明出处,技术分享类文章部分来源于网络,版权归原作者所有,若侵权请留言。