我正在尝试在本地环境中扩展对 docker 的使用(并在此过程中了解有关 docker 的更多信息)。但是我有一个关于从 gulp-notify 将通知返回到我的桌面的问题。它们出现在我的终端日志中就好了。
我的 docker-compose 文件包含这样的local
部分。
local:
image: uconn/local:latest
ports:
- "3000:3000"
volumes:
- ./:/project
- /project/node_modules
tty: true
通常在我的 gulpfile 中,我使用这样的任务
gulp.task('sass', function() {
return gulp.src('./style.scss')
.pipe(plugins.plumber({
errorHandler: plugins.notify.onError("Error <%= error.message %>")
}))
.pipe(plugins.sass())
.pipe(gulp.dest('./', {
overwrite: true
}));
});
任务本身可以工作(它将 sass 转换为 css),但错误时通知程序会报告gulp-notify: [Error running notifier] Could not send message: not found: notify-send
。
由于我在 docker 中运行 gulp 任务,我想很明显这不会像现在这样工作。那么,如何将通知消息从 docker 中传递出去?
编辑/更新我刚刚在 docker docs 中找到了这个信息。但是我没有足够的经验来理解它的含义。
I WANT TO CONNECT FROM A CONTAINER TO A SERVICE ON THE HOST
The Mac has a changing IP address (or none if you have no network access).
From 17.06 onwards our recommendation is to connect to the special Mac-only
DNS name docker.for.mac.localhost which will resolve to the internal IP
address used by the host.