-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
323993d
commit 27860c1
Showing
250 changed files
with
225,184 additions
and
11,731 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,91 +1,11 @@ | ||
# This Dockerfile builds the docs for https://docs.docker.com/ | ||
# from the master branch of https://github.com/docker/docker.github.io | ||
# | ||
# Here is the sequence: | ||
# 1. Set up the build | ||
# 2. Fetch upstream resources | ||
# 3. Build static HTML from master | ||
# 4. Reset to clean tiny nginx image | ||
# 5. Copy Nginx config and archive HTML, which don't change often and can be cached | ||
# 6. Copy static HTML from previous build stage (step 3) | ||
# | ||
# When the image is run, it starts Nginx and serves the docs at port 4000 | ||
# Set to the version for this archive | ||
ARG VER=v18.03 | ||
|
||
# Get basic configs and Jekyll env | ||
FROM docs/docker.github.io:docs-builder AS builder | ||
# This image comes from the Dockerfile.onbuild file in the docs-builder branch | ||
# https://github.com/docker/docker.github.io/blob/docs-builder/Dockerfile.onbuild | ||
FROM docs/docker.github.io:docs-builder-onbuild AS builder | ||
|
||
# Set the target again | ||
ENV TARGET=/usr/share/nginx/html | ||
|
||
# Set the source directory to md_source | ||
ENV SOURCE=md_source | ||
|
||
# Get the current docs from the checked out branch | ||
# ${SOURCE} will contain a directory for each archive | ||
COPY . ${SOURCE} | ||
|
||
####### START UPSTREAM RESOURCES ######## | ||
# Set vars used by fetch-upstream-resources.sh script | ||
## Branch to pull from, per ref doc | ||
## To get master from svn the svn branch needs to be 'trunk'. To get a branch from svn it needs to be 'branches/branchname' | ||
|
||
# Engine | ||
ENV ENGINE_SVN_BRANCH="branches/17.09.x" | ||
ENV ENGINE_BRANCH="17.09.x" | ||
|
||
# Distribution | ||
ENV DISTRIBUTION_SVN_BRANCH="branches/release/2.6" | ||
ENV DISTRIBUTION_BRANCH="release/2.6" | ||
|
||
# Fetch upstream resources | ||
RUN bash ./${SOURCE}/_scripts/fetch-upstream-resources.sh ${SOURCE} | ||
####### END UPSTREAM RESOURCES ######## | ||
|
||
|
||
# Build the static HTML, now that everything is in place | ||
|
||
RUN jekyll build -s ${SOURCE} -d ${TARGET} --config ${SOURCE}/_config.yml | ||
|
||
# Fix up some links, don't touch the archives | ||
RUN find ${TARGET} -type f -name '*.html' | grep -vE "v[0-9]+\." | while read i; do sed -i 's#href="https://docs.docker.com/#href="/#g' "$i"; done | ||
|
||
# BUILD OF MASTER DOCS IS NOW DONE! | ||
|
||
# Reset to alpine so we don't get any docs source or extra apps | ||
FROM nginx:alpine | ||
|
||
# Set the target again | ||
ENV TARGET=/usr/share/nginx/html | ||
|
||
# Get the nginx config from the nginx-onbuild image | ||
# This hardly ever changes so should usually be cached | ||
COPY --from=docs/docker.github.io:nginx-onbuild /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf | ||
|
||
# Get all the archive static HTML and put it into place | ||
# Go oldest-to-newest to take advantage of the fact that we change older | ||
# archives less often than new ones. | ||
# To add a new archive, add it here | ||
# AND ALSO edit _data/docsarchives/archives.yaml to add it to the drop-down | ||
COPY --from=docs/docker.github.io:v1.4 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.5 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.6 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.7 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.8 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.9 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.10 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.11 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.12 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v1.13 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v17.03 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v17.06 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v17.09 ${TARGET} ${TARGET} | ||
COPY --from=docs/docker.github.io:v17.12 ${TARGET} ${TARGET} | ||
|
||
# Get the built docs output from the previous build stage | ||
# This ordering means all previous layers can come from cache unless an archive | ||
# changes | ||
|
||
COPY --from=builder ${TARGET} ${TARGET} | ||
|
||
# Serve the site (target), which is now all static HTML | ||
CMD echo -e "Docker docs are viewable at:\nhttp://0.0.0.0:4000"; exec nginx -g 'daemon off;' | ||
# Reset the docs:onbuild image, which is based on nginx:alpine | ||
# This image comes from the Dockerfile in the nginx-onbuild branch | ||
# https://github.com/docker/docker.github.io/blob/nginx-onbuild/Dockerfile | ||
FROM docs/docker.github.io:nginx-onbuild |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.