java - 使用 Ubuntu Containers (ascii, utf-8) 在 docke

在我自己的 PC 上,应用程序运行良好,但是当它部署到 docker 时,由于无效字符而失败。

我正在使用 ubuntu:latest 容器和 python3javaruby

最佳答案

您需要正确设置语言环境

这是最小的正确 Dockerfile:

FROM ubuntu

RUN apt update && apt -y install locales && locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

通常的 docker 图像不指定语言环境。如果你 bash 进入它并执行 locale,你会看到它:

sudo docker exec -i -t yowsup3 bash

来源:

  • http://jaredmarkell.com/docker-and-locales/
  • https://github.com/docker-library/python/issues/13

关于java - 使用 Ubuntu Containers (ascii, utf-8) 在 docker (Python, Java, Ruby, ...) 中运行应用程序时出现编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27931668/

相关文章:

string - docker-compose.yml invalid : app. build c

php - 如何在不终止 docker 容器的情况下重新启动 apache2?

java - 每个 Docker 镜像都应该包含一个 JDK 吗?

docker - 中间容器是如何形成的?

windows - docker 警告 : failed to get default regist

mysql - 使用 docker-compose 来创建 MySQL 模式/数据库

docker - 如何增加 kubernetes 容器的 shm 大小(--shm-size 相当于

python - 为什么人们在 docker 容器中创建 virtualenv?

docker - 从 Dockerfile 构建时如何访问本地文件?

docker - 使用 docker-compose 设置容器时区