macos - Docker -- 如何在启动时将目录挂载为卷(在 MacOS 中)
问题描述
什么是一个非常简单的单行终端命令,可以在每次启动时(在 MacOS 中)将本地目录挂载为 Docker 容器的卷?
解决方案
不明白你的意思。您知道容器不只是自行启动(除非您将使用服务/脚本/cron/run 等)。
您可以使用 -v/--volume 选项添加音量:
docker run -dit --name=FOO -v /Path/On/Host:/Path/In/Container Image
如果您想在启动时使用它,您可能需要一项服务(尽管我不知道它们是否在 mac 上可用)
[Unit]
Description=Foo Bar
After=docker.service
BindsTo=docker.service
Conflicts=shutdown.target reboot.target halt.target
[Service]
Environment=LOCAL_DIR='/Path/On/Host'
Environment=TARGET_DIR='/Path/On/Container'
Environment=IMAGE='YOUR_DOCKER_IMAGE'
TimeoutStartSec=0
TimeoutStopSec=30
Restart=always
RestartSec=10
ExecStartPre=-/usr/bin/docker rm -f Foo_Bar
ExecStart=/usr/bin/docker run -dit --name=Foo_Bar -v $LOCAL_DIR:$TARGET_DIR $IMAGE
ExecStop=/usr/bin/docker stop Foo_Bar
NotifyAccess=all
[Install]
WantedBy=multi-user.target
推荐阅读
- qt - QML/Qt:根据包含它的父级使显示的文本尽可能大
- c++ - Windows 调试器上的 VS Code 不适用于 freopen
- python - 如何为 django 日期时间模型字段设置默认值和 auto_now 值
- algorithm - Hackerrank 子数组求和问题 - 超时测试用例
- android - 在实时数据库 Android Studio Java 中更改值
- matlab - 绘制最优决策变量和相应的残差
- javascript - 如何使用 fetch() 函数发送给客户端 JavaScript 程序的 PHP 实际检索信息服务器端?
- unity3d - Unity - Tilemap Contains - 如何读取 Tilemap 是否包含世界特定坐标上的图块?
- awk - 有没有办法用 sed 替换所有逗号,除了引号中的逗号
- arrays - 为什么在 C 中迭代这样的数组效率低下?