[英]docker-compose with docker-swarm under docker-machine not mounting volumes
我有一個工作正常的docker-compose
示例,使用nginx
運行靜態html。
目錄樹:
├── docker-compose.yml
├── nginx
│ ├── app
│ │ └── index.html
│ └── Dockerfile
docker-compose.yml
:
nginx:
build: ./nginx
volumes:
- ./nginx/app:/usr/share/nginx/html
ports:
- 8080:80
nginx
目錄具有Dockerfile
:
FROM nginx
一切正常。
問題是我遵循Docker文檔使用docker-machine
構建了Docker-Swarm
基礎架構: Local
, swarm-master
和two nodes
。
一切似乎也正常。
$ 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
$[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>
我進入virtualbox
並進入container
:
$[swarm-master]$ docker-machine ssh swarm-host-00
docker@swarm-host-00:~$ docker exec -ti d8afafeb9f05 bash
在nginx/html
目錄中什么也沒有:
root@d8afafeb9f05:/# ls /usr/share/nginx/html/
是否有必要在volumes
compose
/ swarm
做一些不同的事情? 難道我做錯了什么?
有必要將文件復制到主機或使用COPY
命令將映像構建到Dockerfile
參考: https : //github.com/docker/compose/issues/2799#issuecomment-177998133
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.