我想用码头和gitlab的管道制作一张ci cd。
我在码头上使用nginx代理管理器,并在我的vp上添加git实验室运行程序。我想我错过了配置中的一些东西。
因为当我使用docker network ls进行gitlab-ci.yml时,nginx代理管理器网络就丢失了:
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
86c186c7d935 bridge bridge local
9c1df435a8a6 host host local
ade22cc32026 none null local但我的副总裁终端上的根就在这里:
$ 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中出现了一个错误。
$ 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:
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 -ddocker-compose.yml:
version: '2'
services:
client:
image: do-tout
container_name: do-tout
networks:
- nginxproxymanager_default
networks:
nginxproxymanager_default:
external: true有人能帮我吗?
奖金:我不知道如何管理环境变量来代替.env,有什么好的教程吗?
发布于 2022-02-25 12:27:02
gitlab中的安装不是在VPS的上下文中运行,而是在DinD中运行:
services:
- docker:dind您需要将部署指向VPS中的对接引擎,或者在DinD中进行测试,您需要首先创建网络:
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 -dhttps://stackoverflow.com/questions/71264863
复制相似问题