Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows Docker注册导入_Windows_Docker_Fonts_Registry - Fatal编程技术网

Windows Docker注册导入

Windows Docker注册导入,windows,docker,fonts,registry,Windows,Docker,Fonts,Registry,我正在创建一个需要一些特殊字体(实际上是日语)的docker,我将所有字体复制到各自的文件夹中,但这还不够,它们需要注册。我创建了一个reg文件,以一种简单的方式来实现这一点,并且在容器内部运行良好(字体已安装),但是当我尝试将其包含在docker中时,我得到了一个警告,并且该过程似乎没有运行,字体也没有注册,我尝试了CMD和ENTRYPOINT,但什么都没有 这是docker文件的一部分: FROM microsoft/aspnet ... COPY YUGOTH*.TTC C:/wind

我正在创建一个需要一些特殊字体(实际上是日语)的docker,我将所有字体复制到各自的文件夹中,但这还不够,它们需要注册。我创建了一个reg文件,以一种简单的方式来实现这一点,并且在容器内部运行良好(字体已安装),但是当我尝试将其包含在docker中时,我得到了一个警告,并且该过程似乎没有运行,字体也没有注册,我尝试了CMD和ENTRYPOINT,但什么都没有

这是docker文件的一部分:

FROM microsoft/aspnet

...

COPY YUGOTH*.TTC C:/windows/fonts/
COPY Fonts.reg /
CMD reg import C:\Fonts.reg
# ENTRYPOINT ["reg import C:\Fonts.reg"]
这就是构建,事实上,导入似乎在一个单独的容器(501a7ca70d2b)中运行,然后被删除,这可能是问题所在

我可以在docker外部使用exec参数进行同样的操作,但我需要字体安装自动运行,而不是手动运行

docker exec -d docker_image reg import c:\Fonts.reg
这是我在注册字体时检查的方式(docker内部)

这是Fonts.reg文件

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]
"YUGOTHB"="YUGOTHB.TTC"
"YUGOTHL"="YUGOTHL.TTC"
"YUGOTHM"="YUGOTHM.TTC"
"YUGOTHR"="YUGOTHR.TTC"

尝试使用RUN代替CMD或ENTRYPOINT。

CMD
只设置容器启动时将运行的命令;它不会立即做任何事情。你的意思是在映像构建过程中运行该命令吗?我想注册文件应该在容器启动时运行,没关系,这就可以了,非常感谢
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts]
"YUGOTHB"="YUGOTHB.TTC"
"YUGOTHL"="YUGOTHL.TTC"
"YUGOTHM"="YUGOTHM.TTC"
"YUGOTHR"="YUGOTHR.TTC"