diff --git a/update.sh b/update.sh index 7c5c92cd4..967961aee 100755 --- a/update.sh +++ b/update.sh @@ -31,4 +31,20 @@ docker cp $ID:/go/src/github.com/docker/distribution/cmd/registry/config-example docker rm -f $ID docker rmi distribution-builder +echo "Building Windows binary" + +docker build --build-arg GOOS=windows -t distribution-builder:windows $TEMP + +ID=$(docker create distribution-builder:windows) + +docker cp $ID:/go/bin/registry windows/nanoserver/registry/registry.exe +cp registry/config-example.yml windows/nanoserver/registry +sed -i.bak 's_/var/lib/registry_c:\\data_' windows/nanoserver/registry/config-example.yml + +cp windows/nanoserver/registry/ windows/windowsservercore/registry/ + +# Cleanup. +docker rm -f $ID +docker rmi distribution-builder:windows + echo "Done." diff --git a/windows/nanoserver/Dockerfile b/windows/nanoserver/Dockerfile new file mode 100644 index 000000000..abbf1a71b --- /dev/null +++ b/windows/nanoserver/Dockerfile @@ -0,0 +1,12 @@ +# escape=` +FROM microsoft/nanoserver:10.0.14393.1198 + +WORKDIR C:\registry +COPY ./registry/registry.exe registry.exe +COPY ./registry/config-example.yml config.yml + +VOLUME ["c:\\data"] +EXPOSE 5000 + +ENTRYPOINT ["registry.exe", "serve"] +CMD ["config.yml"] \ No newline at end of file diff --git a/windows/nanoserver/registry/config-example.yml b/windows/nanoserver/registry/config-example.yml new file mode 100644 index 000000000..f2cf3a721 --- /dev/null +++ b/windows/nanoserver/registry/config-example.yml @@ -0,0 +1,18 @@ +version: 0.1 +log: + fields: + service: registry +storage: + cache: + blobdescriptor: inmemory + filesystem: + rootdirectory: c:\data +http: + addr: :5000 + headers: + X-Content-Type-Options: [nosniff] +health: + storagedriver: + enabled: true + interval: 10s + threshold: 3 diff --git a/windows/nanoserver/registry/registry.exe b/windows/nanoserver/registry/registry.exe new file mode 100644 index 000000000..136fa15a6 Binary files /dev/null and b/windows/nanoserver/registry/registry.exe differ diff --git a/windows/windowsservercore/Dockerfile b/windows/windowsservercore/Dockerfile new file mode 100644 index 000000000..b5459d9c8 --- /dev/null +++ b/windows/windowsservercore/Dockerfile @@ -0,0 +1,12 @@ +# escape=` +FROM microsoft/windowsservercore:10.0.14393.1198 + +WORKDIR C:\registry +COPY ./registry/registry.exe registry.exe +COPY ./registry/config-example.yml config.yml + +VOLUME ["c:\\data"] +EXPOSE 5000 + +ENTRYPOINT ["registry.exe", "serve"] +CMD ["config.yml"] \ No newline at end of file diff --git a/windows/windowsservercore/registry/config-example.yml b/windows/windowsservercore/registry/config-example.yml new file mode 100644 index 000000000..f2cf3a721 --- /dev/null +++ b/windows/windowsservercore/registry/config-example.yml @@ -0,0 +1,18 @@ +version: 0.1 +log: + fields: + service: registry +storage: + cache: + blobdescriptor: inmemory + filesystem: + rootdirectory: c:\data +http: + addr: :5000 + headers: + X-Content-Type-Options: [nosniff] +health: + storagedriver: + enabled: true + interval: 10s + threshold: 3 diff --git a/windows/windowsservercore/registry/registry.exe b/windows/windowsservercore/registry/registry.exe new file mode 100644 index 000000000..136fa15a6 Binary files /dev/null and b/windows/windowsservercore/registry/registry.exe differ