1. Trang chủ
  2. » Công Nghệ Thông Tin

DOCKER FOR THE ABSOLUTE BEGINNER

29 29 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 9,61 MB

Nội dung

DOCKER FOR THE ABSOLUTE BEGINNER – HANDS ON – DEVOPS Tóm tắt toàn bộ kiến thức liên quan đến Docker Phù hợp cho người bắt đầu. Có ví dụ, source code demo cụ thể. Table of Contents 1 Section 1: Introduction 2 Section 2: Docker commands 2.1 run – start a container 2.2 run – attach and detach 2.3 ps – list container 2.4 stop – stop container 2.5 rm – Remove container 2.6 images – List images 2.7 rmi – Remove images 2.8 pull – download images only 2.9 exec – execute a command 3 Section 3: Docker run 3.1 Docker run 3.2 Run – stdin 3.3 Run – port mapping 3.4 Run – volume mapping 3.5 Inspect container 3.6 Advanced Docker Run 4 Section 4: Docker images 4.1 Docker images 4.2 Demo 4.2.1 Create Dockerfile 4.2.2 Build images 4.2.3 Run container 4.2.4 Tag image 4.2.5 Push registry 4.3 Environment Variables 4.4 Command vs Entrypoint 4.5 Multibuild stage 4.5.1 Before multistage build 4.5.2 Use multistage builds 4.5.3 Name build stage 4.5.4 Use an external image as a “stage” 4.5.5 Example 5 Section 5: Docker compose 5.1 Docker compose 5.1.1 Introduction 5.1.2 Docker run link 5.1.3 Dockercompose.yml 5.1.4 Dockercompose build 5.1.5 Dockercompose version 5.1.6 Separate network 5.2 Demo 5.2.1 Clone source code 5.2.2 Build run vote app 5.2.3 Run redis 5.2.4 Run postgres 5.2.5 Build and run workerapp 5.2.6 Build and run result app 5.3 Demo with dockercompose 5.3.1 Install dockercompose 5.3.2 Build images 5.3.3 Create dockercompose.yml 6 Section 6: Docker registry 7 Section 7: Docker Engine, Storage and networking 7.1 Docker Engine 7.2 Docker storage 7.3 Docker storage demo 8 Section 8: Docker on Mac Windows 9 Section 9: Container Orchestration – Docker Swarm Kubernetes 10 Section 10: Conclusion

