13 | | 1. How to build containers? |
14 | | 1. Where to store application and container configuration/build information, and how? |
15 | | 1. Should we maintain our own Docker Registry? |
16 | | 1. How do we manage logging from within containers? |
17 | | 1. Which Linux distro for containers? Security aspects? |
18 | | 1. Backup strategy? Disk quota? |
19 | | 1. ... |
| 12 | 1. How to build containers? Packer vs. Dockerfile? |
| 13 | 1. Where to store application and container configuration/build information, and how? |
| 14 | 1. Should we maintain our own Docker Registry? |
| 15 | 1. How do we manage logging from within containers? |
| 16 | 1. Which Linux distro for containers? Security aspects? Alpine Linux v. other? |
| 17 | 1. Backup strategy? Disk quota? Snapshots, tarballs within container, etc.? |
| 18 | 1. ... |
41 | | ||Variable data on which app configuration does not directly depend||on volume per content set|| |
42 | | ||Application configuration||within image of application|| |
43 | | ||Global configuration (used by more than one container)||on volume per type of configuration|| |
44 | | ||Secrets (passwords, private key files)||on isolated volume (exactly the same across hypervisors)|| |
| 49 | || Variable data on which app configuration does not directly depend || on volume per content set || |
| 50 | || Application configuration || within image of application || |
| 51 | || Global configuration (used by more than one container) || on volume per type of configuration || |
| 52 | || Secrets (passwords, private key files) || on isolated volume (exactly the same across hypervisors) || |
72 | | ## Naming ## |
73 | | '''Volumes''': |
| 80 | |
| 81 | ## Naming |
| 82 | |
| 83 | ## '''Volumes''': ... '''Volume containers''': ... '''Containers''': ... '''Images''': ... '''Git repositories''': |
| 84 | |
| 85 | ## Managing containers ## |
| 86 | |
| 87 | * Willem has worked on creating shell scripts to manage Docker containers based on images and Dockerfiles. |
| 88 | * Sander has worked on creating shell scripts to manage Docker containers based on Packerfiles. |
| 89 | |
| 90 | Listing running containers: |
| 91 | |
| 92 | {{{ |
| 93 | #!sh |
| 94 | |
| 95 | docker ps |
| 96 | }}} |
| 97 | Listing all (including stopped) containers: |
| 98 | |
| 99 | {{{ |
| 100 | #!sh |
| 101 | |
| 102 | docker ps -a |
| 103 | }}} |
| 104 | Starting, stopping and restarting containers: |
| 105 | |
| 106 | {{{ |
| 107 | #!sh |
| 108 | |
| 109 | docker [start|stop|restart] <container_name> |
| 110 | }}} |
| 111 | Connecting to a container to e.g. look at log files or modify configuration: |
| 112 | |
| 113 | {{{ |
| 114 | #!sh |
| 115 | |
| 116 | docker exec -ti <container_name> /bin/bash |
| 117 | }}} |
| 118 | Tailing the container output: |
| 119 | |
| 120 | {{{ |
| 121 | #!sh |
| 122 | |
| 123 | docker logs -f --tail=100 <container_name> |
| 124 | }}} |
| 125 | Kill all running containers: |
| 126 | |
| 127 | {{{ |
| 128 | #!sh |
| 129 | |
| 130 | docker kill $(docker ps -q) |
| 131 | }}} |
| 132 | ## Managing images ## |
| 133 | |
| 134 | Listing all images: |
| 135 | |
| 136 | {{{ |
| 137 | #!sh |
| 138 | |
| 139 | docker images |
| 140 | }}} |
| 141 | Cleaning up unused (untagged/dangling) images: |
| 142 | |
| 143 | {{{ |
| 144 | #!sh |
| 145 | |
| 146 | docker rmi $(docker images -q -f dangling=true) |
| 147 | }}} |
| 148 | ## Docker registry at https://docker.clarin.eu/ ## |
| 149 | |
75 | | '''Volume containers''': |
76 | | ... |
77 | | '''Containers''': |
78 | | ... |
79 | | '''Images''': |
80 | | ... |
81 | | '''Git repositories''': |
82 | | |
83 | | ## Managing containers ## |
84 | | |
85 | | * Willem has worked on creating shell scripts to manage Docker containers based on images and Dockerfiles. |
86 | | * Sander has worked on creating shell scripts to manage Docker containers based on Packerfiles. |
87 | | |
88 | | Listing running containers: |
89 | | {{{ |
90 | | #!sh |
91 | | |
92 | | docker ps |
93 | | }}} |
94 | | |
95 | | Listing all (including stopped) containers: |
96 | | {{{ |
97 | | #!sh |
98 | | |
99 | | docker ps -a |
100 | | }}} |
101 | | |
102 | | Starting, stopping and restarting containers: |
103 | | {{{ |
104 | | #!sh |
105 | | |
106 | | docker [start|stop|restart] <container_name> |
107 | | }}} |
108 | | |
109 | | Connecting to a container to e.g. look at log files or modify configuration: |
110 | | {{{ |
111 | | #!sh |
112 | | |
113 | | docker exec -ti <container_name> /bin/bash |
114 | | }}} |
115 | | |
116 | | Tailing the container output: |
117 | | {{{ |
118 | | #!sh |
119 | | |
120 | | docker logs -f --tail=100 <container_name> |
121 | | }}} |
122 | | |
123 | | Kill all running containers: |
124 | | {{{ |
125 | | #!sh |
126 | | |
127 | | docker kill $(docker ps -q) |
128 | | }}} |
129 | | |
130 | | ## Managing images ## |
131 | | |
132 | | Listing all images: |
133 | | {{{ |
134 | | #!sh |
135 | | |
136 | | docker images |
137 | | }}} |
138 | | |
139 | | Cleaning up unused (untagged/dangling) images: |
140 | | {{{ |
141 | | #!sh |
142 | | |
143 | | docker rmi $(docker images -q -f dangling=true) |
144 | | }}} |
145 | | |
146 | | ## Docker registry at https://docker.clarin.eu/ ## |
147 | | |
148 | | ... |
149 | | |
150 | | |
246 | | * Docker volumes |
247 | | * https://medium.com/@ramangupta/why-docker-data-containers-are-good-589b3c6c749e |
248 | | * Docker Application configuration |
249 | | * https://dantehranian.wordpress.com/2015/03/25/how-should-i-get-application-configuration-into-my-docker-containers/ |
250 | | * Docker containers and images visually explained: |
251 | | * http://merrigrove.blogspot.nl/2015/10/visualizing-docker-containers-and-images.html |
| 243 | * Docker volumes |
| 244 | * https://medium.com/@ramangupta/why-docker-data-containers-are-good-589b3c6c749e |
| 245 | * Docker Application configuration |
| 246 | * https://dantehranian.wordpress.com/2015/03/25/how-should-i-get-application-configuration-into-my-docker-containers/ |
| 247 | * Docker containers and images visually explained: |
| 248 | * http://merrigrove.blogspot.nl/2015/10/visualizing-docker-containers-and-images.html |