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

参考

相关推荐
Cat God 00726 分钟前
基于Docker的MySQL 主从复制(读写分离)
mysql·docker·容器
m0_474606781 小时前
Linux安装docker教程
linux·运维·docker
Jewel Q2 小时前
QEMU、KVM、Docker、K8s(Kubernetes)
docker·容器·kubernetes
学Linux的语莫2 小时前
prometheus、grafana的docker搭建
docker·容器·prometheus
lisanmengmeng2 小时前
zentao的prod环境升级(一)
linux·运维·数据库·docker·容器·禅道
kkoral2 小时前
单机docker部署的redis sentinel,使用python调用redis,报错
redis·python·docker·sentinel
wuxingge4 小时前
k8s部署xxl-job
容器·kubernetes
没有bug.的程序员6 小时前
微服务基础设施清单:必须、应该、可以、无需的四级分类指南
java·jvm·微服务·云原生·容器·架构
JPX-NO7 小时前
把终端玩成一场“跨次元”冒险——Termora 登场!
ssh·ftp·远程工具
卡布叻_星星7 小时前
Docker之Windows与Linux不同架构部署理解
linux·windows·docker