DOCKER FOR THE ABSOLUTE BEGINNER – HANDS-ON – DEVOPS Section 1: Introduction Section 2: Docker commands 2.1 run – start a container Download chưa có and run image [root@ansible-master ~]# docker run nginx 2.2 run – attach and detach Run docker in background [root@ansible-master ~]# docker run -d kodekloud/simple-webapp 2.3 ps – list container [root@ansible-master ~]# docker ps List running container [root@ansible-master ~]# docker ps -a List all container 2.4 stop – stop container [root@ansible-master ~]# docker stop Stop all container [root@ansible-master ~]# docker stop $(docker ps -a -q) 2.5 rm – Remove container [root@ansible-master ~]# docker rm Remove all [root@ansible-master ~]# docker rm $(docker ps -a -q) 2.6 images – List images [root@ansible-master ~]# docker images 2.7 rmi – Remove images [root@ansible-master ~]# docker rmi Remove images all [root@ansible-master ~]# docker rmi $(docker images -a -q) 2.8 pull – download images only [root@ansible-master ~]# docker pull 2.9 exec – execute a command [root@ansible-master ~]# docker exec [root@ansible-master ~]# docker exec cat /etc/hosts Section 3: Docker run 3.1 Docker run [root@ansible-master ~]# docker run -d redis [root@ansible-master ~]# docker run -d redis:4.0 (tag) 3.2 Run – stdin Mở terminal [root@ansible-master ~]# docker run -it kodekloud/simple-prompt-docker 3.3 Run – port mapping [root@ansible-master ~]# docker run -d -p 8888:8080 kodekloud/simple-webapp 8888: host port 8080: container port 3.4 Run – volume mapping root@ubuntu18-1:~# docker run -d -p 3306:3306 -v /opt/datadir:/var/lib/mysql mysql /opt/datadir: host volume /var/lib/mysql: container volume 3.5 Inspect container 3.6 Advanced Docker Run root@ubuntu18-1:~# docker run -d -p 8080:8080 jenkins/Jenkins Section 4: Docker images 4.1 Docker images 4.2 Demo 4.2.1 Create Dockerfile root@ubuntu18-1:~# git clone https://github.com/mmumshad/simple-webapp-flask.git https://github.com/thanhlam2110/simple-webapp-flask root@ubuntu18-1:~# cd simple-webapp-flask/ Tạo Dockerfile 4.2.2 Build images root@ubuntu18-1:~/simple-webapp-flask# docker build -t simple-webapp-flask:1.0.0 4.2.3 Run container root@ubuntu18-1:~/simple-webapp-flask# docker run -d -p 5000:8080 simple-webappflask:1.0.0 4.2.4 Tag image docker image tag simple-webapp-flask:1.0.0 lamnguyentt/simple-webapp-flask:1.0.0 lamnguyentt: registry account 4.2.5 Push registry root@ubuntu18-1:~/simple-webapp-flask# docker image push lamnguyentt/simplewebapp-flask:1.0.0 4.5.5.1 Build stage Có thể thấy kích thước image go-dockerize 419MB 4.5.5.2 Run test Check 4.5.5.3 Multi-stage Để giảm kích thước images root@ubuntu18-1:~/admin/go/src/github.com/thanhlam/go-dockerize# docker build -t godockerize:2.0.0 Có thể thấy kích thước images giảm cịn 12.6MB Section 5: Docker compose 5.1 Docker compose 5.1.1 Introduction Kết hợp nhiều Dockerfile 5.1.2 Docker run link 5.1.3 Docker-compose.yml 5.1.4 Docker-compose build Dùng chưa build sẵn image 5.1.5 5.1.6 Docker-compose version Version 1: dùng “link” Version 2: dùng “depends_on” Version 3: support docker swarm Separate network Mặc định docker-compose tạo network bridge hình Tuy nhiên, muốn chia network rõ ràng thành front-end back-end Thì dockercompose file sau: 5.2 Demo 5.2.1 Clone source code https://github.com/dockersamples/example-voting-app root@ubuntu18-1:~# git clone https://github.com/dockersamples/example-voting-app.git 5.2.2 Build & run vote app root@ubuntu18-1:~/example-voting-app/vote# docker build -t voting-app root@ubuntu18-1:~/example-voting-app/vote# docker run -d -p 5000:80 voting-app Click chọn thử → fail chưa có redis 5.2.3 Run redis root@ubuntu18-1:~/example-voting-app/vote# docker run -d name=redis redis Run lại voting-app root@ubuntu18-1:~/example-voting-app/vote# docker run -d -p 5000:80 link redis voting-app 5.2.4 Run postgres root@ubuntu18-1:~/example-voting-app/worker# docker run -d name=db -e POSTGRES_PASSWORD=postgres -e POSTGRES_USER=postgres postgres:9.4 5.2.5 Build and run worker-app root@ubuntu18-1:~/example-voting-app/worker# docker build -t worker-app root@ubuntu18-1:~/example-voting-app/worker# docker run link redis link db worker-app 5.2.6 Build and run result app root@ubuntu18-1:~/example-voting-app/result# docker build -t result-app root@ubuntu18-1:~/example-voting-app/result# docker run -d -p 5001:80 link db result-app 5.3 Demo with docker-compose 5.3.1 Install docker-compose root@ubuntu18-1:~# sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/bin/docker-compose root@ubuntu18-1:~# sudo chmod +x /usr/bin/docker-compose root@ubuntu18-1:~# docker-compose version 5.3.2 Build images 5.3.3 Create docker-compose.yml root@ubuntu18-1:~# touch docker-compose.yml root@ubuntu18-1:~# docker-compose up -d Section 6: Docker registry Section 7: Docker Engine, Storage and networking 7.1 Docker Engine 7.2 Docker storage 7.3 Docker storage demo root@ubuntu18-1:~# docker run -d -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root123 mysql Section 8: Docker on Mac & Windows Section 9: Container Orchestration – Docker Swarm & Kubernetes 10 Section 10: Conclusion 11 Link https://www.youtube.com/watch? v=31ieHmcTUOk&list=PL4cUxeGkcC9hxjeEtdHFNYMtCpjNBm3h7 ... images giảm 12.6MB Section 5: Docker compose 5.1 Docker compose 5.1.1 Introduction Kết hợp nhiều Dockerfile 5.1.2 Docker run link 5.1.3 Docker- compose.yml 5.1.4 Docker- compose build Dùng chưa... Create docker- compose.yml root@ubuntu18-1:~# touch docker- compose.yml root@ubuntu18-1:~# docker- compose up -d Section 6: Docker registry Section 7: Docker Engine, Storage and networking 7.1 Docker. .. Inspect container 3.6 Advanced Docker Run root@ubuntu18-1:~# docker run -d -p 8080:8080 jenkins/Jenkins Section 4: Docker images 4.1 Docker images 4.2 Demo 4.2.1 Create Dockerfile root@ubuntu18-1:~#

Ngày đăng: 30/10/2022, 11:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w