|
Sơ đồ mạng container trong host
Docker host là máy vật lý hoặc máy ảo chạy linux Docker tạo docker bridge để kết nối các container Mỗi container có 1 card mạng ảo veth, veth sẽ kết nối với docker bridge Các container giao tiếp nội bộ với nhau qua docker bridge Container nào muốn ra ngoài (expose) sẽ theo luồng: container ---veth---docker bridge --- iptables Nat/Dnat---car mạng vật lý của docker host ---internet
[root@LinuxServer ~]#dnf update -y
[root@LinuxServer ~]#reboot
#Remove runc để tránh xung đột
[root@LinuxServer ~]#dnf remove runc -y
#Thêm Docker repository
[root@LinuxServer ~]#dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo|
[root@LinuxServer ~]#dnf install -y docker-ce docker-ce-cli containerd.io
#Start và enable Docker, check version
[root@LinuxServer ~]# systemctl start docker
[root@LinuxServer ~]#systemctl enable docker
[root@LinuxServer ~]#docker --version
Một số lệnh cơ bản
#Tải image có tên là ten_image (nếu không chỉ định version thì image tải về sẽ là mới nhất)
[root@LinuxServer ~]#docker pull ten_image:version
[root@LinuxServer ~]#docker pull nginx
#Liệt kê các images đã tải về
[root@LinuxServer ~]#docker images
#Chạy container ở chế độ backgroup và public ra ngoài
docker run –d –p port:port image
[root@LinuxServer ~]#docker run -d -p 80:80 nginx
#Nếu không có version thì image sẽ được tải mới nhất --name: đặt tên cho container [root@LinuxServer ~]#docker run -d -p port:port--name tendocker image:version # Liệt kê các container đang chạy [root@LinuxServer ~]#docker ps # Liệt kê các container đang chạy và không chạy [root@LinuxServer ~]#docker ps -a # Thực thi lệnh trong container đang chạy
[root@LinuxServer ~]#docker exec -it ID_or_Name bash
# Copy file từ host vào container
[root@LinuxServer ~]#docker cp file_tren_host Ten_docker:/path_docker
[root@LinuxServer ~]#docker run -d --restart=always --name redmine_app redmine:latest
restart=always: container sẽ tự động khởi động lại khi host khởi động lại. no: không tự khởi động lại. on-failure: chỉ khởi động lại nếu container thoát với lỗi. unless-stopped: khởi động lại trừ khi bạn dừng thủ công.
# stop, start hoặc restart container
[root@LinuxServer ~]#docker stop/start/restart ID_or_Name
----------------------------------------Docker Compose---------------------------------------- Docker Compose:
Sử dụng:
[root@LinuxServer ~]#docker compose up -d
[root@LinuxServer ~]#docker compose down
[root@LinuxServer ~]#docker compose ps
[root@LinuxServer ~]#docker compose logs -f
[root@LinuxServer ~]#docker compose restart
|

