【发布时间】:2021-08-15 22:56:26
【问题描述】:
我正在尝试将 sqlpackage 添加到 Laravel Sail Docker。虽然这通常并不难,但 Sail 有点难。
我的 Dockerfile 中有以下部分
RUN curl -L https://go.microsoft.com/fwlink/?linkid=2157202 -o /usr/local/bin/sqlpackage.zip
RUN mkdir /usr/local/bin/sqlpackage
RUN unzip /usr/local/bin/sqlpackage.zip -d /usr/local/bin/sqlpackage
RUN rm /usr/local/bin/sqlpackage.zip
RUN echo "export PATH=\"\$PATH:$HOME/usr/local/bin/sqlpackage\"" >> /home/sail/.bashrc
RUN chmod a+x /usr/local/bin/sqlpackage/sqlpackage
首先,我对自己选择的安装路径不满意 (/usr/local/bin)。但这是我能想到的最好的了。欢迎提出任何建议。
我的第二个也是更重要的问题是我无法在安装时将运行 echo 添加到路径中。安装脚本无法到达主路径。真的很想解决这个问题。但我得到这个错误:
cannot create /home/sail/.bashrc: Directory nonexistent
但是它存在。所以这是安装用户的权利问题。欢迎提出任何建议。
【问题讨论】:
-
你确定 /home/sail 存在吗?如果没有在导出前创建这样的用户
RUN useradd sail -
您可以在
run echo ...之前添加run mkdir -p /home/sail/以使其存在。另外我建议您将run echo ...命令更改为RUN echo "export PATH='$PATH:$HOME/usr/local/bin/sqlpackage'" >> /home/sail/.bashrc,但在这种情况下$HOME表示/root/对吗? -
$HOME在 echo 导出中不需要 -
哎呀,错过了。用户风帆稍后创建。你的 cmets 让我意识到这一点。
-
@Matt 我刚刚添加了答案,希望这对美好的一天有所帮助
标签: laravel docker dockerfile laravel-sail