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

参考

相关推荐
爱吃番茄的小狐狸2 小时前
Docker镜像下载-使用github action- 解决无法下载docker镜像的问题
docker·容器·github
_Johnny_3 小时前
linux 使用SSH密钥配置免密登录
linux·服务器·ssh
andy7_3 小时前
运行在docker环境下的图片压缩小工具
运维·docker·容器
bestcxx3 小时前
(十六)、把镜像推送到私有化 Docker 仓库
docker
唐大爹4 小时前
kubeadm方式安装k8s续:
云原生·容器·kubernetes
ly14356786194 小时前
94 、k8s之rbac
云原生·容器·kubernetes
汪公子4924 小时前
k8s的配置
java·linux·docker
.生产的驴6 小时前
Docker 消息队列RabbitMQ 安装延迟消息插件
运维·spring boot·后端·docker·容器·rabbitmq·java-rabbitmq
爱吃香蕉的阿豪7 小时前
828华为云征文|Flexus X实例Docker+Jenkins+gitee实现CI/CD自动化部署-解放你的双手~
ci/cd·docker·gitee·华为云·jenkins
Aileen_0v017 小时前
【Java宝典】——探索数组的奥秘之旅
java·运维·开发语言·windows·后端·docker·golang