【问题标题】:Unable to run mongod inside ubuntu docker container through ssh (Docker is started using "--net=host")无法通过 ssh 在 ubuntu docker 容器中运行 mongod(Docker 使用“--net=host”启动)
【发布时间】:2015-04-25 22:04:23
【问题描述】:

我参考了很多链接来解决这个错误SEVERE: Failed global initialization: BadValue Invalid or no user locale set. Please ensure LANG and/or LC_* environment variables are set correctly.

我执行了export LC_ALL=C 如以下链接所述

Failed global initialization: BadValue Invalid or no user locale set. Please ensure LANG and/or LC_* environment variables are set correctly

https://askubuntu.com/questions/536875/error-in-installing-mongo-in-virtual-machine

我也提到了BadValue Invalid or no user locale set. Please ensure LANG and/or LC_* environment variables are set correctly

并做了以下步骤,

root@product:/# localedef -i en_US -f UTF-8 en_US.UTF-8
root@product:/# export LANGUAGE=en_US.UTF-8
root@product:/# export LANG=en_US.UTF-8
root@product:/# export LC_ALL=en_US.UTF-8
root@product:/# locale-gen en_US.UTF-8
Generating locales...
  en_US.UTF-8... done
Generation complete.
root@product:/# dpkg-reconfigure locales
Generating locales...
  en_US.UTF-8... up-to-date
Generation complete.

在尝试了上述所有步骤后,当我通过 ssh 执行 mongo 命令时,我仍然收到以下错误

product@product:~/docker$ sshpass -p password ssh root@172.20.71.71 'mongod --dbpath /var/lib/mongodb/ &'
2015-02-24T09:50:27.158+0000 SEVERE: Failed global initialization: BadValue Invalid or no user locale set. Please ensure LANG and/or LC_* environment variables are set correctly.

但是当我在容器内执行mongod --dbpath /var/lib/mongodb/ & 时,它可以工作,下面是终端输出

root@product:/# mongod --dbpath /var/lib/mongodb/ &
[1] 284
root@product:/# 2015-02-24T09:56:42.108+0000 [initandlisten] MongoDB starting : pid=284 port=27017 dbpath=/var/lib/mongodb/ 64-bit host=product
2015-02-24T09:56:42.108+0000 [initandlisten] db version v2.6.7
2015-02-24T09:56:42.108+0000 [initandlisten] git version: a7d57ad27c382de82e9cb93bf983a80fd9ac9899
2015-02-24T09:56:42.108+0000 [initandlisten] build info: Linux build7.nj1.10gen.cc 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3 21:39:27 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-02-24T09:56:42.108+0000 [initandlisten] allocator: tcmalloc
2015-02-24T09:56:42.108+0000 [initandlisten] options: { storage: { dbPath: "/var/lib/mongodb/" } }

如果有人知道为什么会这样,我想通过 ssh 运行它。

【问题讨论】:

  • 你能发布sshpass -p password ssh root@172.20.71.71 'echo $LANGUAGE' 的结果吗
  • 空行是我运行命令时得到的响应。这就是我正在运行的 = "product@product:~/docker$ sshpass -p password ssh root@172.20.71.71 'echo $LANGUAGE'"

标签: mongodb ubuntu ssh docker ubuntu-14.04


【解决方案1】:

可能您的 ssh 客户端正在尝试在远程主机中设置这些环境变量。编辑你/etc/ssh/ssh_config评论SendEnv LANG LC_*这一行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 2015-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多