1. Cài đặt Docker
Tham khảo: https://www.linuxidc.com/Linux/2019-05/158421.htm
1.1 Cấu hình nguồn Docker (Ubuntu)
# Cập nhật nguồn, đặc biệt với hệ thống mới cài, cần chạy apt-get update để đồng bộ chỉ mục từ /etc/apt/sources.list và /etc/apt/sources.list.d, nhằm tải các gói phần mềm mới nhất. $ sudo apt-get update # Kích hoạt HTTPS sudo apt-get install apt-transport-https ca-certificates curl software-properties-common # Thêm GPG key $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # GPG key từ máy chủ USTC (Trung Quốc): curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # Thêm nguồn bản ổn định $ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" # Nguồn từ máy chủ USTC: sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable"
Đối với CentOS 7
Gỡ bỏ phiên bản cũ, sau đó cài đặt các công cụ.
yum install -y yum-utils device-mapper-persistent-data lvm2
Thêm nguồn yum.
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
Cuối cùng:
yum install docker-ce # hoặc trên Ubuntu: apt-get install docker-ce
Có thể cấu hình tự động khởi động cùng hệ thống:
systemctl enable docker
1.2 Cài Docker CE
$ sudo apt-get install docker-ce
1.3 Cấu hình tăng tốc mirror
Tham khảo: https://blog.csdn.net/qq_36274515/article/details/87103117
Khởi động Docker:
$ sudo systemctl enable docker $ sudo systemctl start docker
Tạo file mới: /etc/docker/daemon.json
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
# Hoặc dùng mirror của NetEase (tốc độ nhanh):
{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }
Khởi động lại Docker:
$ sudo systemctl restart docker
Kiểm tra hiệu lực:
docker info
Kết quả hiển thị:
Registry Mirrors: https://registry.docker-cn.com/
Đến đây, Docker CE đã được cài đặt hoàn tất.
1.4 Các thao tác cơ bản với Docker
- Kéo image:
docker pull <tên-image> - Xóa image (dùng -f để xóa mạnh):
docker rmi -f <ID-image> - Xóa tất cả image:
docker rmi $(docker images -q)
- Dừng tất cả container để có thể xóa image:
docker stop $(docker ps -a -q)
- Xóa tất cả container:
docker rm $(docker ps -a -q)
- Hoặc xóa mạnh tất cả container:
docker rm -f $(docker ps -a -q)
- Xóa container:
docker rm -f <ID-hoặc-tên-container> - Chạy container:
docker run <tùy-chọn> - Chạy container đã dừng:
docker start <tên-container> - Dừng container:
docker stop <tên-container> - Xóa các image không có tag (dangling images):
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
2. Cài RabbitMQ với Docker
Kiểm tra phiên bản trên trang chủ và xem hướng dẫn cài Docker.
docker pull rabbitmq:3.7.18-management
Lần đầu khởi động:
docker run -d --hostname my-rabbit -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3.7.18-management
Tắt tường lửa, truy cập web tại: http://192.168.80.128:15672
Tên người dùng và mật khẩu mặc định: guest
3. Cài Elasticsearch, IK Analyzer và Kibana với Docker
3.1 Elasticsearch
# Kéo image docker pull elasticsearch:5.6.8 # Chạy container docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8 # Truy cập vào container ES docker exec -it elasticsearch /bin/bash
Trong container ES, tìm file cấu hình elasticsearch.yml: whereis elasticsearch. File nằm trong thư mục /usr/share/elasticsearch.
Chỉnh sửa file: vim ./config/elasticsearch.yml. Kích hoạt truy cập từ xa và cho phép CORS.
Kiểm tra bằng trình duyệt: http://192.168.241.129:9200
3.2 Tối ưu hệ thống máy ảo (do ES tiêu tốn bộ nhớ)
- Chỉnh sửa file /etc/security/limits.conf:
vim /etc/security/limits.conf # Thêm vào cuối file: * soft nofile 65536 * hard nofile 65536 # Khởi động lại máy ảo để có hiệu lực.
- Chỉnh sửa file /etc/sysctl.conf:
vim /etc/sysctl.conf # Thêm vào cuối file: vm.max_map_count=655360 # Áp dụng ngay: sysctl -p # Kết quả: vm.max_map_count = 655360
- Có thể giảm bộ nhớ JVM cho container ES nếu cần:
vim /etc/elasticsearch/jvm.options # Mặc định là 2g, có thể đổi thành 1g hoặc 512m.
3.3 Cài IK Analyzer
Tìm plugin trên GitHub: https://github.com/medcl/elasticsearch-analysis-ik. Chọn phiên bản phù hợp (ví dụ: 5.6.8).
Tải file zip, giải nén:
unzip elasticsearch-analysis-ik-5.6.8.zip -d ./ik cd ik mv elasticsearch ik # Sao chép vào container ES: docker cp ./ik/ elasticsearch:/usr/share/elasticsearch/plugins # Kiểm tra trong container: root@1b27a60bb54a:/usr/share/elasticsearch/plugins# ls ik
Khởi động lại container ES: docker restart elasticsearch.
Kiểm tra phân tích từ: http://192.168.241.129:9200/_analyze?analyzer=ik_smart&pretty=true&text=Tôi là lập trình viên
3.4 Kibana
docker pull kibana:5.6.8 docker run -it -d -e ELASTICSEARCH_URL=http://192.168.241.129:9200 --name kibana --restart=always -p 5601:5601 kibana:5.6.8
Khởi động ES trước để tránh trạng thái "red". Lần đầu sử dụng, cần tạo index. Sử dụng Dev Tools trên Kibana để viết câu lệnh DSL (khuyến nghị dùng Firefox vì hỗ trợ gợi ý mã tốt).