当前位置: 首页 > 面试题库 >

使用Ubuntu容器(ascii,utf-8)在docker(Python,Java,Ruby等)中运行应用程序时的编码问题

狄安歌
2023-03-14
问题内容

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

我正在使用,和ubuntu:lastest容器。python3``java``ruby


问题答案:

您需要 设置 正确的 语言环境

这是最小的正确Dockerfile:

FROM ubuntu:latest

RUN 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镜像不指定语言环境。如果您猛击它并执行,就会看到它locale

sudo docker exec -i -t yowsup3 bash

资料来源:

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


 类似资料:
  • 其基本思想是运行带有音频和ui的应用程序(vlc、firefox、skype…) 我在使用pulseaudio搜索docker容器,但我找到的所有容器都在TCP上使用pulseaudio流。(应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docker-chrome-

  • 我使用Java/Jsp开发了一个web应用程序,该应用程序运行在带有Tomcat 8的Ubuntu14.04 LTS服务器上,下面的UTF-8编码问题与部分符号§apperas有关。 在服务器端输入的任何章节符号§都将转换为§,我不知道为什么。 简单系统输出:

  • 问题内容: 考虑: 如何在源代码中声明UTF-8字符串? 问题答案: 在源头中,你可以声明: 在PEP 0263中进行了描述: 然后,你可以在字符串中使用UTF-8: 在Python 3中不需要此声明,因为UTF-8是默认的源编码(请参阅PEP 3120)。 此外,值得验证你的文本编辑器是否已将代码正确编码为UTF-8。否则,你可能会有不被解释为UTF-8的不可见字符。

  • 我已经创建了一个docker映像来测试Angular应用程序,但是我无法在docker容器内从主机连接到正在运行的应用程序。 该图像是使用带有:EXPOSE 4200 8080 80的Dockerfile创建的 我使用命令运行docker容器:docker run-ti-p 4200:4200angulardev/bin/bash 在容器内部,我创建了Angular应用程序,并使用:ng serv

  • Dockerfile文件 docker撰写。yml 我发射的命令是为了让这个起来 docker-compose-fdocker-compose.yml 之后我去了https://localhost:3000这个项目没有加载。这是可复制的回购协议https://github.com/reyanshmishra/My-Portfolio-ReactJS 谢啦

  • 问题内容: 我有以下用于docker文件的文件… 和弹簧配置… 一切似乎都开始文件,我明白了 我看到… 但是当我运行并在这样的浏览器中输入该地址时,出现超时错误。我知道我可以在运行时使用端口映射,但是有没有一种方法可以映射到我的本地主机呢? 我也尝试过这个… 因此它不是浏览器。 还试图像这样映射它… 0.0.0.0:8080->8080/tcp、9090/tcp 但是localhost:8080(