ฉันกำลังพยายามเปิด 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
ฉันหมดความคิดดังนั้นสิ่งที่จะได้รับการชื่นชม :)
ฉันคงขาดส่วนสำคัญไป