I. Giới thiệu
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:
1 2 3 | $ docker volume create portainer_data $ docker run -d -p 8000:8000 -p 9000:9000 --name<span class="token operator">=</span>portainer --restart<span class="token operator">=</span>always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer |
Deploy Portainer trên Windows:
1 2 3 | $ docker volume create portainer_data $ docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart always -v \.pipedocker_engine:\.pipedocker_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é.
1 2 3 4 5 6 7 8 9 10 11 | $ docker swarm init --advertise-addr 192.168.1.34 Swarm initialized: current node <span class="token punctuation">(</span>bvz81updecsj6wjz393c09vti<span class="token punctuation">)</span> is now a manager. To add a worker to this swarm, run the following command: docker swarm <span class="token function">join</span> --token SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx 172.17.0.2:2377 To add a manager to this swarm, run <span class="token string">'docker swarm join-token manager'</span> and follow the instructions. |
Deploy docker stack trên Linux:
1 2 3 | $ <span class="token function">curl</span> -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml $ docker stack deploy --compose-file<span class="token operator">=</span>portainer-agent-stack.yml portainer |
Deploy docker stack trên Windows:
1 2 3 | $ <span class="token function">curl</span> https://downloads.portainer.io/portainer_windows_stack.yml -o portainer_windows_stack.yml $ docker stack deploy --compose-file<span class="token operator">=</span>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.