在Windows上运行docker-compose时找不到Dockerfiles(boot2docker)

时间:2018-03-27 16:36:11

标签: docker docker-compose boot2docker

我希望我错过了一些非常明显的东西,但这就是我面临的情况。

问题

  • 在从网站
  • 执行docker-compose安装步骤后,在Windows上运行docker-compose
  • docker-compose.yml文件在unix系统上运行正常(在Mac上测试过)
  • 当它无法找到yml文件中定义的服务的任何Dockerfiles时,目前在Windows 上立即失败。这是错误:

The error message

注意:上面的图片可能有点令人困惑。下面的环境变量称为GOPATH,但同事计算机上的文件夹也称为GOPATH。这给人的印象是env var设置不正确,但确实如此。

@Bean
    public SessionFactory<LsEntry> sftpSessionFactory() {
        DefaultSftpSessionFactory factory = new DefaultSftpSessionFactory(true);
        factory.setHost(sftpHost);
        factory.setPort(sftpPort);
        factory.setUser(sftpUser);
        factory.setPassword(sftpPwd);
        factory.setAllowUnknownKeys(true);
        return new CachingSessionFactory<LsEntry>(factory);
    }

    @Bean
    @InboundChannelAdapter(channel = "stream", poller = @Poller(cron = "2 * * * * ?"))
    public MessageSource<InputStream> sftpMessageSource() {
        SftpStreamingMessageSource messageSource = new SftpStreamingMessageSource(template());
        messageSource.setRemoteDirectory(remoteDirecotry);
        messageSource.setFilter(new AcceptAllFileListFilter<>());
        return messageSource;
    }

    @Bean
    public SftpRemoteFileTemplate template() {
         return new SftpRemoteFileTemplate(sftpSessionFactory());
    }

    @Bean
    @Transformer(inputChannel = "stream", outputChannel = "data")
    public org.springframework.integration.transformer.Transformer transformer() {
        return new StreamTransformer("UTF-8");
    }


    @ServiceActivator(inputChannel = "data" ,adviceChain = "afterChain")
    @Bean
    public MessageHandler handler() {

        return new MessageHandler() {
            @Override
            public void handleMessage(Message<?> message) throws MessagingException {

                String fileName = message.getHeaders().get("file_remoteFile").toString();               
                if (!StringUtils.isEmpty(message.toString())) {

                else{
                    log.info("No file found in the Remote location");
                }

            }
        };
    }




        @Bean
        public ExpressionEvaluatingRequestHandlerAdvice afterChain() {

            ExpressionEvaluatingRequestHandlerAdvice advice = new ExpressionEvaluatingRequestHandlerAdvice();
            advice.setOnSuccessExpression(
                    "@template.remove(headers['file_remoteDirectory'] + headers['file_remoteFile'])");
            //advice.setOnSuccessExpressionString("@template.remove(headers['file_remoteFile'])");
            advice.setPropagateEvaluationFailures(true);
            return advice;

        }

上面是正在运行的docker-compose.yml文件的片段。确实设置了GOPATH env变量,当遵循列出的目录路径时,我可以确认该文件存在于该位置。

这里是否有一些与OracleBoxVM的交互,boot2docker在没有实际找到该文件的地方使用它?

0 个答案:

没有答案