簡體   English   中英

docker-docker與docker-swarm在docker-machine下未掛載卷

[英]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基礎架構: Localswarm-mastertwo 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM