forked from getzola/zola
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add multi-stage dockerfile build example (getzola#2327)
* Add multi-stage dockerfile build example * Simplify install instructions, add docker image deployment example
- Loading branch information
1 parent
714681a
commit ecbc902
Showing
2 changed files
with
49 additions
and
0 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 |
---|---|---|
@@ -0,0 +1,36 @@ | ||
+++ | ||
title = "Docker image" | ||
weight = 90 | ||
+++ | ||
|
||
If you have to distribute a Zola based web site through Docker, it's easy to do with a multi-stage build. | ||
|
||
Here is an example that builds the current folder, and put the result in a docker image that will be served by | ||
[static-web-server](https://static-web-server.net/), a minimalist web server written in rust. | ||
|
||
Of course, you may want to replace the second stage with another static web server like Nginx or Apache. | ||
|
||
```Dockerfile | ||
FROM ghcr.io/getzola/zola:v0.17.1 as zola | ||
|
||
COPY . /project | ||
WORKDIR /project | ||
RUN ["zola", "build"] | ||
|
||
FROM ghcr.io/static-web-server/static-web-server:2 | ||
WORKDIR / | ||
COPY --from=zola /project/public /public | ||
``` | ||
|
||
To build your website as a docker image, you then run: | ||
```shell | ||
docker build -t my_website:latest . | ||
``` | ||
|
||
To test your site, just run the docker image and browse [http://localhost:8000](http://localhost:8000) | ||
|
||
``` | ||
docker run --rm -p 8000:80 my_website:latest | ||
``` | ||
|
||
Note that, if you want to be able to use your docker image from multiple locations, you'll have to set `base_url` to `/`. |
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