Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Chạy thử Docker Swarm
Trong bài viết này, mình sử dụng một máy ảo Ubunut Trusty 14.04, đã cài sẵn Docker. Để dựng máy ảo, mình sử dụng Vagrant và VirtualBox. Để tìm hiểu về cách sử dụng, cài đặt Vagrant + VirtualBox, các bạn có thể đọc lại bài trước của mình hoặc tham khảo blog https://sonnguyen.ws/vi/chuan-bi-moi-truong-phat-trien-voi-vagrant/.
Dựng máy ảo
Để tạo máy ảo, chúng ta sử dụng Vagrantfile sau:
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.hostname = "dev-server"
config.vm.network "private_network", ip: "172.20.20.21"
config.vm.provider "virtualbox" do |vb|
vb.gui = false
vb.memory = 2048
vb.cpus = 1
end
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update
sudo apt-get install -y whois git
sudo useradd -m -p `mkpasswd password` -s /bin/bash dev
sudo usermod -a -G sudo dev
echo Installing Docker ...
sudo su -
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58 118E89F3A912897C070ADBF76221572C52609D
echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" > /etc/apt /sources.list.d/docker.list
apt-get update && apt-get install -y linux-image-extra-$(uname -r)
apt-get update && apt-get install -y docker-engine
SHELL
end
Cài đặt Swarm
Sau khi hoàn tất, việc dựng máy ảo, bạn cần SSH vào máy ảo đó và cài đặt Docker Swarm với lệnh sau:
sudo docker pull swarm
Khi đã cài đặt thành công Docker Swarm, chúng ta sẽ thay đổi cấu hình mặc định của Docker, bằng cách thêm dòng sau vào /etc/default/docker:
DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"
Các bạn chú ý, với Debian, và CentOS, đường dẫn file cấu hình của docker sẽ không phải là /etc/default/docker.
Sau khi thay đổi file cấu hình, chúng ta cần khởi động lại Docker:
sudo service docker restart
Video
Giới thiệu và chạy thử Docker Swarm
Docker Swarm
Để chạy được Swarm, chúng ta cần ba thành phần sau:
- Swarm Node (Chạy trên tất cả các Hosts)
- Swarm Master
- Discovery Service
Để đơn giản, chúng ta sẽ sử dụng Global Discovery Service của Docker (Docker Hub). Để làm được điều này, trước hết chúng ta cần một token. Lệnh tạo token như sau:
sudo docker run --rm swarm create
Sau khi có được $TOKEN_ID, chúng ta bắt đầu chạy Swarm Node với lệnh:
sudo docker run -d swarm join --addr=172.20.20.20:2375 token://[YOUR_TOKEN]
Và chạy Swarm Master:
sudo docker run -d -p 12375:2375 swarm manage token://[YOUR_TOKEN]
Nhưng vậy là chúng ta đã hoàn thành chạy Docker Swarm trên một Node.
Để chạy lệnh của Docker Swarm, chúng ta có hai cách.
Cách một, sử dụng tham số -H [DIA_CHI_SWAMR_MASTER]
sudo docker -H :12375 info
Cách hai, đưa địa chỉ Swarm Master vào biến môi trường
sudo su -
export DOCKER_HOST=tcp://172.20.20.20:12375
docker info
Như vậy là chúng ta đã hoàn thành tất cả các bước. Bây giờ bạn đã có thể chạy thử một Container trên Swarm.
Để chạy Swarm trên nhiều Node, bạn chỉ cần thêm một bước, chạy lệnh swarm join trên các Node còn lại và sử dụng chung một Token.




