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

参考

相关推荐
Mr.小海1 小时前
Docker 容器资源限制实战:CPU / 内存 / 磁盘 IO 全方位管控指南
docker·容器·eureka
DeeplyMind2 小时前
第11章 容器运行参数详解
运维·docker·容器
yuxinaibiancheng2 小时前
yunedit-ssh跟winscp对比有什么好处
ssh·sftp·scp
予枫的编程笔记2 小时前
【Docker基础篇】Docker网络模式初探之bridge模式与端口映射
docker·后端开发·端口映射·容器网络·bridge模式·docker入门·容器实操
大鹏说大话3 小时前
Windows 下将 Java 项目打包为 Docker 容器并部署的完整指南
java·windows·docker
Mr.小海3 小时前
Docker 网络模式深度解析:从原理到生产环境实战
网络·docker·容器
鸿腾阳阳4 小时前
Docker Desktop 启动容器时报错
运维·docker·容器
DeeplyMind4 小时前
第13章 数据卷(Volume)详解
运维·docker·容器
未既5 小时前
docker & docker-compose离线部署步骤
java·docker
浮尘笔记5 小时前
Docker从入门到实践:安装配置、常用命令与开发环境搭建
运维·docker·容器