Docker

2016-04-01 34 views
0

ile Heroku dağıtımı için "uzak işlem türleri" nasıl değiştirilir kapsayıcısını Heroku'a aktarıyorum ve yanlış remote process types'u dağıtıyorum. Nedense Docker

web: 
    build: . 
    command: python app.py 
    working_dir: /app 
    environment: 
    PORT: 8080 
    ports: 
    - '8080:5000' 
shell: 
    build: . 
    command: bash 
    working_dir: /app 
    environment: 
    PORT: 8080 
    ports: 
    - '8080:5000' 
    volumes: 
    - '.:/app' 

Ben heroku docker:release kullanarak dağıtan alıyorum:

web: python app.py 

Benim docker-compose.yml dosyasıdır: Ben

Procfile aslında ... Bu neden oluyor emin değilim

Remote addons: (0)                 Local addons: (0)                Missing addons: (0)                  Creating local slug...                Building web                   Step 1 : FROM t206cv:latest                ---> af69b4ac9de8 
Successfully built af69b4ac9de8 
extracting slug from container... 
creating remote slug... 
language-pack: heroku-docker (t206cv:latest) 
remote process types: { web: 'cd /app/user && python app.py' } 
uploading slug [====================] 100% of 127 MB, 0.0s 
releasing slug... 
Successfully released still-depths-21391! 

nasıl değiştirebilirim?
remote process types: { web: 'cd /app/user && python app.py' } 

remote process types: { web: 'cd /app && python app.py' } 
+0

Bu '/ app/user' dizini, yaptığınız önceki bir yapıdan mi kaldı? "Docker-compose build" ile yeniden oluşturursanız, bunu düzeltir mi? – Gerrat

+0

Bu işe yaramadı ... Ben bir şey dışarı attı, ben koştu 'kahramanca docker: init' ve 'docker-compose.yml 'dosyası otomatik olarak oluşturuldu,'/app/user 'yolunu içerdi . Emin değilim neden. Onları yukarıda yazdıklarıma elle değiştirmek zorunda kaldım. – jdesilvio

cevap

0

için docs çalıştırdığınızda, docker-compose.yml ve Dockerfile ikisi de bir app.json dosyadan üretildiğini gösterir gibi görünmektedir: heroku docker:init.

/app/user yolu büyük olasılıkla büyük olasılıkla değişebilir ve muhtemelen değiştirilecek en iyi yer olacaktır (ve daha sonra heroku docker:init'u yeniden çalıştırın).

Alternatif olarak, bu yol Dockerfile içinde olabilir ve yalnızca orada (.yml dosyanızın yanı sıra) olarak değiştirilip sorununuzu düzeltebilir.

DÜZENLEME: app/user dizinde benziyor

kodlanmış directory.js yılında, heroku-docker kendini olduğunu. Tuhaf görünüyor ama değiştirebileceğin tek yer bu olabilir.

... ve aynı zamanda oluşturulmuş docker-compose.yml dosyasının kaynağı gibi görünen docker.js'da kodlanmış gibi görünüyor.

+0

Bu işe yaramadı. Ben 'heroku docker: init' koştu tekrar, 'docker-compose.yml' dosyasının üzerine yazdı ve ben tekrar 'app/user' yolunu değiştirmek zorunda kaldı. – jdesilvio

+0

Bu "app.json" dosyasındaki '/ app/user' yolu buydu ve orada değiştirdiniz mi? ... ve içeride olup olmadığını görmek için Dockerfile'a baktın mı? – Gerrat

+0

Hayır öyle değildi. Neden bu '/ kullanıcı' '/ app' yoluna eklediğinden emin değilim, fakat 'app/user' yolunu, 'heroku docker: release' komutlarını referans gösteren diğer birçok yayında görüyorum: https://github.com/heroku/heroku-cli/issues/190 – jdesilvio