0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng dẫn Cài đặt Hệ điều hành Windows trên Docker và truy cập từ xa qua Remote Desktop

Đăng vào 1 tháng trước

• 4 phút đọc

Cài đặt Hệ điều hành Windows trên Docker và Truy cập từ xa qua Remote Desktop

Docker là một công cụ mạnh mẽ cho phép người dùng tạo và quản lý các container, mang lại hiệu suất cao và tính linh hoạt trong việc phát triển và triển khai ứng dụng. Mặc dù Docker thường được sử dụng để chạy các ứng dụng trên nền tảng Linux, nhưng bạn hoàn toàn có thể cài đặt một hệ điều hành Windows trong Docker. Bài viết này sẽ cung cấp hướng dẫn chi tiết cách cài đặt Windows trên Docker và cách truy cập từ xa bằng Remote Desktop.

Nội dung bài viết

  1. Demo cài đặt và hướng dẫn
  2. Clone Project
  3. Tạo file docker-compose
  4. Dockerfile để build Windows
  5. Chạy Project và kết nối Remote Desktop
  6. Chuyển dữ liệu giữa máy chủ và container

Demo cài đặt và hướng dẫn

Bạn có thể truy cập vào demo cài đặt chi tiết qua link dưới đây.

Clone Project

Bạn có thể clone project từ kho GitHub sau:

bash Copy
git clone git@github.com:trannguyenhan/windows-docker-container.git
cd windows-docker-container

Tạo file docker-compose

Tạo một file docker-compose.yml với nội dung sau:

yaml Copy
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "11"
      USERNAME: "admin"
      PASSWORD: "admin"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m
    volumes:
      - ./win:/storage
      - /media/trannguyenhan/USB1/data:/data

Lưu ý:

  • USERNAMEPASSWORD sẽ là tài khoản và mật khẩu người dùng mặc định khi khởi tạo container.
  • Dòng lệnh /media/trannguyenhan/USB1/data chỉ định thư mục trên máy chủ sẽ được mount vào container.

Dockerfile để build Windows

Tạo một file Dockerfile với nội dung như sau:

dockerfile Copy
ARG VERSION_ARG="latest"
FROM scratch AS build-amd64

COPY --from=qemux/qemu-docker:6.13 / / 

ARG DEBCONF_NOWARNINGS="yes"
ARG DEBIAN_FRONTEND="noninteractive"
ARG DEBCONF_NONINTERACTIVE_SEEN="true"

RUN set -eu && \
    apt-get update && \
    apt-get --no-install-recommends -y install \
        bc \
        jq \
        curl \
        7zip \
        wsdd \
        samba \
        xz-utils \
        wimtools \
        dos2unix \
        cabextract \
        genisoimage \
        libxml2-utils \
        libarchive-tools && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

COPY --chmod=755 ./src /run/
COPY --chmod=755 ./assets /run/assets

ADD --chmod=664 https://github.com/qemus/virtiso-whql/releases/download/v1.9.44-0/virtio-win-1.9.44.tar.xz /drivers.txz

FROM dockurr/windows-arm:${VERSION_ARG} AS build-arm64
FROM build-${TARGETARCH}

ARG VERSION_ARG="0.00"
RUN echo "$VERSION_ARG" > /run/version

VOLUME /storage
EXPOSE 8006 3389

ENV VERSION="11"
ENV RAM_SIZE="8G"
ENV CPU_CORES="4"
ENV DISK_SIZE="60G"

ENTRYPOINT ["/usr/bin/tini", "-s", "/run/entry.sh"]

Trước khi chạy, hãy thay đổi các tham số RAM, CPU và DISK trong Dockerfile để phù hợp với cấu hình máy tính của bạn.

Chạy Project và kết nối Remote Desktop

Để bắt đầu cài đặt hệ điều hành Windows, bạn sử dụng lệnh sau:

bash Copy
docker-compose up

Sau khi lệnh thực thi, đợi khoảng 1 phút để quá trình setup hoàn tất. Bạn có thể truy cập vào địa chỉ http://localhost:8006/ để theo dõi tiến trình cài đặt Windows. Tất cả các thao tác đều diễn ra tự động, bạn chỉ cần chờ cho quá trình cài đặt hoàn tất.

Khi quá trình cài đặt kết thúc, bạn sẽ có thể thấy giao diện Windows hiển thị trên trình duyệt. Tuy nhiên, thao tác trên trình duyệt có thể không tiện lợi bằng việc sử dụng Remote Desktop. Vì vậy, chúng ta sẽ kết nối thông qua Remote Desktop.

Trên hệ điều hành Ubuntu, bạn có thể sử dụng phần mềm Remmina để kết nối Remote Desktop. Đầu tiên, kiểm tra địa chỉ IP của container:

bash Copy
docker ps

Lấy ID của container và sử dụng lệnh sau để xác định địa chỉ IP:

bash Copy
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_id>

Mở Remmina, nhập thông tin Username/Password là tài khoản đã setup trong môi trường Docker. Mặc định, cổng kết nối là 3389 nếu không thay đổi.

Sử dụng Remote Desktop sẽ mang lại trải nghiệm mượt mà hơn, giống như bạn đang quản lý một VPS từ xa.

Chuyển dữ liệu giữa máy chủ và container

Để chuyển dữ liệu giữa máy chủ và Windows container, bạn có thể vào Windows Explorer, chọn Network, sau đó chọn host.lan và tìm thư mục Data. Thư mục này sẽ đồng bộ trực tiếp với thư mục /media/trannguyenhan/USB1/data được thiết lập trong file docker-compose.

Trên đây là hướng dẫn chi tiết về cách cài đặt và truy cập hệ điều hành Windows trên Docker qua Remote Desktop. Hy vọng bài viết sẽ giúp bạn có thêm kinh nghiệm trong việc sử dụng Docker cho các nhu cầu phát triển và thử nghiệm hệ điều hành Windows.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào