Terminal docker build trên Mac: build cạnh phiên SSH deploy trong một cửa sổ

Đặt terminal build và phiên SSH deploy cạnh nhau khi deploy Docker qua SSH trên Mac: docker build (hoặc docker compose up --build) ở một pane, server ở pane bên cạnh. Trong MXterm Pro, bạn tách pane chỉ bằng một phím tắt (Cmd+D). Cả hai đều là shell thật trên PTY thật, nên docker logs -f và phiên SSH hoạt động như trên dòng lệnh, không có tích hợp Docker nào phải học thêm.
Split pane trên Mac: một pane build, một pane deploy
Nhấn Cmd+D để tách pane đang focus sang phải, hoặc Cmd+Shift+D để tách xuống dưới. Bản Windows gán các phím này là Ctrl+D và Ctrl+Shift+D. Chạy docker build -t myapp . hoặc docker compose up --build ở một pane.
Ở pane còn lại, mở hoặc dùng lại một phiên SSH tới server đích, sẵn sàng docker pull image mới hoặc khởi động lại stack khi build xong.
Khi có từ hai pane trở lên, hãy kéo header của một pane về mép của pane khác. MXterm Pro tô sáng vùng dưới con trỏ: giữa pane là Tráo đổi Pane (Swap), mép gần nhất là Chèn bên Trái, Chèn bên Phải, Chèn phía Trên hoặc Chèn phía Dưới. Khi bạn thả chuột, pane được đặt vào đó. Pane vừa chèn luôn bắt đầu với tỷ lệ chia đều 50/50.
Đường chia cũng tự bắt về giữa: thả một đường chia trong khoảng 3,5% tính từ tâm thì nó dừng ở 50/50. Nhấp đúp vào đường chia để đặt lại 50/50. Cmd+Shift+M tạm thời phóng to pane đang focus, hữu ích khi bạn đọc log build dài ở toàn màn hình. Bấm lần nữa để quay về giao diện hai pane cho bước deploy.
Cả hai pane đều là phiên terminal thật trên PTY thật: cùng backend Rust portable-pty mà mọi pane đều dùng, không phải lớp bọc bên ngoài. Vì vậy docker logs -f, docker stats và docker exec chạy trong shell thật, và không cần cấu hình gì riêng cho Docker.
Quy trình này giúp ích cho ai
Cách build Docker và deploy qua SSH này hợp với người build image ở máy local (hoặc chạy build qua SSH) rồi tự tay push hoặc pull lên VPS hay một máy cloud nhỏ. Đó là dev cá nhân, nhóm nhỏ chưa có pipeline CI/CD đầy đủ, và bất kỳ ai dùng AI coding agent để chỉnh Dockerfile và muốn chạy lại build ngay tại chỗ.
Nếu deploy của bạn đã tự động hoàn toàn thì pane thứ hai ít quan trọng hơn. Pipeline CI build, push và cập nhật container sau mỗi lần merge, nên không có bước thủ công nào giữa lúc "build xong" và lúc "server đang chạy bản mới". Cách chia pane đáng dùng ở bước giữa thủ công hoặc bán thủ công.
Bài liên quanĐiều phối nhiều AI agent song song bằng split pane trong terminalTheo dõi build khi AI agent sửa Dockerfile
Đặt một coding agent (Claude Code, Codex, Gemini CLI, Copilot) ở một pane và pane build ngay cạnh. Khi agent đổi Dockerfile hoặc file compose, bạn chạy lại build ở pane bên cạnh mà không phải chuyển ngữ cảnh. Thay đổi của agent và output của build luôn hiện cùng trên màn hình.
Hộp Kho lệnh mẫu có sẵn (Cmd+J) chứa một bộ lệnh làm sẵn cố định cho các việc thường ngày. Nó không phải công cụ sinh lệnh tổng quát. Với Docker, nó nhận ra hai ý định: bảo nó liệt kê container thì nó đưa docker ps -a && docker stats --no-stream; bảo nó dọn dẹp thì nó đưa docker system prune -af --volumes.
Nó sẽ không viết lệnh docker build, không tự nghĩ ra phần ghi đè --entrypoint và không tính giúp bạn cờ bind-mount. Bạn tự gõ những lệnh đó, như trong mọi terminal.
Cô lập worktree là một ô tùy chọn (opt-in) trong phần tạo tab mới. Mặc định ô này tắt và chỉ hoạt động trong git repo. Tick Tách biệt tính năng bằng Git Worktree thì agent sửa Dockerfile trong bản checkout riêng <repo>/.worktrees/<slug>, trên nhánh mới swarm/<adjective>-<noun>, ví dụ swarm/brave-otter. Pane build của bạn vẫn theo dõi working tree thường ở gốc repo.
Cách này giảm khả năng agent sửa một file trong lúc build của bạn đang đọc nó. Bạn có thể xem lại và merge thay đổi Dockerfile của agent trước khi build của bạn dùng đến.
Đưa file lên server bằng SFTP trước khi container khởi động
Một số deploy cần có file trên server trước khi container khởi động ổn: file .env, chứng chỉ TLS, một config mount. Trình duyệt SFTP có sẵn lo việc này mà không cần client FTP riêng. Mở server từ trình quản lý SSH để tab của nó có panel SFTP, rồi kéo file sang.
Nếu container cần một mode cụ thể, bấm chuột phải vào file, chọn Đổi quyền (Chmod), rồi đặt các checkbox hoặc một trong các preset (755, 644, 777, 600).
Nếu file đã có trên server (Dockerfile, nginx.conf, .env* hoặc file YAML compose), nhấp đúp vào nó trong panel SFTP. File mở ra để sửa ngay trên host từ xa, có tô màu cú pháp, nên bạn bỏ được bước tải về, sửa local rồi tải lên lại.
Hộp thoại chmod và sửa file từ xa đều có ở gói Free.
Gói Free và Pro cho quy trình này
Mặc định, gói Free không giới hạn số pane, và cho phép 5 host SSH đã lưu và 1 Machine đã lưu. Gói Pro không giới hạn số host.
MXterm Pro so với iTerm2, Warp, Termius và MobaXterm cho quy trình này
iTerm2 miễn phí và đã lâu đời, split pane cùng tích hợp tmux của nó xử lý tốt kiểu build local, deploy từ xa này. Nếu bạn chỉ dùng Mac và không cần danh sách SSH host, trình duyệt SFTP hay AI agent có sẵn trong cùng cửa sổ, vài split của iTerm2 là đủ.
Điểm khác của MXterm Pro cho quy trình này là trình quản lý SSH host, trình duyệt SFTP có sẵn và Control Room (trước đây là War Room) đa agent nằm chung một cửa sổ với pane build. Với iTerm2, thường bạn phải thêm một client SFTP riêng và tự tìm cách theo dõi danh sách server.
Warp xây quanh command block và AI tích hợp, với giao diện hiện đại render bằng GPU. Warp mạnh khi quy trình là "hỏi AI, chạy một lệnh, đọc kết quả". MXterm Pro tập trung vào nhiều terminal thật và nhiều agent trong một layout chia pane.
Termius là SSH client đa nền tảng mạnh, có đồng bộ host và SFTP riêng, đặc biệt hữu ích nếu bạn cũng quản lý server từ điện thoại. Nó cũng có split view và terminal local. Tuy vậy, nó xây quanh host và phiên đã lưu, chứ không xây quanh một workspace build và deploy có AI agent.
MobaXterm gần nhất về tinh thần: các phiên dạng tab, trình duyệt SFTP đồ họa ở thanh bên và macro sẽ quen thuộc nếu bạn đã dùng nó đúng cho kiểu Docker cộng SSH này. MXterm Pro là ứng dụng Tauri mới hơn, làm theo cùng hướng "terminal và SFTP trong một cửa sổ". Nó chạy trên macOS và có bản Windows x64 chưa ký số, đồng thời thêm lớp đa agent mà MobaXterm không có.
Terminal đa pane, Command Recipes (Cmd+J), và Control Room (trước đây là War Room) đa agent: miễn phí để bắt đầu.
Đã có MXterm Pro? Đọc hướng dẫn cài đặt →
Chưa dùng MXterm Pro? Xem bảng giá →
Câu hỏi thường gặp
Không. MXterm Pro không thay thế Docker Desktop và không có trình quản lý container đồ họa. Đây là ứng dụng terminal, nên lệnh Docker chạy trong pane như mọi lệnh khác.
Có. Nếu bạn SSH vào server đã cài Docker, docker build chạy ở đó y như qua bất kỳ kết nối SSH nào khác.
Chỉ có hai. Bảo nó liệt kê container đang chạy thì nó trả về docker ps -a && docker stats --no-stream. Bảo nó dọn dẹp thì nó trả về docker system prune -af --volumes. Nó không chạy docker build và không tự nghĩ ra cờ tùy chỉnh như bind mount hay phần ghi đè --entrypoint. Bạn gõ tay những phần đó, giống ở mọi nơi khác.
Nhấn Cmd+D để tách pane đang focus sang phải, hoặc Cmd+Shift+D để tách xuống dưới. Bản Windows gán các phím này là Ctrl+D và Ctrl+Shift+D. Khi có hai pane, bạn cũng có thể kéo header của một pane tới mép pane khác để gắn nó vào đó.