在启动时挂载并启动 Docker

在启动时挂载并启动 Docker

我有一个在 Ubuntu 上运行的本地虚拟机,在启动时,我需要运行两个命令(作为我的用户andreas):

sudo mount -a 
docker-compose up -d

最后一个命令在我的主目录中运行,不能以 root 身份运行,否则 docker 会让我伤心。如何在机器加载时自动运行这两个命令,一个以 root 身份,一个以我身份运行?

谢谢

答案1

以 root 身份运行脚本,并使用sudo的选项以您的用户身份-u运行,并使用该选项确保它在登录 shell 中运行(即与您登录时所拥有的环境相同[1])。例如docker-compose-l

#!/bin/sh

mount -a
sudo -l -u yourusername docker compose up -d

或者,使用su

#!/bin/sh

mount -a
su -l yourusername docker compose up -d

[1] 与 X 或 GUI 桌面环境有关的任何内容除外。

相关内容