Tools, FAQ, Tutorials:
Use "ENV" Instruction on Windows Image
How to use "ENV" Instruction in Dockerfile for Windows images?
✍: FYIcenter.com
In a Linux environment, the "ENV" instruction does two things in the image build process:
However, the "ENV" instruction seems not able to provide local variables. But it does inserting an environment variable to the Windows image.
1. Enter the following Dockerfile, JavaImage, to try the "ENV" instruction:
C:\fyicenter> type JavaImage FROM openjdk ENV CLASSPATH="C:\\FYI Center" RUN ["PowerShell", "Get-ChildItem", "Env:CLASSPATH"] # RUN ["PowerShell", "mkdir", $CLASSPATH] RUN ["PowerShell", "mkdir", "\"C:\\FYI Center\""] COPY ["Hello.java", "C:/FYI Center/Hello.java"] RUN ["javac", "C:\\FYI Center\\Hello.java"] ENTRYPOINT ["java", "Hello"]
2. Build the image and run it:
C:\fyicenter> docker build --file JavaImage --tag myjava . Sending build context to Docker daemon 12.87MB Step 1/7 : FROM openjdk Step 2/7 : ENV CLASSPATH="C:\\FYI Center" Step 3/7 : RUN ["PowerShell", "Get-ChildItem", "Env:CLASSPATH"] Name Value ---- ----- CLASSPATH C:\FYI Center Step 4/7 : RUN ["PowerShell", "mkdir", "\"C:\\FYI Center\""] Mode Length Name ---- ------ ---- d----- FYI Center Step 5/7 : COPY ["Hello.java", "C:/FYI Center/Hello.java"] Step 6/7 : RUN ["javac", "C:\\FYI Center\\Hello.java"] Step 7/7 : ENTRYPOINT ["java", "Hello"] Successfully built 110a378f5d8a Successfully tagged myjava:latest C:\fyicenter> docker run --name myjava myjava Hello world! C:\fyicenter> docker rm myjava C:\fyicenter> docker image rm myjava
Ok, we are able to use "ENV" instruction to insert an environment variable to the Windows image.
⇒ Docker Container Platform - Tutorials
⇐ "shell" Format vs. "exec" Format
2021-11-30, 708🔥, 0💬
Popular Posts:
How to Install Docker Desktop on Windows 10? You can follow this tutorial to Install Docker Desktop ...
How to use the "set-body" Policy Statement for an Azure API service operation? The "set-body" Policy...
What is the Azure AD v1.0 OpenID Metadata Document? Azure AD v1.0 OpenID Metadata Document is an onl...
How to add request URL Template Parameters to my Azure API operation to make it more user friendly? ...
How To Merge Cells in a Column? If you want to merge multiple cells vertically in a row, you need to...