diff options
Diffstat (limited to 'doc/md/docker/shaarli-images.md')
-rw-r--r-- | doc/md/docker/shaarli-images.md | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/doc/md/docker/shaarli-images.md b/doc/md/docker/shaarli-images.md deleted file mode 100644 index 5948949a..00000000 --- a/doc/md/docker/shaarli-images.md +++ /dev/null | |||
@@ -1,124 +0,0 @@ | |||
1 | A brief guide on getting starting using docker is given in [Docker 101](docker-101.md). | ||
2 | To learn more about user data and how to keep it across versions, please see [Upgrade and Migration](../Upgrade-and-migration.md). | ||
3 | |||
4 | ## Get and run a Shaarli image | ||
5 | |||
6 | ### DockerHub repository | ||
7 | The images can be found in the [`shaarli/shaarli`](https://hub.docker.com/r/shaarli/shaarli/) | ||
8 | repository. | ||
9 | |||
10 | ### Available image tags | ||
11 | - `latest`: latest branch | ||
12 | - `master`: master branch | ||
13 | - `stable`: stable branch | ||
14 | |||
15 | The `latest` and `master` images rely on: | ||
16 | |||
17 | - [Alpine Linux](https://www.alpinelinux.org/) | ||
18 | - [PHP7-FPM](http://php-fpm.org/) | ||
19 | - [Nginx](http://nginx.org/) | ||
20 | |||
21 | The `stable` image relies on: | ||
22 | |||
23 | - [Debian 8 Jessie](https://hub.docker.com/_/debian/) | ||
24 | - [PHP5-FPM](http://php-fpm.org/) | ||
25 | - [Nginx](http://nginx.org/) | ||
26 | |||
27 | Additional Dockerfiles are provided for the `arm32v7` platform, relying on | ||
28 | [Linuxserver.io Alpine armhf | ||
29 | images](https://hub.docker.com/r/lsiobase/alpine.armhf/). These images must be | ||
30 | built using [`docker | ||
31 | build`](https://docs.docker.com/engine/reference/commandline/build/) on an | ||
32 | `arm32v7` machine or using an emulator such as | ||
33 | [qemu](https://resin.io/blog/building-arm-containers-on-any-x86-machine-even-dockerhub/). | ||
34 | |||
35 | ### Download from Docker Hub | ||
36 | ```shell | ||
37 | $ docker pull shaarli/shaarli | ||
38 | |||
39 | latest: Pulling from shaarli/shaarli | ||
40 | 32716d9fcddb: Pull complete | ||
41 | 84899d045435: Pull complete | ||
42 | 4b6ad7444763: Pull complete | ||
43 | e0345ef7a3e0: Pull complete | ||
44 | 5c1dd344094f: Pull complete | ||
45 | 6422305a200b: Pull complete | ||
46 | 7d63f861dbef: Pull complete | ||
47 | 3eb97210645c: Pull complete | ||
48 | 869319d746ff: Already exists | ||
49 | 869319d746ff: Pulling fs layer | ||
50 | 902b87aaaec9: Already exists | ||
51 | Digest: sha256:f836b4627b958b3f83f59c332f22f02fcd495ace3056f2be2c4912bd8704cc98 | ||
52 | Status: Downloaded newer image for shaarli/shaarli:latest | ||
53 | ``` | ||
54 | |||
55 | ### Create and start a new container from the image | ||
56 | ```shell | ||
57 | # map the host's :8000 port to the container's :80 port | ||
58 | $ docker create -p 8000:80 shaarli/shaarli | ||
59 | d40b7af693d678958adedfb88f87d6ea0237186c23de5c4102a55a8fcb499101 | ||
60 | |||
61 | # launch the container in the background | ||
62 | $ docker start d40b7af693d678958adedfb88f87d6ea0237186c23de5c4102a55a8fcb499101 | ||
63 | d40b7af693d678958adedfb88f87d6ea0237186c23de5c4102a55a8fcb499101 | ||
64 | |||
65 | # list active containers | ||
66 | $ docker ps | ||
67 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | ||
68 | d40b7af693d6 shaarli/shaarli /usr/bin/supervisor 15 seconds ago Up 4 seconds 0.0.0.0:8000->80/tcp backstabbing_galileo | ||
69 | ``` | ||
70 | |||
71 | ### Stop and destroy a container | ||
72 | ```shell | ||
73 | $ docker stop backstabbing_galileo # those docker guys are really rude to physicists! | ||
74 | backstabbing_galileo | ||
75 | |||
76 | # check the container is stopped | ||
77 | $ docker ps | ||
78 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | ||
79 | |||
80 | # list ALL containers | ||
81 | $ docker ps -a | ||
82 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | ||
83 | d40b7af693d6 shaarli/shaarli /usr/bin/supervisor 5 minutes ago Exited (0) 48 seconds ago backstabbing_galileo | ||
84 | |||
85 | # destroy the container | ||
86 | $ docker rm backstabbing_galileo # let's put an end to these barbarian practices | ||
87 | backstabbing_galileo | ||
88 | |||
89 | $ docker ps -a | ||
90 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | ||
91 | ``` | ||
92 | |||
93 | ### Automatic builds | ||
94 | Docker users can start a personal instance from an | ||
95 | [autobuild image](https://hub.docker.com/r/shaarli/shaarli/). | ||
96 | For example to start a temporary Shaarli at ``localhost:8000``, and keep session | ||
97 | data (config, storage): | ||
98 | |||
99 | ```shell | ||
100 | MY_SHAARLI_VOLUME=$(cd /path/to/shaarli/data/ && pwd -P) | ||
101 | docker run -ti --rm \ | ||
102 | -p 8000:80 \ | ||
103 | -v $MY_SHAARLI_VOLUME:/var/www/shaarli/data \ | ||
104 | shaarli/shaarli | ||
105 | ``` | ||
106 | |||
107 | ### Volumes and data persistence | ||
108 | Data can be persisted by [using volumes](https://docs.docker.com/storage/volumes/). | ||
109 | Volumes allow to keep your data when renewing and/or updating container images: | ||
110 | |||
111 | ```shell | ||
112 | # Create data volumes | ||
113 | $ docker volume create shaarli-data | ||
114 | $ docker volume create shaarli-cache | ||
115 | |||
116 | # Create and start a Shaarli container using these volumes to persist data | ||
117 | $ docker create \ | ||
118 | --name shaarli \ | ||
119 | -v shaarli-cache:/var/www/shaarli/cache \ | ||
120 | -v shaarli-data:/var/www/shaarli/data \ | ||
121 | -p 8000:80 \ | ||
122 | shaarli/shaarli:master | ||
123 | $ docker start shaarli | ||
124 | ``` | ||