-
Notifications
You must be signed in to change notification settings - Fork 1
/
day1.txt
339 lines (283 loc) · 7.33 KB
/
day1.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
What is Docker?
=================================
https://www.devopsschool.com/blog/
AKA Docker Engine
- Container mgmt tool
- Release
Community
Enterprise
- Written in Go
- by Soloman Hykes
-
tool
save time
PS(1 day) + vms(5 mins) + container(1 sec)
improve the quality
Quality coding and Quality testing
save cost
while running apps with container
mgmt
create -> start -> stop -> removing
Container --????
is a app run time env where we have seprate one net + mnt + pid + user powered by Kernal(ns+_cgr+cap)
is a lightweight app run time env.
=================================
How a APP run in Laptop| VMs?
What are the RESOURCES needed to run a app?
What are the components you need to run a app in OS?
=================================================
HARDWARE
OS
--------
Kernel + System util ALLOWED by OS CAN
----------------------------------------------------------------
Namespace
MNT NS ROOT FILESYSTEM 1 N
USR NS USER N N
PID NS PID 1 N
NET NS NETWORK 1 N
CGROUPS CPU+RAM
CAPABILITIES USER PERM
==========================================
HUMAN ---> Docker Client -> Docker Server --> ContainerD ---> Kernel
-------------------------
other interactives
=======================================
ContainerD is off container interface for kuber
================================================================
Dcoker architecture
======================================
HUMAN ---> Docker Client ---API---> Docker Server --> ContainerD ---> Kernel
===========================================
Docker Engine
How to install docker?
==========================
Lets Proof that what is container?
Docker Component
===========================================
1. Docker engine
2. Docker Image
Vm Image ->
Bootfs + Rootfs + UserFs + Appfs
Container Image = Rootfs + UserFs + Appfs
ubuntu root + java + tomcat + app
centos apache
From One Image - You can get as many container.
===================
3. Registry
repos
version of filesystem === docker image
hub.docker.com
google reg
artifactory
nexus
4. container
=========================================================
==================================================
Container lifecycle
---------------------------------------------------------
Create -> Start -> Stop -> start -> restart -> pause -> unpause -> kill -> remove
30 docker ps
31 ls /
32 docker exec 93a842fd7119 ls /
33 clear
34 ls
35 ps
36 w
37 ps -eaf | grep container
38 clear
39 ls
40 w
41 docker ps
42 docker exec -it 93a842fd7119 /bin/bash
43 docker insect 93a842fd7119
44 docker inspect 93a842fd7119
45 ip a
46 clear
47 ps -eaf
48 clear
49 ls
50 docker ps
51 docker exec 93a842fd7119 ps -eaf
52 docker info
53 docker version
54 clear
55 which docker
56 which dockerd
57 which containerd
58 ps -eaf | grep dock
59 ps -eaf | grep contain
60 clear
61 ls
62 docker images
63 docker pull httpd
64 clear
65 docker images
66 docker ps
67 docker ps -a
68 docker stop 93a842fd7119
69 docker rm 93a842fd7119
70 clear
71 docker ps -a
72 docker create httpd
73 docker ps -a
74 docker create --name raj1 httpd
75 docker ps -a
76 clear
77 docker create --name raj2 httpd
78 docker ps -a
79 docker start 7c8afaedc1f9
80 docker ps -a
81 clear
82 docker start rajq1
83 docker start raj1
84 docker ps -a
85 docker stop raj1
86 docker ps -a
87 docker start raj1
88 docker ps -a
89 docker restart 7c8afaedc1f9
90 docker ps -a
91 clear
92 docker ps -a
93 docker pause 175d3e949c6f
94 docker ps -a
95 docker unpause 175d3e949c6f
96 cler
97 clear
98 docker ps -a
99 docker kill 7c8afaedc1f9
100 docker ps -a
101 docker rm 4b0e9a3bb569
102 docker ps -a
103 docker rm 175d3e949c6f
104 history
Assignment
-------------------
Diff between docker stop and docker kill?
Diff between docker pause and docker unpause?
=============================================================
docker stats
https://www.devopsschool.com/blog/the-docker-command-line-complete-referenece/
PS VS Container
===============================================
Coz of PID1 Coz of PID1 Coz of PID1
systemd systemd Anything
run
=============================
pull + create + start + attach
run -d
=============================
pull + create + start + attach
attach = terminal attached to the PID 1 excutable of the container.
How to use container?
==============================
Go inside
- exec would execute an executable inside a container.
- SHELL
docker exec -it 175d3e949c6f /bin/bash
Access a container from outside?
$ docker run -d httpd
$ docker run -d -p 80:80 httpd
$ docker run -d -p 81:80 httpd
docker run -itd httpd
105 clear
106 docker ps
107 docker exec 175d3e949c6f ls
108 docker exec 175d3e949c6f df
109 clear
110 docker exec 175d3e949c6f du
111 clear
112 docker exec 175d3e949c6f ps
113 sssss
114 clear
115 docker exec -it 175d3e949c6f /bin/bash
116 docker ps
117 docker inspect 175d3e949c6f
118 clear
119 http://172.17.0.3
120 curl http://172.17.0.3
121 ps -eaf
122 clear
123 docker ps
124 docker exec 175d3e949c6f ps -eaf
125 docker run -itd ubuntu
126 docker ps
127 docker exec 175d3e949c6f ps -eaf
128 docker exec de3df8a6b81f ps -eaf
129 clear
130 docker ps
131 docker attach de3df8a6b81f
132 docker ps
133 docker attach 175d3e949c6f
134 clear
135 docker ps
136 docker ps -a
137 docker start 175d3e949c6f 7c8afaedc1f9
138 clear
139 docker ps -a
140 docker ps
141 docker run httpd
142 clear
143 docker run -d httpd
144 docker ps
145 clear
146 docker run -itd httpd
147 docker run -itd ubuntu
148 docker ps
149 clear
150 docker ps
151 docker container stop $(docker container ls -aq)
152 docker rm -vf $(docker ps -a -q)
153 clear
154 ls
155 docker ps
156 docker run -d httpd
157 docker ps
158 docker run -d -p 80:80 httpd
159 docker run -d -p 81:80 httpd
160 clear
161 docker ps
====================================================
https://www.devopsschool.com/blog/the-docker-command-line-complete-referenece/
166 docker ps
167 docker exec 56ef2b5d077f ls /tmp
168 ls
169 docker cp anaconda-ks.cfg 56ef2b5d077f:/tmp
170 docker exec 56ef2b5d077f ls /tmp
171 ls
172 rm -rf anaconda-ks.cfg
173 clear
174 ls
175 docker cp 56ef2b5d077f:/tmp/anaconda-ks.cfg .
176 ls
177 docker ps
178 docker diff 56ef2b5d077f
179 clear
180 docker port
181* docker ps
182 docker port 56ef2b5d077f
183 docker port 7ad0e799c881
184 clear
185 docker ps
186 docker rename 7ad0e799c881 raju
187 docker ps
188 clear
189 docker ps
190 docker inspect 56ef2b5d077f
191 clear
192 docker logs 56ef2b5d077f
193 curl http://172.17.0.2
194 clear
195 docker logs 56ef2b5d077f
196 docker stats
197 clear
198 docker ps
199 ps -eaf | grep containerd
200 docker top 56ef2b5d077f
201 clear
202 docker events
Assignment - www.debug.school
---------------------
update Update configuration of one or more containers
wait Block until one or more containers stop, then print their exit codes