Docker là công cụ tạo máy ảo (container) trên linux nhanh gọn và đơn giản. Bài viết này sẽ hướng dẫn các bạn tạo một container có giao diện UI trên Linux.
Xem thêm:
Truyền lệnh từ Host vào Docker Container
Sử dụng Docker: Export/Import, Save/Load Container
Cài đặt và sử dụng Docker Registry
Tạo container
Để tạo một container có giao diện mình sẽ sử dụng một docker image có tên là consol/centos-xfce-vnc.
Trước hết bạn cần cài đặt docker trên hệ thống, nếu chưa cài đặt bạn có thể xem hướng dẫn cài tại đây
Cú pháp để tạo một docker container (centos) có giao diện như sau:
docker run --shm-size=512m -p 5901:5901 -p 6901:6901 --restart always -e VNC_RESOLUTION=1920x1080 -e VNC_PW=123456 --user $(id -u):$(id -g) -v /opt/:/opt/ --name VNC_CENTOS_REMOTE -it consol/centos-xfce-vnc:1.3.0 /bin/bash
Trong đó:
- “docker run”: tạo container
- “–shm-size=512m”: đặt kích thướng ram disk cho container, nếu bạn để mặc định sẽ gây ra trường hợp chrome bị cash do thiếu memory
- “-p 5901:5901 -p 6901:6901”: map port remote cho vnc và trình duyệt
- “–restart always”: luôn khởi động container
- “-e VNC_RESOLUTION=1920×1080”: độ phân giải của container
- “-e VNC_PW=123456”: password truy cập container
- “–user $(id -u):$(id -g)”: thay đổi user và group mặc định của container bằng user hiện tại
- “-v /opt/:/opt/”: liên kết thư mục opt trong container và host
- “–name VNC_CENTOS_REMOTE”: tên container
- “-it consol/centos-xfce-vnc:1.3.0”: tên image phiên bản 1.4.0
Console Log:
[root@ITFROMZERO ~]# docker run --shm-size=512m -p 5901:5901 -p 6901:6901 --restart always -e VNC_RESOLUTION=1920x1080 -e VNC_PW=123456 --user $(id -u):$(id -g) -v /opt/:/opt/ --name VNC_CENTOS_REMOTE -it consol/centos-xfce-vnc:1.3.0 /bin/bash Unable to find image 'consol/centos-xfce-vnc:1.4.0' locally 1.4.0: Pulling from consol/centos-xfce-vnc a02a4930cb5d: Already exists 91ee5a98d25d: Pull complete 34dcfe98c544: Pull complete 37148de94ed8: Pull complete be9af41cfe6b: Pull complete 8f4a76f550be: Pull complete 40639c912cdd: Pull complete 99e23e969a7d: Pull complete 29d1aff5ee47: Pull complete 802daa865e1f: Pull complete 6cdff890f573: Pull complete 853c1abd2a9f: Pull complete bd256b6f9b16: Pull complete 03cad9d85168: Pull complete edaa82c31e98: Pull complete Digest: sha256:b3592f6ca3692abdd10194e23853f4eae0f2b95800dbadae84d53182d429bd5d Status: Downloaded newer image for consol/centos-xfce-vnc:1.4.0 USER_ID: 0, GROUP_ID: 0 ------------------ update chromium-browser.init ------------------ ... set window size 1920 x 1080 as chrome window size! ------------------ change VNC password ------------------ ------------------ start noVNC ---------------------------- ------------------ start VNC server ------------------------ remove old vnc locks to be a reattachable container start vncserver with param: VNC_COL_DEPTH=24, VNC_RESOLUTION=1920x1080 ... start window manager ... ------------------ VNC environment started ------------------ VNCSERVER started on DISPLAY= :1 => connect via VNC viewer with 172.17.0.18:5901 noVNC HTML client started: => connect via http://172.17.0.18:6901/?password=... ------------------ EXECUTE COMMAND ------------------ Executing command: '/bin/bash' USER_ID: 0, GROUP_ID: 0 bash-4.2# exit
Truy cập vào container
Sau khi thực thi câu lệnh trên, bạn có thể truy cập container từ VNC Viewer (cổng 5901) hoặc trình duyệt Web (cổng 6901) .
Remote bằng trình duyệt:
http://192.168.1.90:6901
Remote bằng VNC Viewer
Mở VNC Viewer và remote đến IP với cổng 5901
Ví dụ: 192.168.1.90:5901
Để tham khảo thêm hoặc tạo các container phiên bản khác (Ubuntu,..) các bạn truy cập https://hub.docker.com/r/consol/centos-xfce-vnc
Chúc các bạn thành công.