Mx钢哥 2019-11-04 17:21 采纳率: 0%
浏览 859

docker 容器内系统启动顺序是怎么样的?

命令是这样的:

docker run -d -it -p 8888:7410 --name zseCon1 -h zseCon1 --net=net1 --ip 172.20.0.120 -e tokenId=123456 -v /zseShare:/soft --privileged --restart=always centos7 /usr/sbin/init

然后容器内部有一个脚本run.sh 是根据传入的 tokenId 搞事情的...

有一行代码是 echo "tokenId: $tokenId" >> token.txt

然后我再 /etc/rc.local 最后一行添加了

sh /run.sh

但是 $tokenId 取不到值....

我确定 run.sh 开机自动运行的 因为其它逻辑都执行了 只有这个环境变量取不到.... 而且 $HOSTNAME 这种环境变量是取得到的...

但是 exec 到容器里面 运行一下

sh /etc/rc.loacl 又他妈可以取到 $tokenId

我怀疑是启动顺序问题 应该是rc.local 先于docekr -e 设置环境变量执行了...但是 我不知道应该把我的 run.sh 放到哪里自启动才能读取到 $tokenId

  • 写回答

1条回答 默认 最新

  • lt20062914 2020-12-22 16:04
    关注

    兄弟,咱们遇到了同样的问题。。。有解决办法吗

    评论

报告相同问题?

悬赏问题

  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机