]> git.immae.eu Git - github/shaarli/Shaarli.git/blob - doc/Docker.md
1faa7904e8d77382722652ebce4cb53455d40f3f
[github/shaarli/Shaarli.git] / doc / Docker.md
1 #Docker
2 - [Docker usage](#docker-usage)[](.html)
3 - [Get and run a Shaarli image](#get-and-run-a-shaarli-image)[](.html)
4 - [Resources](#resources)[](.html)
5
6 ## Docker usage
7 ### Basics
8 Install [Docker](https://www.docker.com/), by following the instructions relevant[](.html)
9 to your OS / distribution, and start the service.
10
11 #### Search an image on [DockerHub](https://hub.docker.com/)[](.html)
12
13 ```bash
14 $ docker search debian
15
16 NAME DESCRIPTION STARS OFFICIAL AUTOMATED
17 ubuntu Ubuntu is a Debian-based Linux operating s... 2065 [OK][](.html)
18 debian Debian is a Linux distribution that's comp... 603 [OK][](.html)
19 google/debian 47 [OK][](.html)
20 ```
21
22 #### Show available tags for a repository
23 ```bash
24 $ curl https://index.docker.io/v1/repositories/debian/tags | python -m json.tool
25
26 % Total % Received % Xferd Average Speed Time Time Time Current
27 Dload Upload Total Spent Left Speed
28 100 1283 0 1283 0 0 433 0 --:--:-- 0:00:02 --:--:-- 433
29 ```
30
31 Sample output:
32 ```json
33 [[](.html)
34 {
35 "layer": "85a02782",
36 "name": "stretch"
37 },
38 {
39 "layer": "59abecbc",
40 "name": "testing"
41 },
42 {
43 "layer": "bf0fd686",
44 "name": "unstable"
45 },
46 {
47 "layer": "60c52dbe",
48 "name": "wheezy"
49 },
50 {
51 "layer": "c5b806fe",
52 "name": "wheezy-backports"
53 }
54 ]
55
56 ```
57
58 #### Pull an image from DockerHub
59 ```bash
60 $ docker pull repository[:tag][](.html)
61
62 $ docker pull debian:wheezy
63 wheezy: Pulling from debian
64 4c8cbfd2973e: Pull complete
65 60c52dbe9d91: Pull complete
66 Digest: sha256:c584131da2ac1948aa3e66468a4424b6aea2f33acba7cec0b631bdb56254c4fe
67 Status: Downloaded newer image for debian:wheezy
68 ```
69
70 ## Get and run a Shaarli image
71 ### DockerHub repository
72 The images can be found in the [`shaarli/shaarli`](https://hub.docker.com/r/shaarli/shaarli/)[](.html)
73 repository.
74
75 ### Available image tags
76 - `latest`: master branch (tarball release)
77 - `stable`: stable branch (tarball release)
78 - `dev`: master branch (Git clone)
79
80 All images rely on:
81 - [Debian 8 Jessie](https://hub.docker.com/_/debian/)[](.html)
82 - [PHP5-FPM](http://php-fpm.org/)[](.html)
83 - [Nginx](http://nginx.org/)[](.html)
84
85 ### Download from DockerHub
86 ```bash
87 $ docker pull shaarli/shaarli
88 latest: Pulling from shaarli/shaarli
89 32716d9fcddb: Pull complete
90 84899d045435: Pull complete
91 4b6ad7444763: Pull complete
92 e0345ef7a3e0: Pull complete
93 5c1dd344094f: Pull complete
94 6422305a200b: Pull complete
95 7d63f861dbef: Pull complete
96 3eb97210645c: Pull complete
97 869319d746ff: Already exists
98 869319d746ff: Pulling fs layer
99 902b87aaaec9: Already exists
100 Digest: sha256:f836b4627b958b3f83f59c332f22f02fcd495ace3056f2be2c4912bd8704cc98
101 Status: Downloaded newer image for shaarli/shaarli:latest
102 ```
103
104 ### Create and start a new container from the image
105 ```bash
106 # map the host's :8000 port to the container's :80 port
107 $ docker create -p 8000:80 shaarli/shaarli
108 d40b7af693d678958adedfb88f87d6ea0237186c23de5c4102a55a8fcb499101
109
110 # launch the container in the background
111 $ docker start d40b7af693d678958adedfb88f87d6ea0237186c23de5c4102a55a8fcb499101
112 d40b7af693d678958adedfb88f87d6ea0237186c23de5c4102a55a8fcb499101
113
114 # list active containers
115 $ docker ps
116 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
117 d40b7af693d6 shaarli/shaarli /usr/bin/supervisor 15 seconds ago Up 4 seconds 0.0.0.0:8000->80/tcp backstabbing_galileo
118 ```
119
120 ### Stop and destroy a container
121 ```bash
122 $ docker stop backstabbing_galileo # those docker guys are really rude to physicists!
123 backstabbing_galileo
124
125 # check the container is stopped
126 $ docker ps
127 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
128
129 # list ALL containers
130 $ docker ps -a
131 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
132 d40b7af693d6 shaarli/shaarli /usr/bin/supervisor 5 minutes ago Exited (0) 48 seconds ago backstabbing_galileo
133
134 # destroy the container
135 $ docker rm backstabbing_galileo # let's put an end to these barbarian practices
136 backstabbing_galileo
137
138 $ docker ps -a
139 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
140 ```
141
142 ## Resources
143 ### Docker
144 - [Where are Docker images stored?](http://blog.thoward37.me/articles/where-are-docker-images-stored/)[](.html)
145 - [Dockerfile reference](https://docs.docker.com/reference/builder/)[](.html)
146 - [Dockerfile best practices](https://docs.docker.com/articles/dockerfile_best-practices/)[](.html)
147 - [Volumes](https://docs.docker.com/userguide/dockervolumes/)[](.html)
148
149 ### DockerHub
150 - [Repositories](https://docs.docker.com/userguide/dockerrepos/)[](.html)
151 - [Teams and organizations](https://docs.docker.com/docker-hub/orgs/)[](.html)
152 - [GitHub automated build](https://docs.docker.com/docker-hub/github/)[](.html)
153
154 ### Service management
155 - [Using supervisord](https://docs.docker.com/articles/using_supervisord/)[](.html)
156 - [Nginx in the foreground](http://nginx.org/en/docs/ngx_core_module.html#daemon)[](.html)
157 - [supervisord](http://supervisord.org/)[](.html)