Sử dụng Portainer để quản lý Docker apps
Bài đăng này đã không được cập nhật trong 4 năm
I. Giới thiệu
Hiện nay, docker ngày càng được sử dụng trong các dự án nhờ những ưu điểm cực kỳ ưu việt của nó. Sau một thời gian sử dụng docker mình cũng sớm nhận ra và sử dụng nó ngày một nhiều. Nếu các bạn chưa biết về docker hoặc chưa hiểu về nó có thể tham khảo tại đây :
- Docker - những kiến thức cơ bản phần 1
- Docker - những kiến thức cơ bản phần 2
- Docker - những kiến thức cơ bản phần 3
Tại sao lại sử dụng portainer để quản lý docker apps ?
- Có khá nhiều bạn khi sử dụng docker gặp vấn đề về câu lệnh có nó, mỗi khi kiểm tra danh sách của containers hay images, thậm chí việc xóa nó nữa rất rất nhiều câu lệnh đúng không ạ.
- Một vấn đề nữa là khi hệ thống của bạn cần sửa dụng quá nhiều services và containers, việc quản lý bằng command line trở nên khó khăn và khó nhìn. Chính vì vậy portainer giải quyết cho chúng ta vấn đề về việc quản lý các docker apps và thao tác chúng được thuận tiện hơn trên giao diện UI.
II. Cài đặt
Deploy Portainer trên Linux:
$ docker volume create portainer_data
$ docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Deploy Portainer trên Windows:
$ docker volume create portainer_data
$ docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart always -v \\.\pipe\docker_engine:\\.\pipe\docker_engine -v portainer_data:C:\data portainer/portainer
Init Docker Swarm trên Linux:
Portainer quản lý docker apps bằng docker swarm nên các bạn cần phải init docker swarm với ip của máy bạn (hoặc server) thì mới deploy stack được nhé.
$ docker swarm init --advertise-addr 192.168.1.34
Swarm initialized: current node (bvz81updecsj6wjz393c09vti) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join \
--token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx \
172.17.0.2:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
Deploy docker stack trên Linux:
$ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
$ docker stack deploy --compose-file=portainer-agent-stack.yml portainer
Deploy docker stack trên Windows:
$ curl https://downloads.portainer.io/portainer_windows_stack.yml -o portainer_windows_stack.yml
$ docker stack deploy --compose-file=portainer_windows_stack.yml portainer
III. Sử dụng
Sau khi cài đặt docker container cho portainer xong, chúng ra vào trình duyệt và gõ url: http://192.168.1.34:9000
Phía trên là ip của máy mình, các bạn hãy vào network setting để lấy ra ip rồi init với docker swarm như trên nhé. Thành công thì sẽ hiển thị màn hình đăng nhập như phía dưới. Các bạn nhập password cho mình rồi bấm create user.
Sau khi đăng nhập thành công, chúng ta sẽ vào trong dashboard của portainer như dưới.
Trong trang dashboard portainer đã tạo cho chúng ta một endpoint mặc định là primary
các bạn có thể vào đổi tên hoặc tạo endpoint mới tùy ý.
Sau khi update xong thì các bạn bấm vào update endpoint. Trong endpoint bao gồm quản lý cho các stacks, services, container, images, networks,.. Bạn có thể add stack trực tiếp trong trang quản lý. Bằng việc add vào file docker-compose
Hoặc bạn cũng có thể chạy bằng command sau đó xem và quản lý trên dashboard. Đó cũng là lý do của việc sinh ra portainer dashboard
Và đây là stacks sau khi chúng ta đã chạy docker-compose.yml bằng command hay deploy trên dashboard
Như các bạn có thể thấy sau khi chạy xong docker-compose thì hiện tại stacks của mình gồm các containers như bên dưới
Bây giờ các bạn có thể start, stop, hay thâm chí remove các container mà không phải gõ command line nữa.
Màn hình quản lý services:
Màn hình quản lý containers: Chúng ta có thể thao tác tất cả các nhiệm vụ của containers
Thay vì trước đây chúng ta phải xem trên command line:
Màn hình quản lý Images: Chúng ta có thể thao tác tất cả các nhiệm vụ của images
Thay vì trước đây chúng ta phải xem trên command line:
.... Bây giờ các bạn hoàn toàn có thể kiểm soát được toàn bộ hệ thống docker cho dự án của mình ở đây.
IV. Tạm kết
Với những dự án nhỏ không sử dụng quá nhiều services hay containers docker thì bạn không nhất thiết phải cài đặt portainer để quản lý, vẫn hoàn toàn có thể sử dụng command line để quản lý cho chuyên nghiệp. Hy vọng qua bài viết các bạn đã biết về một công cụ để quản lý docker apps. Mong được sự góp ý và bàn luận thật nhiều từ các bạn.
All rights reserved