爬坑--docker构建容器ssh连接容器环境变量会发生变化

问题

通过 Dockerfile 语句在镜像中安装了 openssh, 但是在创建容器之后, 通过 docker exec -it 容器 bash 和通过远程 ssh, 会发现两边终端的 PATH 不一致, ssh 连接明显缺少一些东西.

解决方案

在 Dockerfile 最后添加:

docker 复制代码
RUN echo "export PATH=${PATH}" >> /root/.bashrc

原因是因为在 Dockerfile 中部分环境变量被使用的 ENV 语句来指定, 这部分变量不会被带入到诸如 ~/.bashrc 或者 /etc/profile

参考

相关推荐
fjh19974 小时前
记一次奇怪的ssh公钥登录失败的情况
运维·ssh
一条闲鱼_mytube7 小时前
Kubernetes Operator 原理与实践:从入门到实战
云原生·容器·kubernetes
DeeplyMind8 小时前
第6章 Docker镜像基础操作
运维·docker·容器
马丁的代码日记8 小时前
Docker 无法拉取镜像的解决方案
运维·docker·容器
是小王吖!8 小时前
容器技术 - docker
运维·docker·容器
Cyber4K9 小时前
【Kubernetes专项】Ingress、Ingress-Controller
云原生·容器·kubernetes
礼拜天没时间.13 小时前
Docker与Harbor迁移实战:从入门到生产级完整指南
linux·运维·docker·容器·架构·centos
郁大锤13 小时前
macOS 终端 SSH 到 Linux 后快捷键失效解决方法
linux·macos·ssh
麦德泽特15 小时前
蓝牙与WiFi之外:为机器人选择合适的近距离无线通信技术
c语言·开发语言·安全·机器人·ssh
张槊哲16 小时前
Docker详细介绍
docker