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

参考

相关推荐
超级小忍26 分钟前
Spring Boot 与 Docker 的完美结合:容器化你的应用
spring boot·后端·docker
B1nna2 小时前
Docker学习
学习·docker·容器
缘友一世3 小时前
网安系列【15】之Docker未授权访问漏洞
docker·容器
慕木兮人可10 小时前
Docker部署MySQL镜像
spring boot·后端·mysql·docker·ecs服务器
armcsdn13 小时前
基于Docker Compose部署Traccar容器与主机MySQL的完整指南
mysql·docker·容器
小Lu的开源日常14 小时前
在 macOS 上设置 SSH 和 Git
git·macos·ssh
凌晨两点的菜鸡14 小时前
前端部署-docker
前端·docker
LuckyLay14 小时前
使用 Docker 搭建 Go Web 应用开发环境——AI教你学Docker
前端·docker·golang
tao35566715 小时前
树莓派免密登录(vs code/cursor)
linux·嵌入式硬件·ssh
杨浦老苏15 小时前
IntelliSSH:AI驱动的远程服务器管理软件
人工智能·docker·ai·ssh·群晖