簡體   English   中英

使用volume-from裝入的卷為空

[英]Mounted volume using volume-from is empty

因此,這就是我想要做的:

Nginx容器鏈接到->運行Puma的Rails容器

使用docker-compose,此解決方案效果很好。 我能夠啟動兩個容器,並且NGINX容器可以使用volumes_from訪問鏈接容器中的卷。

首先,了解Dockerfile for Rails的相關內容:

ENV RAILS_ROOT /www/apps/myapp

RUN mkdir -p $RAILS_ROOT
WORKDIR $RAILS_ROOT

.... lots of files get put in their proper places ....

EXPOSE 3000

VOLUME [/www/apps/myapp/]

CMD puma -C config/puma.rb

Nginx的配置非常基礎,相關部分在這里:

ENV RAILS_ROOT /www/apps/myapp

# Set our working directory inside the image
WORKDIR $RAILS_ROOT

EXPOSE 80
EXPOSE 443

同樣,這一切在docker-compose中都很好用。 但是,在ECS中,我嘗試使用以下任務定義:

{
"family": "myapp",
"containerDefinitions": [
{
    "name": "web",
    "image": "%REPOSITORY_URI%:nginx-staging",
    "cpu": 512,
    "memory": 512,
    "portMappings": [
        {
            "containerPort": 80,
            "protocol": "tcp"
        },
        {
            "containerPort": 443,
            "protocol": "tcp"
        }
    ],
    "links": [
        "myapp"
    ],
    "volumesFrom": [
        {
            "sourceContainer": "myapp",
            "readOnly": false
        }
    ],        
    "essential": true,      
    "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
            "awslogs-group": "awslogs-myapp-staging",
            "awslogs-region": "us-west-2",
            "awslogs-stream-prefix": "awslogs-myapp-nginx"
        }
    }
},
{
        "image": "%REPOSITORY_URI%:v_%BUILD_NUMBER%",
        "name": "myapp",
        "cpu": 2048,
        "memory": 2056,
        "essential": true,
        ...bunch of environment variables, etc.
}

該任務按預期在ECS中啟動,並且myapp容器看起來很完美。 但是,當我使用以下命令在EC2實例主機上簽出nginx容器時

docker exec -it <container> bash

我進入/ www / apps / myapp,但目錄為空。 我試圖掛載驅動器並做其他幾件事,但是我在這里感到茫然……任何人對於如何從鏈接的容器中獲取文件以在我的nginx容器中可用有任何想法?

當然,在發布此消息后,我立即找到了解決方案。 因此,沒有其他人會感到這種痛苦,這里是:

VOLUME [/www/apps/myapp/]

VOLUME ["/www/apps/myapp/"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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