爬坑--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

参考

相关推荐
开发者联盟league21 小时前
安装pnpm
ssh
Alsn861 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
2601_961875241 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj1 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵1 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
杨浦老苏1 天前
轻量级Docker仪表板Servedash
运维·docker·监控·群晖·仪表板
正经教主1 天前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
kiros_wang1 天前
Docker 使用完整指南
运维·docker·容器
正经教主1 天前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器
CodeStats1 天前
【虚拟机】 从 CPU 指令到虚拟机隔离:虚拟机就是一个“模拟了完整硬件的普通进程”
java·docker