首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在码头上找不到与gitlab ci.yml相关的码头网络-组成-d

问在码头上找不到与gitlab ci.yml相关的码头网络-组成-d
EN

Stack Overflow用户
提问于 2022-02-25 11:02:04
回答 1查看 744关注 0票数 1

我想用码头和gitlab的管道制作一张ci cd。

我在码头上使用nginx代理管理器,并在我的vp上添加git实验室运行程序。我想我错过了配置中的一些东西。

因为当我使用docker network ls进行gitlab-ci.yml时,nginx代理管理器网络就丢失了:

代码语言:javascript
复制
$ docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
86c186c7d935        bridge              bridge              local
9c1df435a8a6        host                host                local
ade22cc32026        none                null                local

但我的副总裁终端上的根就在这里:

代码语言:javascript
复制
$ docker network ls
NETWORK ID     NAME                        DRIVER    SCOPE
fec1b6465ccd   bridge                      bridge    local
d2f1618cf9a9   host                        host      local
b879f034d44a   nginxproxymanager_default   bridge    local
54cfc9978bc1   none                        null      local

当然,当gitlab尝试运行-d时,我在-d中出现了一个错误。

代码语言:javascript
复制
$ docker-compose up -d
Network nginxproxymanager_default declared as external, but could not be found. Please create the network manually using `docker network create nginxproxymanager_default` and try again.

gitlab-ci.yml:

代码语言:javascript
复制
image:
    name: docker/compose:latest

services:
    - docker:dind

before_script:
  - docker info
  - docker-compose --version

stages: 
    - deploy
        
deployement:
    stage: deploy
    only:
        - main
    script:
        - docker network ls
        - docker build -t do-tout .
        - docker-compose down
        - docker-compose up -d

docker-compose.yml:

代码语言:javascript
复制
version: '2'

services:
  client:
    image: do-tout
    container_name: do-tout
    networks:
      - nginxproxymanager_default
networks:
  nginxproxymanager_default:
    external: true

有人能帮我吗?

奖金:我不知道如何管理环境变量来代替.env,有什么好的教程吗?

EN

回答 1

Stack Overflow用户

发布于 2022-02-25 12:27:02

gitlab中的安装不是在VPS的上下文中运行,而是在DinD中运行:

代码语言:javascript
复制
services:
    - docker:dind

您需要将部署指向VPS中的对接引擎,或者在DinD中进行测试,您需要首先创建网络:

代码语言:javascript
复制
deployement:
    stage: deploy
    only:
        - main
    script:
        - docker network create nginxproxymanager_default
        - docker network ls
        - docker build -t do-tout .
        - docker-compose down
        - docker-compose up -d
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71264863

复制
相关文章

相似问题

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