docker镜像(from 容器)的环境变量

戈壁堂 · · 1381 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

还没学会如何使用DockerFile从头开始创建docker镜像。业务需要,直接从本地的容器里进行环境更新。

系统环境变量

目前的环境需要——

  • Java
  • sonar-scanner
  • sonar-scanner-eslint (前端扫描自定义的sonar)
  • eslint-cars-server (前端封装后的服务)
  • node
  • go

使用root用户,将需要的环境变量添加到/etc/profile/root/.bashrc文件下,类似——

export JAVA_HOME=/usr/java/jdk1.8.0_231-amd64
export GOROOT=/usr/local/go
export GOPATH=/go
export PATH=/usr/local/nodejs/node-v0.10.13-linux-x64/bin:$JAVA_HOME/bin:$GOROOT/bin:$PATH

从terminal里启动是没有问题,但上述配置在docker环境启动后没有生效。默认的PATH只识别 /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin这些内容。

可以使用软连接的方式,在现有的PATH路径下创建新的软连接——

ln -s /usr/local/go/bin/go /usr/local/bin/go
ln -s /usr/local/nodejs/node-v10.13.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/nodejs/node-v10.13.0-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/local/nodejs/node-v10.13.0-linux-x64/bin/eslint-cars-server /usr/local/bin/eslint-cars-server


ls -l /usr/local/bin/
total 8
lrwxrwxrwx 1 root root   20 Apr 14 04:59 go -> /usr/local/go/bin/go
lrwxrwxrwx 1 root root   50 Apr 14 05:23 node -> /usr/local/nodejs/node-v10.13.0-linux-x64/bin/node
lrwxrwxrwx 1 root root   49 Apr 14 05:23 npm -> /usr/local/nodejs/node-v10.13.0-linux-x64/bin/npm
-rwxr-xr-x 1 root root 1771 Apr 13 07:05 sonar-scanner
-rwxr-xr-x 1 root root  610 Apr 13 07:05 sonar-scanner-debug

go env变量

默认的配置如下——

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
...
...

相同的问题,更新go env相关的变量时,采取上面更新配置文件的的方式依然无法生效。

观察默认的变量有个值为GOENV="/root/.config/go/env",手动验证一下go env -w GOPRIVATE="golang.my.test.com",这个值会直接保存在GOENV对应的文件下。

所有可以采用这种方式更新需要的go env变量


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:戈壁堂

查看原文:docker镜像(from 容器)的环境变量

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1381 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传