ทั้งหมดที่ฉันหาได้คือรูปภาพ Docker อย่างเป็นทางการสำหรับ Ubuntu Desktopบน Docker Hub ไม่มีเซิร์ฟเวอร์ Ubuntu หรือไม่
หมายความว่าฉันต้องสร้างภาพฐานของตัวเองโดยใช้scratch
?
ทั้งหมดที่ฉันหาได้คือรูปภาพ Docker อย่างเป็นทางการสำหรับ Ubuntu Desktopบน Docker Hub ไม่มีเซิร์ฟเวอร์ Ubuntu หรือไม่
หมายความว่าฉันต้องสร้างภาพฐานของตัวเองโดยใช้scratch
?
คำตอบ:
ทั้งหมดที่ฉันหาได้คือรูปภาพ Docker อย่างเป็นทางการสำหรับ Ubuntu Desktopบน Docker Hub
หน้านี้ไม่มีที่ไหนเลยที่บอกว่าเป็นอิมเมจUbuntu Desktop อย่างไรก็ตามนั่นไม่สมเหตุสมผลเพราะคุณ (โดยทั่วไป) ไม่ได้รันสภาพแวดล้อมเดสก์ท็อปในคอนเทนเนอร์ Docker
คุณสามารถทดสอบก่อนใช้ bash ในคอนเทนเนอร์ Ubuntu โดย:
docker run -it ubuntu /bin/bash
-i
,--interactive
ให้ STDIN เปิดอยู่แม้ว่าจะไม่ได้เชื่อมต่อก็ตาม
-t
,--tty
จัดสรรหลอก TTY
จากนั้นเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่าubuntu-desktop
มีการติดตั้งหรือไม่:
dpkg -l ubuntu-desktop
คำถามนั้นเกี่ยวกับเซิร์ฟเวอร์ Ubuntu แต่คำตอบและการสนทนาทั้งหมดเกี่ยวกับ Ubuntu Desktop ดังนั้นฉันจะตอบทั้งสองอย่าง แต่พูดกับ Ubuntu Desktop ก่อน ในที่สุด (และมีแนวโน้มว่าจะไม่แนะนำให้ใช้กับภาชนะบรรจุชั่วคราวและภาชนะส่วนใหญ่ควรเป็นชั่วคราวสำหรับแนวทางปฏิบัติที่ดีที่สุดของ Dockerแต่ก็มีข้อยกเว้น) คุณสามารถติดตั้ง Ubuntu Desktop และ Ubuntu Server บนคอนเทนเนอร์และเรียกใช้
หมายเหตุ:คุณสามารถเพิ่มการ--rm
ตั้งค่าสถานะเพื่อป้องกันที่เก็บข้อมูลโฮสต์ของคุณจาก bloating โดยการลบคอนเทนเนอร์โดยอัตโนมัติหลังจากที่พวกเขาเรียกใช้ถ้าคุณเพียงทดลองกับพวกเขา
docker run --rm -it ubuntu
นี่คือภาชนะที่ค่อนข้างใหญ่! ~ 1.5Gb
หากคุณทำงาน:
docker run -it ubuntu
จากนั้นในคอนเทนเนอร์:
> apt-get update && apt-get install -y ubuntu-desktop
คุณจะดาวน์โหลด Ubuntu Desktop ได้อย่างมีประสิทธิภาพ
สามารถสร้าง Dockerfile ได้:
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-desktop
จากนั้นสร้าง:
docker build -t ubuntu-desktop .
และเรียกใช้:
docker run -it ubuntu-desktop
docker run -it ubuntu
จากตู้คอนเทนเนอร์:
apt-get update && apt-get install -y ubuntu-server
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server
สร้างมัน:
docker build -t ubuntu-server .
เรียกใช้:
docker run -it ubuntu-server
docker run -it ubuntu
เทอร์มินัลของคอนเทนเนอร์:
apt-get update && apt-get install -y ubuntu-server ubuntu-desktop
FROM ubuntu:16.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y ubuntu-server ubuntu-desktop
สร้างมัน:
docker build -t ubuntu-server-desktop .
เรียกใช้:
docker run -it ubuntu-server-desktop.
พวกเขาเริ่มต้นด้วยไฟล์ cloudimg เป็นฐาน
หากคุณดูรายการภาพเมฆที่นี่ดูเหมือนว่ามันเป็นภาพฐานการปรับใช้เซิร์ฟเวอร์
IMHO สก์ท็อปอูบุนตูส่วนใหญ่จะเป็นเพียง+ubuntu server
desktop environment
repo OP อย่างเป็นทางการชี้ไปที่ไม่มีภาพใด ๆ ที่มีสภาพแวดล้อมเดสก์ทอปดังนั้นคุณควรปฏิบัติต่อพวกเขาเป็นรุ่นเซิร์ฟเวอร์
สำหรับ minimalist ฉันกำลังใช้gcr.io/google_containers/ubuntu-slim:0.14
สำหรับโครงการส่วนบุคคลของฉัน มันเป็นภาพอูบุนตูขนาดเล็ก แต่ทำงานได้อย่างเต็มประสิทธิภาพโดยมีขนาดเพียง 1/3 ของภาพทางการ
เพื่อชี้แจงคำตอบ ghanbari เพิ่มเติม นี่คือผลลัพธ์ของคำสั่ง ไม่มีแพคเกจเกี่ยวกับเดสก์ท็อปแน่นอน
> docker pull ubuntu:latest
> docker run -t -i ubuntu /bin/bash
> dpkg -l ubuntu-desktop
> dpkg-query: no packages found matching ubuntu-desktop
apt-get update
ความต้องการเพียงแค่
หากต้องการเรียกใช้ Ubuntu รุ่นใดรุ่นหนึ่งโดยใช้ Docker ให้เรียกใช้คำสั่งนี้:
docker run -it ubuntu:16.04 /bin/bash
16.04 เป็นหมายเลขเวอร์ชัน หากคุณข้ามหมายเลขเวอร์ชั่นภาพล่าสุดจะถูกเลือกจากที่เก็บ คุณไม่จำเป็นต้องรับไฟล์ทั้งหมดของ Dockerfile และสร้างมันขึ้นใหม่