Sat*_*h M 5 docker dockerfile windows-container
我必须创建一个 Windows 容器映像,并在其中安装我们的应用程序。我们的应用程序在安装过程中在多个地方使用主机名。该docker build命令没有传递主机名的选项 - 因此我们目前陷入这样的境地:当我们运行创建了映像的容器时,我们的应用程序无法运行,因为它期望主机名是在运行期间生成的名称。图像创建时间,而不是我们传递给docker run命令的时间。
在安装我们的应用程序之前,我尝试使用此问题的建议更改容器内的主机名- 但它不起作用。
我想了解是否有办法可以从 Windows 容器内更改主机名。
以下内容对我有用 -
rename-computer.ps1:
$ComputerName = "New Name"
Remove-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "Hostname"
Remove-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "NV Hostname"
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Computername\Computername" -name "Computername" -value $ComputerName
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\Computername\ActiveComputername" -name "Computername" -value $ComputerName
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "Hostname" -value $ComputerName
Set-ItemProperty -path "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" -name "NV Hostname" -value $ComputerName
Set-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -name "AltDefaultDomainName" -value $ComputerName
Set-ItemProperty -path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" -name "DefaultDomainName" -value $ComputerName
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
COPY "rename-computer.ps1" "C:/"
RUN powershell -command "Set-ExecutionPolicy RemoteSigned" \
&& powershell -command "C:/rename-computer.ps1 ; hostname" \
&& powershell -command "Set-ExecutionPolicy Restricted" \
&& <your installer runs here>
Run Code Online (Sandbox Code Playgroud)
来源 -
https://serverfault.com/a/731832/845133
https://gist.github.com/timnew/2373475
| 归档时间: |
|
| 查看次数: |
483 次 |
| 最近记录: |