2017-05-27 86 views
-1

我想要構建一個docker容器,它可以在任何系統上運行HTML文件,只需要用戶鍵入docker run...即可。 這是HTML代碼:Docker - 在docker中運行一個HTML文件

<!doctype html> 
<html> 
    <style> 
    body { 
     padding: 20px 5%; 
     color: white; 
     font-family: Sabon, serif; 
     margin: auto; 
     max-width: 800px; 
    } 
    @media (min-width: 600px) { 
    } 
    </style> 
    <head> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>D & T</title> 
    </head> 
    <body> 
    <center> 
    <div id="headline"> 
     <header> 
     <h1>Date and Time</h1> 
     <p></p> 
     </header> 
     <div id="blurb"> 
     <p>This page will show you your current local time.</p> 
     </div> 
    </div> 
    <div id="section1"> 
     <h2></h2> 
     <p>It is now</p> 
    </div> 
    <div id="section2"> 
     <script type="text/javascript"> 
     document.write ('<p>----<span id="date-time">', new Date().toLocaleString(), '<\/span>----<\/p>') 
     if (document.getElementById) onload = function() { 
    setInterval ("document.getElementById ('date-time').firstChild.data = new Date().toLocaleString()", 50) 
     } 
     </script> 
    </div> 
    <div id="section3"> 
     <div style="position: absolute; bottom: 5px"> 
     <i>RG</i> 
     </div> 
    </div> 
    <footer> 
     <p><i>Created 26 May 2017</i></p> 
    </footer> 
    </center> 
    </body> 
</html> 

目前我正在嘗試使用一個Ubuntu 14.04的環境和使用wget得到links2,然後使用XDG-開開HTML文件打開HTML文件。但我沒有得到頁面。 docker run...只是沒有做什麼。沒有錯誤,但沒有網頁。 這是我Dockerfile

FROM ubuntu:14.04 

WORKDIR /app 

ADD . /app 

USER root 

RUN apt-get update 

RUN apt-get install --no-install-recommends xdg-utils 

RUN apt-get install -y --no-install-recommends links2 

RUN xdg-open datetime.html 

任何的替代品或正確的解決方案?

+1

「運行HTML文件」 - 你什麼意思?你想在瀏覽器中顯示這個html或什麼? – arbogastes

+0

是的,在瀏覽器中。它甚至有可能嗎? – user7091463

回答

0

你需要一個服務來暴露HTML(apache或nginx)。您只需運行$ docker run --name some-nginx -v /some/content:/usr/share/nginx/html:ro -d nginx,其中some/content鏈接到您的HTML文件。這裏有一個鏈接到官方的Nginx泊塢窗:https://hub.docker.com/_/nginx/

+0

我遵循官方的Nginx docker說明,但是在執行'docker run --name xyz -d -p 8080:80 abc'後,我得到一個像這樣的長字符串:'8ezsh23dfg4fgh23 ...'這是什麼和什麼它的意思是? – user7091463

0

檢查你泊塢窗機的ip有:

docker-machine ip 

它會給例如:192.168.99.100當你的容器將在指定的IP進行乳寧,那麼你可以檢查結果(例如http://192.168.99.100/) 將您的index.html文件放在您的Dockerfile所在的同一文件夾中。您Dockerfile可以是這樣的:

FROM ubuntu:14.04 

COPY index.html /var/www/html/ 

當文件將準備去他們的文件夾,然後運行:

docker build -t my_html_file . 
docker run -p 80:80 my_html_file 

還可以訪問http://192.168.99.100/

+0

如何「訪問」IP?在哪裏,我在哪裏輸入它?我做了上面的,但是在執行'docker run -p 80:80 my_html_file'後,我什麼都沒有。只是一個新的命令行。 – user7091463

+0

@ user7091463打開您的瀏覽器並將您的地址粘貼到它以顯示您的HTML。 – arbogastes