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

参考

相关推荐
Elastic 中国社区官方博客4 小时前
在 Kubernetes 上的依赖管理
大数据·elasticsearch·搜索引擎·云原生·容器·kubernetes·全文检索
星星乘坐的船5 小时前
Centos7.9系统下docker安装
运维·docker·容器
Elastic 中国社区官方博客7 小时前
Agentic CI/CD:使用 Kubernetes 部署门控,结合 Elastic MCP Server
大数据·人工智能·elasticsearch·搜索引擎·ci/cd·容器·kubernetes
切糕师学AI7 小时前
Kubernetes 中的 StatefulSet
云原生·容器·kubernetes
阿乐艾官8 小时前
【K8s思维导图及单节点容器启动流程】
java·容器·kubernetes
礼拜天没时间.8 小时前
企业级Docker镜像仓库Harbor部署实战
linux·运维·docker·云原生·容器·sre
能源革命8 小时前
Ubuntu24.04修改ssh默认端口
linux·服务器·ssh
阿寻寻8 小时前
【云原生技术】Pod 列表新增时间字段:取值口径与获取方式
docker·云原生·kubernetes
DeeplyMind9 小时前
第27章 常见问题与解决方案
运维·docker·容器
!chen9 小时前
Ubuntu 上 Docker 的配置及代理
ubuntu·docker·eureka