]>
Commit | Line | Data |
---|---|---|
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) |