Docker-compose:将文件从本地环境复制到EC2实例

时间:2016-11-14 13:56:53

标签: mysql docker amazon-ec2 docker-compose

您好我有一个为烧瓶应用程序和mysql实例构建docker容器的配置。

我使用

创建一个新VM

docker-machine create -d amazonec2 --....... production

然后(在设置正确的环境后)

docker-compose build - > docker-compose up -d

问题是所有这些都发生在CWD是我需要的文件的本地仓库时。事实证明这些文件不会被复制。

我查看了docker cpdocker scp,但似乎他们没有解决问题。例如。与SCP我无法参考我需要复制回购的特定机器(xow_web_1)

以下是.yml

web:
  restart: always
  volumes:
    - .:/xow
  build: .
  ports:
    - "80:80"
  links:
    - db
  hostname: xowflask
  command: python xow.py
db:
  restart: always
  hostname: xowmysql
  image: mysql:latest
  ports:
   - "3306:3306"
  environment:
    MYSQL_ROOT_PASSWORD: somepasswordhere
    MYSQL_DATABASE: somedatabase
data:
  restart: always
  image: mysql:latest
  volumes:
     - /var/lib/mysql
  command: "true"

如何解决这个问题最合适? docker-compose是正确的做法吗?看起来很棒,但它并没有解决像这样的问题

1 个答案:

答案 0 :(得分:1)

我们在组织中解决问题的方法是使用COPY命令将文件夹中的所有数据复制到容器中。 例如,将所有文件从当前目录复制到container / src文件夹将如下所示 -

### Copy Code
COPY . /src

看起来您应该将此行添加到docker-compose配置中的web容器中。