首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >docker-与docker-swarm组合在docker-machine下,而不是挂载卷

docker-与docker-swarm组合在docker-machine下,而不是挂载卷
EN

Stack Overflow用户
提问于 2016-02-01 19:25:20
回答 1查看 152关注 0票数 0

我有一个用nginx运行静态html的docker-compose示例。

目录树:

代码语言:javascript
运行
复制
├── docker-compose.yml
├── nginx
│   ├── app
│   │   └── index.html
│   └── Dockerfile

The docker-compose.yml

代码语言:javascript
运行
复制
nginx:
  build: ./nginx
  volumes:
    - ./nginx/app:/usr/share/nginx/html
  ports:
    - 8080:80

nginx目录包含Dockerfile

代码语言:javascript
运行
复制
FROM nginx

一切都运行正常。

问题是,我使用docker-machine构建了一个Docker-Swarm基础架构,遵循Docker文档:Localswarm-mastertwo nodes

一切似乎也运行得很好。

代码语言:javascript
运行
复制
$ eval $(docker-machine env --swarm swarm-master)
$[swarm-master]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                  NAMES
d8afafeb9f05        few_nginx           "nginx -g 'daemon off"   20 minutes ago      Up 3 seconds        443/tcp, 192.168.99.102:8080->80/tcp   swarm-host-00/few_nginx_1

但是nginx返回了一个Forbidden

代码语言:javascript
运行
复制
$[swarm-master]$ curl http://192.168.99.102:8080/
<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.9.10</center>
</body>
</html>

我进入virtualboxcontainer

代码语言:javascript
运行
复制
$[swarm-master]$ docker-machine ssh swarm-host-00
docker@swarm-host-00:~$ docker exec -ti d8afafeb9f05 bash

并且nginx/html目录中没有任何内容:

代码语言:javascript
运行
复制
root@d8afafeb9f05:/# ls /usr/share/nginx/html/

有必要在volumescompose/swarm中做一些不同的事情吗?我做错了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-02 18:31:55

有必要将文件复制到主机或使用COPY命令在Dockerfile中构建映像

参考:https://github.com/docker/compose/issues/2799#issuecomment-177998133

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35129337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档