首页 > 解决方案 > 在 docker 中使用 wine 进程而不附加到 shell

问题描述

我正在尝试在 docker 容器中运行一个名为 msconvert 的 Windows 命令行程序。作者提供了一个 docker 映像,使用“docker run”或连接到 docker 机器并从内部运行它时,它工作得很好。所以这在连接到 bash shell 时有效:

我要做的是编写一个脚本,使用 cron 定期使用这个 windows 程序。我遇到的问题是,当没有交互式会话时,葡萄酒似乎无法正常工作。

当我尝试让容器运行 cron 并 cron 启动使用 windows 程序的脚本时,就会出现问题。下面是我所拥有的。

Dockerfile:

FROM chambm/pwiz-skyline-i-agree-to-the-vendor-licenses AS converter


##### System libs setup #######################################################
# Install needed linux tools
RUN echo "deb http://cran.rstudio.com/bin/linux/ubuntu xenial-cran35/" | sudo tee -a /etc/apt/sources.list && \
    gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9 && \
    gpg -a --export E084DAB9 | sudo apt-key add - \
    && \
    apt-get update && \
    apt-get install  -y \
    \
    r-base \
    cron \
    \
    && rm -rf /var/lib/apt

###############################################################################



RUN mkdir /converter_scripts
COPY ./setup/converter_std.R /converter_scripts/converter_std.R
COPY ./setup/converter_std.sh /converter_scripts/converter_std.sh


##### R packages ##########################################################

RUN echo 'options(repos=structure(c(CRAN="http://cran.r-project.org")))' > .Rprofile
RUN R -e "install.packages('BiocManager');BiocManager::install('remotes')"
RUN R -e "BiocManager::install('bnosac/cronR')"
RUN R -e "library(cronR);cmd <- cron_rscript('/converter_scripts/converter_std.sh', cmd = '/bin/bash', rscript_log = '/var/log/converter_std.log');cron_add(cmd, frequency = '*/1 * * * *', id = 'Auto converter', description = 'Convert all new files every 1 minute')"

码头工人组成:

  ms_converter:
    build:
      context: .
      dockerfile: ./setup/Dockerfile_converter
      target: converter
    volumes:
        - type: bind
          source: C:\Users\tmh331\Desktop\gits\QC4Metabolomics_test\data
          target: /data   
    restart: always
    environment:
      TZ: Europe/Copenhagen
      msconvert_args: --filter "scanEvent 1" --mzML --zlib --64
    command: 'cron -f'

运行 R 脚本的 Bash 脚本:

#!/bin/bash

[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -n "$0" "$0" "$@" || :

/usr/bin/Rscript '/converter_scripts/converter_std.R'

R脚本:

files <- list.files("/data", recursive = TRUE, include.dirs = TRUE, pattern = ".raw", full.names = TRUE)

# sudo -E -u root wine /wineprefix64/drive_c/pwiz/msconvert
# Xvfb $DISPLAY -nolisten tcp & wine /wineprefix64/drive_c/pwiz/msconvert
cmd <- paste0('wine64_anyuser /wineprefix64/drive_c/pwiz/msconvert "',files,'" ', Sys.getenv("msconvert_args"), ' --outdir "',dirname(files),'"')

sapply(cmd, system)

错误:

wine: created the configuration directory '/root/.wine'
0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0012:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0012:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0012:err:ole:get_local_server_stream Failed: 80004002
000b:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
000b:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
0014:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0014:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
0014:err:ole:apartment_createwindowifneeded CreateWindow failed with error 0
0014:err:ole:apartment_createwindowifneeded CreateWindow failed with error 0
0014:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0014:err:ole:apartment_createwindowifneeded CreateWindow failed with error 14007
0014:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x800736b7
0014:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 800736b7
0014:err:ole:get_local_server_stream Failed: 800736b7
0010:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0010:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
0016:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0016:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
0018:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0018:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
Could not load wine-gecko. HTML rendering will be disabled.
0028:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0028:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
002a:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
002a:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
Could not load wine-gecko. HTML rendering will be disabled.
wine: configuration in '/root/.wine' has been updated.
0009:fixme:vcruntime:__telemetry_main_invoke_trigger (0x7fe65000000)
0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x23e4b0 1 C) semi-stub
0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x23e520 1 C) semi-stub
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"configSections" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"dependentAssembly" in state 0
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"assemblyIdentity" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"codeBase" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"UserLogConfig" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"DataServiceConfig" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"DataProviderAssemblies" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"DataProviders" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Configuration" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"CommonSettings" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Locator" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"sectionExtension" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"containers" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"container" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"property" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"param" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"property" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"SecurityConfig" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Authenticators" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Authorizers" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"SecurityRepositories" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"add" in state 6
0009:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.0" not implemented
0009:err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed
0009:fixme:msvcrt:__clean_type_info_names_internal (0x1ad4d28) stub
0009:fixme:vcruntime:__telemetry_main_return_trigger (0x7fe65000000)



根据我在网上可以找到的关于这个问题的内容,我还在 R 脚本中尝试了以下内容

xvfb-run -a wine64_anyuser /wineprefix64/drive_c/pwiz/msconvert [...]

而是得到了这些错误:

wine: created the configuration directory '/root/.wine'
0014:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0014:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0014:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0014:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0014:err:ole:get_local_server_stream Failed: 80004002
0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0012:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0012:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0012:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0012:err:ole:get_local_server_stream Failed: 80004002



如果我在 shell 中使用 sudo,我也会收到类似的错误:

sudo wine64_anyuser /wineprefix64/drive_c/pwiz/msconvert
0009:fixme:vcruntime:__telemetry_main_invoke_trigger (0x7fe65000000)
0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x23e4b0 1 C) semi-stub
0009:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x23e520 1 C) semi-stub
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"configSections" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"section" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"dependentAssembly" in state 0
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"assemblyIdentity" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"codeBase" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"UserLogConfig" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"DataServiceConfig" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"DataProviderAssemblies" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"DataProviders" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Configuration" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"CommonSettings" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Locator" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"sectionExtension" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"containers" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"container" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"property" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"param" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"constructor" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"property" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"register" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"lifetime" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"SecurityConfig" in state 2
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Authenticators" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"Authorizers" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"add" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"SecurityRepositories" in state 6
0009:fixme:mscoree:ConfigFileHandler_startElement Unknown element L"add" in state 6
0009:fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.0" not implemented
0009:err:mscoree:CLRRuntimeInfo_GetRuntimeHost Wine Mono is not installed
0009:fixme:msvcrt:__clean_type_info_names_internal (0x1ad4d28) stub
0009:fixme:vcruntime:__telemetry_main_return_trigger (0x7fe65000000)

还发布到程序 github:https ://github.com/ProteoWizard/container/issues/5

标签: dockerdocker-composedockerfilewine

解决方案


在原始 docker 镜像的帮助下找到了一种方法。

诀窍是在启动 cron (链接)之前保存环境变量。然后在启动需要它们的过程之前找到它们。

所以docker应该运行一个脚本:

#!/bin/bash
printenv | sed 's/^\([a-zA-Z0-9_]*\)=\(.*\)$/export \1="\2"/g' > $HOME/env.sh

echo 'Starting cron'
cron -f

然后脚本 cron 启动可能是:

#!/bin/bash
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -n "$0" "$0" "$@" || :

# import env that was saved before starting cron
. $HOME/env.sh

# Start R script
/usr/bin/Rscript '/converter_scripts/converter_std.R'

推荐阅读