Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #---------------------------------------------------- Container creatio [Task 1] --------------------------------------------#
- [ec2-user@ip-172-31-41-59 flask]$ docker container run --name mycntr --rm -d -it alpine:latest
- Unable to find image 'alpine:latest' locally
- latest: Pulling from library/alpine
- 8a49fdb3b6a5: Pull complete
- Digest: sha256:02bb6f428431fbc2809c5d1b41eab5a68350194fb508869a33cb1af4444c9b11
- Status: Downloaded newer image for alpine:latest
- c6f24c2597fd7ea5f7ec0de948f4a67440b6daeb041de8d308b6b81cd7415308
- [[ec2-user@ip-172-31-41-59 flask]$ docker container attach mycntr
- / #
- / #
- / #
- / # apk update
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
- v3.18.0-435-g1a184caca7f [https://dl-cdn.alpinelinux.org/alpine/v3.18/main]
- v3.18.0-442-ga3b139e3955 [https://dl-cdn.alpinelinux.org/alpine/v3.18/community]
- OK: 20064 distinct packages available
- / #
- / # apk add vim python3 --no-cache
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
- Executing busybox-1.36.0-r9.trigger
- OK: 81 MiB in 35 packages
- [ec2-user@ip-172-31-41-59 flask]$ docker container ls -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- #---------------------------------------------------- Image creation [Task 1.1] --------------------------------------------#
- [ec2-user@ip-172-31-41-59 flask]$ cat Dockerfile
- FROM alpine:latest
- RUN apk update
- RUN apk add vim python3 --no-cache
- CMD ["/bin/sh"]
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$ docker image build -t myimage:1 .
- Sending build context to Docker daemon 2.048kB
- Step 1/4 : FROM alpine:latest
- ---> 5e2b554c1c45
- Step 2/4 : RUN apk update
- Removing intermediate container 26921be3794e
- ---> 3a76943f478b
- Successfully built 3a76943f478b
- Successfully tagged myimage:1
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$ docker image ls
- REPOSITORY TAG IMAGE ID CREATED SIZE
- myimage 1 3a76943f478b About a minute ago 78.1MB
- alpine latest 5e2b554c1c45 2 weeks ago 7.33MB
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$ docker attach c1
- / #
- / # which vim
- /usr/bin/vim
- / #
- / #
- / # which python3
- /usr/bin/python3
- / #
- [ec2-user@ip-172-31-41-59 flask]$ docker container ls -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- #---------------------------------------------------- Workdir [Task 1.2] --------------------------------------------#
- [ec2-user@ip-172-31-41-59 flask]$ docker image pull httpd:alpine
- alpine: Pulling from library/httpd
- [ec2-user@ip-172-31-41-59 flask]$ docker image inspect httpd:alpine
- [
- "WorkingDir": "/usr/local/apache2",
- [ec2-user@ip-172-31-41-59 flask]$ docker container run --name apache2 -d --rm -it httpd:alpine sh
- 008cc4f46631a18bca518e25703dd14d6cdb3f7bf5418dfb5d03d762e9f23680
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$ docker container attach apache2
- /usr/local/apache2 #
- /usr/local/apache2 # touch a.txt
- /usr/local/apache2 # ls
- a.txt bin build cgi-bin conf error htdocs icons include logs modules
- /usr/local/apache2 #
- /usr/local/apache2 #
- [ec2-user@ip-172-31-41-59 flask]$ docker container ls -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- [ec2-user@ip-172-31-41-59 flask]$ cat Dockerfile
- FROM alpine:latest
- RUN mkdir /var/mydir/
- WORKDIR /var/mydir/
- COPY ./abcd.txt .
- RUN touch myfile.txt
- RUN apk update
- RUN apk add vim python3 --no-cache
- CMD ["/bin/sh"]
- [ec2-user@ip-172-31-41-59 flask]$ echo "This is a abcd.txt file" > abcd.txt
- [ec2-user@ip-172-31-41-59 flask]$ ls
- abcd.txt Dockerfile
- [ec2-user@ip-172-31-41-59 flask]$ docker image build -t myimage:2 .
- Sending build context to Docker daemon 3.072kB
- Step 1/8 : FROM alpine:latest
- Successfully built 5019b8d59a49
- Successfully tagged myimage:2
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$ docker container run --name c2 -d -it --rm myimage:2
- 56313aaad4a5419b10a089774ded920e927ea89808a1d3802e8180526bfd225b
- [ec2-user@ip-172-31-41-59 flask]$
- [ec2-user@ip-172-31-41-59 flask]$ docker container attach c2
- /var/mydir #
- /var/mydir # ls
- abcd.txt myfile.txt
- /var/mydir #
- /var/mydir #
- /var/mydir # cat abcd.txt
- This is a abcd.txt file
- /var/mydir #
- /var/mydir #
- /var/mydir # which vim
- /usr/bin/vim
- /var/mydir #
- /var/mydir # which python3
- /usr/bin/python3
- /var/mydir #
- /var/mydir #
- [ec2-user@ip-172-31-41-59 flask]$ docker container ls -a
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- [ec2-user@ip-172-31-41-59 flask]$
- #---------------------------------------------------- Python3 app run in local machine [Task 2] --------------------------------------------#
- [ec2-user@ip-172-31-41-59 flask]$ sudo yum install python3 python3-pip -y
- [ec2-user@ip-172-31-41-59 flask]$ mkdir flask-project
- [ec2-user@ip-172-31-41-59 flask]$ cd flask-project/
- [ec2-user@ip-172-31-41-59 flask-project]$ cat app.py
- from flask import Flask
- app = Flask(__name__)
- @app.route('/')
- def index():
- return '<h1><center>This is Flask Application - Version1 </center></h1>'
- app.run(host='0.0.0.0', port=5000)
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$ ls
- app.py requirements.txt
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$ pip3 install -r requirements.txt
- Defaulting to user installation because normal site-packages is not writeable
- Collecting flask
- Downloading Flask-2.3.2-py3-none-any.whl (96 kB)
- [ec2-user@ip-172-31-41-59 flask-project]$ python3 app.py
- * Serving Flask app 'app'
- * Debug mode: off
- WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
- * Running on all addresses (0.0.0.0)
- * Running on http://127.0.0.1:5000
- * Running on http://172.31.41.59:5000
- Press CTRL+C to quit
- 103.104.44.50 - - [30/May/2023 09:26:17] "GET / HTTP/1.1" 200 -
- 103.104.44.50 - - [30/May/2023 09:26:17] "GET /favicon.ico HTTP/1.1" 404 -
- 103.104.44.50 - - [30/May/2023 09:26:24] "GET / HTTP/1.1" 200 -
- #---------------------------------------------------- Python3 temporary container creation [Task 3] --------------------------------------------#
- [ec2-user@ip-172-31-41-59 flask-project]$ docker container run --name flask -p 80:5000 -d -v $(pwd):/var/flaskapp -it alpine:latest
- a2e7990acfea98716b78cfede51c03df4ca643e932af6363621ef56feb4e8f50
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$ docker container attach flask
- / #
- / #
- ~ # cd /var/flaskapp/
- /var/flaskapp #
- ~ # ls -l /var/flaskapp/
- total 8
- -rw-r--r-- 1 1000 1000 194 May 30 09:25 app.py
- -rw-r--r-- 1 1000 1000 6 May 30 09:21 requirements.txt
- ~ #
- ~ #/var/flaskapp # apk update
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
- /var/flaskapp # apk add python3 vim py3-pip --no-cache
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/main/x86_64/APKINDEX.tar.gz
- fetch https://dl-cdn.alpinelinux.org/alpine/v3.18/community/x86_64/APKINDEX.tar.gz
- /var/flaskapp # pip3 install -r requirements.txt
- Collecting flask (from -r requirements.txt (line 1))
- Downloading Flask-2.3.2-py3-none-any.whl (96 kB)
- ???????????????????????????????????????? 96.9/96.9 kB 7.1 MB/s eta 0:00:00
- Collecting Werkzeug>=2.3.3 (from flask->-r requirements.txt (line 1))
- /var/flaskapp # python3 app.py
- * Serving Flask app 'app'
- * Debug mode: off
- WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
- * Running on all addresses (0.0.0.0)
- * Running on http://127.0.0.1:5000
- * Running on http://172.17.0.2:5000
- Press CTRL+C to quit
- read escape sequence
- [ec2-user@ip-172-31-41-59 flask-project]$ docker container logs flask
- 103.104.44.50 - - [30/May/2023 09:38:55] "GET / HTTP/1.1" 200 -
- 103.104.44.50 - - [30/May/2023 09:38:55] "GET /favicon.ico HTTP/1.1" 404 -
- 103.104.44.50 - - [30/May/2023 09:38:56] "GET / HTTP/1.1" 200 -
- 103.104.44.50 - - [30/May/2023 09:38:56] "GET / HTTP/1.1" 200 -
- 103.104.44.50 - - [30/May/2023 09:38:56] "GET / HTTP/1.1" 200 -
- #---------------------------------------------------- Python3 image & container creation [Task 4] --------------------------------------------#
- [ec2-user@ip-172-31-41-59 flask-project]$ vim Dockerfile
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$ cat Dockerfile
- FROM alpine:latest
- WORKDIR /var/flaskapp
- COPY ./code/ .
- RUN apk update && apk add vim python3 py3-pip --no-cache
- RUN pip3 install -r requirements.txt
- CMD ["python3","app.py"]
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$ docker image build -t flaskapp:v1 .
- Sending build context to Docker daemon 4.608kB
- Step 1/6 : FROM alpine:latest
- Successfully built 1d3b38806471
- Successfully tagged flaskapp:v1
- REPOSITORY TAG IMAGE ID CREATED SIZE
- flaskapp v1 1d3b38806471 About a minute ago 110MB
- myimage 2 5019b8d59a49 38 minutes ago 78.1MB
- myimage 1 3a76943f478b About an hour ago 78.1MB
- httpd alpine d7544b312621 2 weeks ago 59.1MB
- alpine latest 5e2b554c1c45 2 weeks ago 7.33MB
- [ec2-user@ip-172-31-41-59 flask-project]$ docker container run --name version1 -d -p 8081:5000 flaskapp:v1
- 3e60f688a43b1fb5d4c89377c5caa5df862cf683206f135dda9af30d263cb66a
- ##________Version2 build _________##
- [ec2-user@ip-172-31-41-59 flask-project]$ cat code/app.py
- from flask import Flask
- app = Flask(__name__)
- @app.route('/')
- def index():
- return '<h1><center>This is Flask Application - Version2 </center></h1>'
- app.run(host='0.0.0.0', port=5000)
- [ec2-user@ip-172-31-41-59 flask-project]$ docker image build -t flaskapp:v2 .
- Sending build context to Docker daemon 4.608kB
- Step 1/6 : FROM alpine:latest
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$ docker container run --name version2 -d -p 8082:5000 flaskapp:v2
- fb1251d88648592792aa40f7983aa42ef63e8aa20ab90b889cccbe4469c8b4ca
- ##________Version3 build _________##
- [ec2-user@ip-172-31-41-59 flask-project]$ vim code/app.py
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$ docker image build -t flaskapp:v3 .
- Sending build context to Docker daemon 4.608kB
- Step 1/6 : FROM alpine:latest
- Successfully built 072eff3ba344
- Successfully tagged flaskapp:v3
- CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
- NAMES
- 848c73f4e1b2 flaskapp:v3 "python3 app.py" 14 minutes ago Up 14 minutes 0.0.0.0:8083->5000/tcp, :::8083->5000/tcp version3
- fb1251d88648 flaskapp:v2 "python3 app.py" 17 minutes ago Up 17 minutes 0.0.0.0:8082->5000/tcp, :::8082->5000/tcp version2
- 3e60f688a43b flaskapp:v1 "python3 app.py" 21 minutes ago Up 21 minutes 0.0.0.0:8081->5000/tcp, :::8081->5000/tcp version1
- [ec2-user@ip-172-31-41-59 flask-project]$
- [ec2-user@ip-172-31-41-59 flask-project]$
Advertisement
Add Comment
Please, Sign In to add comment