-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdockerbasiccommand.txt
245 lines (158 loc) · 5.51 KB
/
dockerbasiccommand.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
##########################
##### Install Docker #####
##########################
### Eksekusi di node podX-node0 ###
#1. Instal Docker
sudo apt -y install docker.io
sudo systemctl status docker
#2. Menampilkan versi docker
sudo docker version
#3. Menampilkan detil instalasi docker
sudo docker info
#4. Uji instalasi docker
sudo docker run hello-world
#5. Menampilkan image yang sudah didownload
sudo docker image ls
#6. Menampilkan semua container (active ataupun exit)
sudo docker container ls -a
##########################
##### Whalesay image #####
##########################
#1. Buka Docker Hub dan cari image whalesay
https://hub.docker.com
#2. Jalankan image whalesay
sudo docker run docker/whalesay cowsay username
#3. Tampilkan image yang sudah didownload
sudo docker image ls
#4. Tampilkan semua container (upataupun exit)
sudo docker container ls -a
##################################
##### Dockerfile (latihan01) #####
##################################
#1. Buat direktori /latihan/latihan01 dan masuk ke dalamnya
sudo mkdir -p /latihan/latihan01
#sudo chown -R [USER]:[GROUP_NAME] [file/dir]
sudo chown -R ubuntu:ubuntu /latihan ##KET: -R: mengoperasikan file dn direktori secara rekursif
cd /latihan/latihan01
#2. Buat file Dockerfile
vim Dockerfile
# Use whalesay image as a base image
FROM docker/whalesay:latest
# Install fortunes
RUN apt -y update && apt install -y fortunes
# Execute command
CMD /usr/games/fortune -a | cowsay
#3. Bangun image dari Dockerfile
sudo docker build -t docker-whale .
#4. Tampilkan image yang sudah dibangun
sudo docker image ls
#5. Uji jalankan image
sudo docker run docker-whale
#################################
##### Dockerfile (latihan02) #####
##################################
#1. Buat direktori /latihan/latihan02 dan masuk ke dalamnya
sudo mkdir -p /latihan/latihan02
sudo chown -R ubuntu:ubuntu /latihan
cd /latihan/latihan02
#2. Buat file Dockerfile
vim Dockerfile
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "app.py"]
#3. Buat file requirements.txt
vim requirements.txt
Flask
Redis
#4. Buat file app.py
vim app.py
from flask import Flask
from redis import Redis, RedisError
import os
import socket
# Connect to Redis
redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2)
app = Flask(__name__)
@app.route("/")
def hello():
try:
visits = redis.incr("counter")
except RedisError:
visits = "<i>cannot connect to Redis, counter disabled</i>"
html = "<h3>Hello {name}!</h3>" \
"<b>Hostname:</b> {hostname}<br/>" \
"<b>Visits:</b> {visits}"
return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=80)
#5. Bangun image dari Dockerfile
ls
sudo docker build -t friendlyhello .
#6. Tampilkan image yang sudah dibangun
sudo docker image ls
#7. Uji jalankan image
sudo docker run -d -p 4000:80 friendlyhello
###KALO GAGAL CEK DOC DOCKER DI WEBSITE#####
#8. Tampilkan container Up
sudo docker container ls
#9. Uji browsing app
curl http://localhost:4000
#10. Stop container
sudo docker container stop [CONTAINER ID]
#11. Tampilkan container Up
sudo docker container ls -a
#########################
##### Publish Image #####
#########################
#1. Login dengan Docker ID
sudo docker login
#2. Tag image
sudo docker tag friendlyhello [USER]/latihan:latihan02
#3. Tampilkan image yang sudah dibangun
sudo docker image ls
#4. Dorong image ke repo
sudo docker push [USER docker]/latihan:latihan02
#5. Uji jalankan image
sudo docker run -d -p 4000:80 [USER]/latihan:latihan02
#6. Tampilkan container Up
sudo docker container ls
#8. Uji browsing app
curl http://localhost:4000
#9. Stop container
sudo docker container stop [CONTAINER ID]
#10. Tampilkan container Up
sudo docker container ls -a
###################
##### Volumes #####
###################
#1. Membuat volume
sudo docker volume create my-vol
#2. Menampilkan daftar volume
sudo docker volume ls
#3. Menampilkan detil volume
sudo docker volume inspect my-vol
#4. Jalankan container dengan volume
sudo docker run -d --name=nginxtest -v my-vol:/usr/share/nginx/html nginx:latest ---->>##-v my-vol:/usr/share/nginx/html artinya bind/menyatukan volume 'my-vol' ke direktori container nginx
#5. Tampilkan alamat IP container
sudo docker inspect nginxtest | grep -i ipaddress
#6. Uji browsing ke alamat IP container
curl http://172.17.XXX.XXX
#7. Buat file index.html dan pindahkan ke direktori source volume
sudo echo "This is from my-vol source directory." > index.html
sudo mv index.html /var/lib/docker/volumes/my-vol/_data
#8. Uji browsing ke alamat IP container
curl http://172.17.XXX.XXX
##### Quiz #####
1. Buat Dockerfile untuk menjalankan aplikasi yang bersumber dari https://github.com/gabrielecirulli/2048
2. Push image yang sudah dibuat di Quiz no.1 ke docker hub