Score:2

เปิด GUI ในคอนเทนเนอร์ Docker ที่ทำงานบนเครื่องที่ไม่มีส่วนหัว

ธง in

ฉันกำลังพยายามเปิด Firefox GUI บนคอนเทนเนอร์ Docker ฉันกำลังหลีกเลี่ยงวิธีแก้ปัญหาทั่วไปซึ่งดูเหมือนจะใช้อยู่ช่วงหนึ่ง /tmp/.X11-ยูนิกซ์ จากโฮสต์เพราะฉันต้องการให้คอนเทนเนอร์ทำงานบนโฮสต์ใด ๆ รวมถึงโฮสต์ที่ไม่มีหัวที่ไม่มี X11

เป้าหมายคือใช้ซีลีเนียมเพื่อเปิด Firefox GUI และถ่ายภาพหน้าจอ ฉันไม่ค่อยแน่ใจว่าเป็นไปได้ไหม แต่ฉันเดาว่ามันเป็น

จาก Ubuntu: ล่าสุด

RUN DEBIAN_FRONTEND="ไม่โต้ตอบ" apt-get -y อัปเดต
RUN DEBIAN_FRONTEND="ไม่โต้ตอบ" apt-get -y ติดตั้ง python3 python3-pip firefox-geckodriver x11vnc xvfb
RUN DEBIAN_FRONTEND="ไม่โต้ตอบ" apt-get -y ติดตั้ง x11-xserver-utils
RUN DEBIAN_FRONTEND="noninteractive" pip install --upgrade --no-cache-dir pip-with-requires-python && \
    pip install --upgrade --no-cache-dir --prefer-binary ซีลีเนียม

เวิร์คดีอาร์ /app

คัดลอก entrypoint.sh
คัดลอก script.py

RUN chmod +x entrypoint.sh

CMD ["x11vnc", "-สร้าง", "-ตลอดไป"]
ENV ดิสเพลย์ :0
CMD ["xhost", "+"]

จุดเข้าใช้งาน ["/app/entrypoint.sh"]

ขณะนี้ xhost ส่งออก xhost: ไม่สามารถเปิดจอแสดงผล :0. ฉันไม่แน่ใจเกี่ยวกับ :0 แต่ฉันลองหลายค่า

แน่นอนว่าซีลีเนียมก็ล้มเหลวด้วย:

ไม่สามารถเริ่มต้นเซิร์ฟเวอร์: ไม่สามารถเชื่อมต่อได้: การเชื่อมต่อถูกปฏิเสธ
ข้อผิดพลาด: ไม่สามารถเปิดจอแสดงผล: :0

ฉันหมดความคิดดังนั้นสิ่งที่จะได้รับการชื่นชม :) ฉันคงขาดส่วนสำคัญไป

muru avatar
us flag
คุณจะไม่เริ่ม GUI ที่ขึ้นอยู่กับ X11 โดยที่ X11 ไม่ทำงาน *ที่ไหนสักแห่ง* คุณสามารถเริ่ม Firefox ในโหมดไร้หัวและขอให้มันจับภาพหน้าจอหรืออะไรก็ตาม เช่น https://stackoverflow.com/a/48377879/2072269

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา