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
。