Docker - запустить HTML-файл в Docker
Я хочу создать Docker-контейнер, который может запускать HTML-файл в любой системе, просто требуя от пользователя ввода docker run...
, Это 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>
В настоящее время я пытаюсь открыть файл HTML, используя среду Ubuntu 14.04 и используя wget для получения links2, а затем использую xdg-open для открытия файла 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
Есть ли альтернативы или правильные решения?
2 ответа
Вам нужен сервис для предоставления 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/
Проверьте ваш 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/