Проблема, с которой я столкнулся Wercker - то, что конкретный linked services в моем wercker.yml не связан с моим основным контейнером докера.Услуги Wercker не связаны с главным контейнером
Я заметил эту проблему, когда мое приложение-узел не было запущено на порт 3001 после успешного завершения Wercker, в котором его вывод можно увидеть на изображении ниже.
Поэтому я SSH'd в моем сервере и в мой Docker контейнер, который был запущен после Wercker развертывания с помощью:
docker exec -i -t <my-container-name> ./bin/bash
и нашел следующую MongoDB ошибку в моем PM2 бревна:
[MongoError: connect EHOSTUNREACH 172.17.0.7:27017
Странный фасад т в том, что из изображений ниже вы можете увидеть, что обе переменные окружения, которые мне нужно от каждой соответствующей службы были установлены:
Кто-нибудь знает, почему контейнеры услуги не могут быть доступны из моего основного контейнера даже думал, что их переменные среды установлены?
Следующее является файлом wercker.yml, который я использую.
box: node
services:
- id: mongo
- id: redis
build:
steps:
- npm-install
deploy:
steps:
- npm-install
- script:
name: install pm2
code: npm install pm2 -g
- internal/docker-push:
username: $DOCKER_USERNAME
password: $DOCKER_PASSWORD
repository:/
ports: "3001"
cmd: /bin/bash -c "cd /pipeline/source && pm2 start processes_prod.json --no-daemon"
env: "MONGO_PORT_27017_TCP_ADDR"=$MONGO_PORT_27017_TCP_ADDR,"REDIS_PORT_6379_TCP_ADDR"=$REDIS_PORT_6379_TCP_ADDR
- add-ssh-key:
keyname: DIGITAL_OCEAN_KEY
- add-to-known_hosts:
hostname:
- script:
name: pull latest image
code: ssh [email protected] docker pull /:latest
- script:
name: stop running container
code: ssh [email protected] docker stop || echo ‘failed to stop running container’
- script:
name: remove stopped container
code: ssh [email protected] docker rm || echo ‘failed to remove stopped container’
- script:
name: remove image behind stopped container
code: ssh [email protected] docker rmi /:current || echo ‘failed to remove image behind stopped container’
- script:
name: tag newly pulled image
code: ssh [email protected] docker tag /:latest /:current
- script:
name: run new container
code: ssh [email protected] docker run -d -p 8080:3001 --name /:current
- script:
name: env
code: env
Спасибо. Я закончил тем, что сделал именно это, и он отлично работал. –