在.bashrc中导出DOCKER_HOST会对终端中的同一命令产生不同的结果

 冬-冰释_488 发布于 2022-12-28 21:55

在我可以使用我的docker容器之前(在OSX上使用Boot2Docker)我总是要记得输入

export DOCKER_HOST=tcp://$(boot2docker ip 2>/dev/null):2375

在我的终端,自然我经常忘记这一点.

所以我想我只是将该行添加到我的~/.bashrc文件中,但是当我完成此操作并检查DOCKER_HOST它的值tcp://192.168.42.43:4243而不是tcp://192.168.42.43:2375.

打破它:

boot2docker ip >"VM的主机唯一接口IP地址是:192.168.59.103"

boot2docker ip 2 >"VM的主机唯一接口IP地址是:192.168.59.103"

boot2docker ip 2>/dev/null=>"192.168.59.103"(好吧我有点理解,但我不知道它是如何工作的,我不知道:4243它来自哪里."

实际上这里发生了什么,为什么端口不同?

1 个回答
  • 如果要为打开的每个终端自动设置DOCKER_HOST环境变量,请使用"boot2docker shellinit"命令.您可以将此行添加到.bash_profile以处理业务:

    $(boot2docker shellinit)
    

    不幸的是,如果你的boot2docker虚拟机在你打开终端时没有运行,这会给你一个恼人的错误信息("运行中的错误:VM"boot2docker-vm"没有运行.")把它放在.bash_profile而不是压制错误信息:

    $(boot2docker shellinit 2>/dev/null)
    

    Github的更多细节

    注意:如果您使用Docker Machine来管理boot2docker,则等效命令为

    eval "$(docker-machine env MACHINE-NAME)"
    

    其中MACHINE-NAME是boot2docker机器的名称.

    2022-12-28 22:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有