首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未链接到主容器的Wercker服务

未链接到主容器的Wercker服务
EN

Stack Overflow用户
提问于 2016-03-01 01:23:44
回答 1查看 234关注 0票数 0

我在Wercker中遇到的问题是,我的wercker.yml中的特定wercker.yml没有链接到我的主码头容器。

在成功部署Wercker之后,当我的节点应用程序没有在端口3001上运行时,我注意到了这个问题,它的输出可以在下面的图像中看到。

因此,我将SSH放入我的服务器和在Wercker部署之后运行的docker容器中,使用:

代码语言:javascript
复制
docker exec -i -t <my-container-name> ./bin/bash

并在我的MongoDB日志中发现了以下PM2错误

代码语言:javascript
复制
[MongoError: connect EHOSTUNREACH 172.17.0.7:27017

奇怪的是,从下面的映像中可以看到,我从每个服务中需要的两个环境变量都已设置:

有人知道为什么即使设置了环境变量也不能从我的主容器访问服务容器吗?

折叠是我正在使用的wercker.yml文件。

代码语言:javascript
复制
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 root@ docker pull /:latest
    - script:
        name: stop running container
        code: ssh root@ docker stop  || echo ‘failed to stop running container’
    - script:
        name: remove stopped container
        code: ssh root@ docker rm  || echo ‘failed to remove stopped container’
    - script:
        name: remove image behind stopped container
        code: ssh root@ docker rmi /:current || echo ‘failed to remove image behind stopped container’
    - script:
        name: tag newly pulled image
        code: ssh root@ docker tag /:latest /:current
    - script:
        name: run new container
        code: ssh root@ docker run -d -p 8080:3001 --name  /:current
    - script:
        name: env
        code: env
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-02 07:02:40

AFAIK Wercker服务仅在构建过程中可用,而不是在部署过程中可用。Mongo和Redis是持久化的数据存储区,这意味着它们不应该在每次部署时重新安装。

因此,请确保在部署环境中手动设置Redis和Mongo。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35713026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档