1. Build
#Build một image từ Dockerfile
docker build -t myimage:1.0 .
#Liệt kê tất cả images trong Docker Engine
docker image ls docker images
#Xoá một image từ local image store
docker rmi <image_id>
2. Share
#Pull một image từ registry
docker pull myimage:1.0
#Retag một local image với tên mới
docker tag myimage:1.0 myrepo/myimage:1.0
#Push một image lên registry
docker push myrepo/myimage:1.0
3. Run
#Run một container từ the Alpine version 3.9 image với tên gọi là “web” và mở port 3000 cho bên ngoài, liên kết port 80 bên trong container.
docker container run --name web -p 3000:80 alpine:3.9
-e JAVA_OPTS=”-javaagent:/agent.jar” #Thêm biến môi trường
#Start một container đã tắt
docker start <container_id | name>
#Stop hoặc Kill môt container đang chạy
docker stop <container_id|name>
docker kill <container_id|name>
docker kill $(docker ps -q) #Kill tất cả container đang chạy
#List the networks
docker network ls
#List những containers đang chạy (thêm --all hoặc -a để lấy tất cả những stopped containers)
docker ps docker ps -a #Liệt kê các container đã tắt docker container ls docker container ls --all #Liệt kê các container đã tắt
#Delete một container
docker rm <container_id | name>
docker container rm -f $(docker ps -aq) #Delete tất cả containers
#Đổi tên một container
docker rename <old_name> <new_name>
4. Backup và Restore một image
#Backup
docker save <image_name> > /host_path/backup_image.tar #backup một image docker commit -m “message” <container_name> backup_image:tag #Backup một container đang chạy thành image
#Restore
cat backup_image.tar | docker import - <new_image_name>:latest
5. Giao tiếp với container
#Copy file vào container
docker cp myfile.txt mycontainer:/myfile.txt
#Copy file từ container ra
docker cp mycontainer:/myfile.txt myfile.txt
#Lấy logs của container
docker logs <container_id | name>
docker container logs --tail 100 <container_id | name>
docker logs -ft <container_id | name> #Theo dõi container logs
#Vào bên trong container
docker exec -it <container_id | name> /bin/bash
6. Cấu trúc một Docker compose file
version: “3.8”
services:
web:
container_name: “web”
image: java:8 # image name
# command to run
command: java -jar /app/app.jar
ports: # map ports to the host
- “4567:4567”
volumes: # map filesystem to the host
- ./myapp.jar:/app/app.jar
mongodb:
image: mongo:3.6
container_name: 'mongo_dev'
ports:
- "27017:27017"
=> Start docker compose container
docker-compose up
0 comments: