Các chủ đề phổ biến: Multilogin X, Multilogin 6,
Chạy Multilogin 6 trong vùng chứa Docker
Bảng tóm tắt
Trong bài viết này, chúng tôi đã đề cập đến quy trình tạo và khởi chạy phiên bản mới nhất của Multilogin 6 bên trong vùng chứa Docker. Docker cho phép bạn đóng gói và triển khai ứng dụng của mình theo cách nhất quán và di động, giúp quản lý dễ dàng hơn trên nhiều môi trường khác nhau.
Bằng cách làm theo các bước được nêu ở đây, bạn có thể sử dụng Docker để chạy Multilogin 6 trên máy cục bộ, trong môi trường đám mây hoặc trên bất kỳ hệ thống nào hỗ trợ Docker, mang lại sự linh hoạt và khả năng mở rộng cho nhu cầu tự động hóa web của bạn. Multilogin 6 hỗ trợ chạy ở chế độ không có giao diện và có thể chạy trên máy chủ từ xa.
Trước khi bạn bắt đầu
Trước khi làm theo hướng dẫn trong bài viết này, hãy đảm bảo rằng bạn có:
- Thiết lập cho phép bạn tạo và chạy các container Docker: đây có thể là dịch vụ đám mây, máy chủ, máy ảo hoặc chỉ đơn giản là máy tính của riêng bạn đã cài đặt Docker
- Tài khoản Docker Hub để tải xuống các hình ảnh cần thiết để xây dựng container của bạn (ví dụ: bản phân phối Linux )
- Tài khoản Multilogin 6 để sử dụng ứng dụng bên trong container của bạn
Bước 1: Cài đặt Docker
Nếu bạn chưa cài đặt Docker, bạn có thể thực hiện bằng cách làm theo hướng dẫn cài đặt chính thức cho hệ điều hành của mình:
Docker Engine được thiết kế để chạy trực tiếp trên Linux . Đối với các hệ điều hành khác như Windows hoặc macOS bạn sẽ cần sử dụng Docker Desktop.
Bước 2: Xây dựng một container Docker
Để xây dựng một container Docker, bạn sẽ cần một Dockerfile trong thư mục dự án của mình. Tệp này xác định cấu hình container của bạn. Sau đây là một ví dụ về Dockerfile:
# Use an official base image with a compatible OS
FROM ubuntu:22.04
# List of basic dependancies
RUN apt-get update && apt-get install -y ca-certificates fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 libcurl4 libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-4-1 libnspr4 libnss3 libpango-1.0-0 libu2f-udev libvulkan1 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 wget xdg-utils
# Dependancies to install and launch Multilogin application
RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y openjdk-18-jre-headless curl unzip openssh-client
# Set environment variables for Multilogin login
ENV ML_USERNAME="your_multilogin_username"
ENV ML_PASSWORD="your_multilogin_password"
# Install Multilogin app
RUN mkdir -p /opt/multilogin/
RUN cd /opt/multilogin/ && \
curl --location --fail --output multiloginapp-linux-x64-client "https://cdn-download.multiloginapp.com/multilogin/6.3.6/multilogin-6.3.6-1-linux_x86_64.zip" && \
unzip multiloginapp-linux-x64-client && \
chmod +x multiloginapp-linux-x64-client && \
rm multiloginapp-linux-x64-client && \
apt-get -y install ./multilogin.deb
# Copy our main run script into workdir
COPY ./run.sh /opt/Multilogin/
# Add permission to execute and run our script
RUN chmod +x /opt/Multilogin/run.sh
CMD bash /opt/Multilogin/run.sh
Ngoài ra, bạn sẽ cần một tệp run.sh được đặt trong cùng thư mục với Dockerfile của bạn. Tệp này là cần thiết để chạy Multilogin 6 với các tham số đăng nhập vì các lệnh Dockerfile CMD không hỗ trợ chúng:
#!/bin/bash
echo "Multilogin account is $ML_USERNAME with password of length $ML_PASSWORD"
cd opt/Multilogin/headless
bash ./cli.sh -login -u "$ML_USERNAME" -p "$ML_PASSWORD"
bash ./headless.sh -port 35000
Việc khởi chạy các cấu hình ở chế độ không có giao diện không được hỗ trợ trong Multilogin 6, vì vậy bạn sẽ cần triển khai giải pháp thay thế bằng cách sử dụng màn hình ảo như Xvfb
hoặc các tiện ích Linux khác. Bạn có thể đưa các cấu hình này vào tập lệnh bash run.sh của mình để thực hiện.
Bước 3: Chạy một container Docker
Để xây dựng một container Docker, hãy đảm bảo daemon Docker của bạn đang chạy, sau đó thực hiện lệnh sau trong thư mục chứa Dockerfile của bạn:
docker build -t multilogin-container .
Để chạy nó trong môi trường bạn muốn, hãy sử dụng lệnh sau:
docker run -d --name multilogin-app -p <host_port>:<container_port> multilogin-container
Chỉ định các cổng để liên kết máy chủ và vùng chứa Docker của bạn để truy cập theo yêu cầu HTTP .
Để xây dựng một container Multilogin 6 Docker với phiên bản linux-amd64 trên máy Mac M1 (kiến trúc arm64), bạn sẽ cần tính năng thử nghiệm Docker buildx. Tìm hướng dẫn chi tiết về cách bật tính năng này tại đây .