Để thực thi lệnh trong một Docker Container chúng ta phải truy cập vào container sau đó tiến hành gõ lệnh, tuy nhiên nếu số lượng Container nhiều, việc lần lượt truy cập từng Container để thực thi lệnh sẽ không hiệu quả chút nào. Bài viết này sẽ hướng dẫn các bạn thực thi lệnh trong Container mà không cần truy cập vào nó.
Xem thêm:
Trước hết dùng lệnh docker ps để liệt kê các Container đang chạy
[root@itfromzero ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fa05e898c196 centos "/bin/bash" About a minute ago Up 11 seconds CENTOS7
Truy cập vào Container bằng lệnh sau:
docker exec -it CENTOS7 /bin/bash
Cú pháp:
docker exec -it <container id hoặc tên container> /bin/bash
Tạo test file tại thư mục /opt
[root@fa05e898c196 /]# mkdir /opt/test.txt [root@fa05e898c196 /]# ls -l /opt/ drwxr-xr-x 2 root root 6 Nov 16 03:57 test.txt
Thoát khỏi container các bạn nhấn tổ hợp phím Ctrl + D
Để thực thi câu lệnh trong Container từ Host các bạn thực thi lệnh theo cú pháp sau:
docker exec <container id hoặc tên container> /bin/bash -c ‘<câu lệnh>’
Ví dụ:
[root@itfromzero ~]# docker exec CENTOS7 /bin/bash -c 'ls -l /opt' total 0 drwxr-xr-x 2 root root 6 Nov 16 03:57 test.txt [root@itfromzero ~]#
Từ host mình đã dùng lệnh ls -l thư mục opt trong Container CENTOS 7. Các bạn có thể thực thi nhiều lệnh phức tạp hơn, hay kết hợp nhiều lệnh với nhau. Ví dụ:
docker exec CENTOS7 /bin/bash -c 'cd /etc/init.d/ && /etc/init.d/mysqld start' docker exec CENTOS7 /bin/bash -c 'mysql -h localhost -u root -p'PassWord' DB_1 -e "truncate table DB_1.DB_LOG"' docker exec CENTOS7 /bin/bash -c 'mysql -h localhost -u root -p'PassWord' DB_2 -e "truncate table DB_2.DB_LOG"'
Chúc các bạn thành công.
Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…
Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…
20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…
Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…
CentOS 8 đã phát hành ngày 25/09/2019, phiên bản 8 lần này có những thay đổi…
Thời buổi công nghệ phát triển, phần lớn công việc của con người đều có…
Leave a Comment