在docker run和docker内部的命令表现不一样

时间:2018-07-12 07:38:17

标签: bash docker

我有一个脚本可以将数据库加载到RAM并将第一笔数据的地址打印到文件(db_REGISTER)中,我想在docker中运行它。使用-it

启动docker之后,该脚本在bash中启动时可以正常工作
$ docker run -it --env-file $FILE -v $wkp:/app dev_machine
$$ /app/scripts/loadBase.sh

db_REGISTER

<some random number>

但是,当我在直接运行docker的情况下启动相同的脚本时,该脚本可以工作,但打印的地址始终为0,并且以后无法使用数据库。

$ docker run -it --env-file $FILE -v $wkp:/app dev_machine /app/scripts/loadBase.sh

db_REGISTER

0

这是否意味着第二条命令无法访问RAM中的持久地址?我该怎么做才能纠正这个问题?

编辑:在获得一些建议后,我尝试调整--ipc设置。使用--ipc="host"使它起作用。我想这是共享RAM的问题

1 个答案:

答案 0 :(得分:0)

您可以在执行命令之前尝试将文件挂载到Docker容器中:

const mark= OBJECT.CustomerList; for (let i = 0; i < mark.length; i++) { (function(index){ mark[index].setMap(null); })(i) }