Docker 如何配置环境变量,使得 SSH 后可以使用?

2018-07-14 15:21:08 +08:00
 dunhanson
如题所述,百度 google 好久,都没有找到解决办法,网上说写入 /etc/profile,但是无效
7481 次点击
所在节点    程序员
28 条回复
dunhanson
2018-07-14 15:22:47 +08:00
可能有人说,不推荐容器中使用 SSH,但是现阶段水平有限,SSH 还有有必要的
gouchaoer2
2018-07-14 15:25:20 +08:00
安装 ssh server,因为默认镜像大都没有。。其实用 ssh 不如 docker exec 进去
dunhanson
2018-07-14 15:30:06 +08:00
@gouchaoer2 我擦,点错了,点了个感谢。我安装了 ssh,现在想直接 ssh 进去,然后环境变量生效
402645707
2018-07-14 15:32:20 +08:00
第一步:安装 docker
第二步:配置 docker 容器
第三步:ssh 连上去
https://blog.csdn.net/qq626387/article/details/50506636
dunhanson
2018-07-14 15:38:37 +08:00
@402645707 我现在可以 ssh,就是环境变量无效
402645707
2018-07-14 15:47:21 +08:00
@dunhanson 如果你没有引入自带 ssh 环境变量容器,你需要自己写个脚本读 docker 传的环境变量来改 /etc/ssh/sshd_config
cz5424
2018-07-14 15:49:19 +08:00
docker exec -it 容器名 bash
cz5424
2018-07-14 15:51:15 +08:00
不知道楼主设置环境变量的目的是什么,Dockfile 写 ENV 命令就可以设置容器的环境变量,不用 ssh 进去容器命令如上
cz5424
2018-07-14 15:51:44 +08:00
手误少打了 er
qsnow6
2018-07-14 15:54:02 +08:00
没理解,转发下端口不就能连了吗
dunhanson
2018-07-14 15:58:54 +08:00
@402645707 看上去好麻烦的样子
dunhanson
2018-07-14 16:02:21 +08:00
@cz5424 我相当于把容器当虚拟机来用了,用来部署测试项目,经常需要重启 tomcat。
现在时我每次时 ssh 到容器,上传修改的文件到容器,
然后切换标签进入宿主机,再 docker exec -it xxx bash 进入到容器,重启 tomcat
这样不会很麻烦?
dunhanson
2018-07-14 16:03:34 +08:00
@qsnow6 没说不能连,是连接了环境变量无效的问题,只有通过 docker exec -it xxx bash 进入,环境变量才正常
lrh3321
2018-07-14 16:45:41 +08:00
Dockerfile 里用 ENV 指令定义环境变量,docker run 的时候 -e 设置也不行吗?
jptx
2018-07-14 16:57:17 +08:00
可以修改容器里的~/.bashrc 文件,把你的那些 export 语句都加进去,我的一个容器和你是很相似的用途,就是当成虚拟机用来测试项目,我修改的就是这个文件,把什么 JAVA_HOME 什么的都在这里面写 export,还在里面写了一些 alias 用来方便跳转,方便重启服务
XSG
2018-07-14 17:50:57 +08:00
1、配置环境变量,可以 docker run -e TZ="Asia/Shanghai" 这样指定;也可以自己重新制作镜像,在 Dockerfile 中指定好环境变量
2、传文件到容器里面,你的思路完全错了,用不着 ssh ;你可以在宿主机上用 -v 参数映射一个路径到容器,然后文件直接放到宿主机的这个路径就满足你的要求了
3、然后是重启 tomcat,最简单的方法是 docker restart $container_name 这样;
ETiV
2018-07-14 18:07:40 +08:00
Lz 的 docker 可能用错了?

你 ssh 的环境变量,无法影响到 docker entrypoint 的环境变量……

建议了解一下 docker-compose,很方便的
dunhanson
2018-07-14 21:42:56 +08:00
@lrh3321 尝试过了,不行
dunhanson
2018-07-14 21:43:26 +08:00
@jptx 好的,我回头试试 谢谢了
dunhanson
2018-07-14 21:44:33 +08:00
@XSG 对哟,好的 我试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/470877

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX