Docker撰写无法运行静态HTML页面

我已经开发了一些静态的网页使用jQuery&bootstrap.Here遵循文件夹结构,

在这里输入图像说明

使用下面的命令我可以运行泊坞窗图像

build立图像

docker build -t weather-ui:1.0.0 . 

运行泊坞窗图像

 docker run -it -p 9080:80 weather-ui:1.0.0 

哪个工作正常,我可以看到使用http:// docker-host:9080的页面

但是我想为它创build一个docker-compose,我已经创build了如下所示的docker-compose文件

 version: '2' services: weather-ui: build: . image: weather-ui:1.0.0 volumes: - .:/app ports: - "9080:9080" 

上面的撰写文件不工作,它卡住了,

 $docker-compose up Building weather-ui Step 1 : FROM nginx:1.11-alpine ---> bedece1f06cc Step 2 : MAINTAINER *** ---> Using cache ---> ef75a70d43e8 Step 3 : COPY . /usr/share/nginx/html ---> 6fbc3a1d4aff Removing intermediate container 2dc46f1f751d Successfully built 6fbc3a1d4aff WARNING: Image for service weather-ui was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`. Recreating weatherui_weather-ui_1 ... Recreating weatherui_weather-ui_1 ... done Attaching to weatherui_weather-ui_1 

它卡在上面的线,我真的不知道为什么卡住了? 任何指针或提示将是伟大的解决这个问题。

按照Antonio的编辑,

我可以看到正在运行的容器,

 $docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 69ea4ff1a3ea weather-ui:1.0.2 "nginx -g 'daemon ..." 6 seconds ago Up 5 seconds 80/tcp, 443/tcp, 0.0.0.0:9080->9080/tcp weatherui_weather-ui_1 

但是,当启动页面,我什么都看不到。它说,该网站无法联系

docker-compose up构build您的docker容器(如果尚未完成),并将容器附加到您的控制台。

如果你打开你的浏览器,并转到http:// localhost:9080 ,你应该看到你的网站。

您不需要在docker-compose.yml中映射volume: volumes: - .:/app ,因为您已经在Dockerfile中复制了静态文件:

 COPY . /usr/share/nginx/html 

如果你想在后台启动你的容器(或者在“分离”模式下),添加-d选项: docker-compose up -d

默认情况下,docker-compose不是“rebuild”容器(如果已经存在),每次构build新的容器时,添加--build选项: docker-compose up -d --build