首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用docker (分别为docker-in-docker)在Gitlab CI上启动nginx?

如何使用docker (分别为docker-in-docker)在Gitlab CI上启动nginx?
EN

Stack Overflow用户
提问于 2018-06-06 16:32:57
回答 1查看 191关注 0票数 1

我有一个DigitalOcean服务器,其中一个gitlab运行者注册到了一个简单的Gitlab资源库。在第一步中,我只想拉出并运行普通的nginx。我可以在该服务器上安装docker而不会出现任何问题。

所以现在我想借助dind (docker-in-docker)来做这件事,因为它是gitlab文档推荐的,而不是gitlab运行者。

我定义了以下gitlab-ci文件:

代码语言:javascript
复制
image: docker:18.03.1-ce

variables:
  DOCKER_DRIVER: overlay2

services:
- docker:dind

before_script:
  - docker info

build:
  script:
    - docker pull nginx
    - docker run -d -p 80:80 nginx

我的gitlab runner已经在repo中注册好了。这是gitlab runner服务的config.toml:

代码语言:javascript
复制
[[runners]]
  name = "my-runner-04"
  url = "https://gitlab.com/"
  token = TOKEN
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "docker:18.03.1-ce"
    privileged = true
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]

..。这项工作完成得很好。gitlab页面的控制台输出中没有错误。这是输出:

代码语言:javascript
复制
...
Status: Downloaded newer image for nginx:latest
$ docker run -d -p 80:80 nginx
84edac280a13714f3c5446ea024ad47864f68f6e5b73383427a28180227f37fd
Job succeeded

现在,如果我访问服务器的ip地址。静态nginx测试页面不显示。所以我怀疑是dind的端口暴露有问题还是路径有问题?我到底错过了什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-06-06 22:16:02

您确定要在GitLab CI中的nginx上托管网站吗?

GitLabCI旨在用于测试/部署。你的gitlab-ci文件说:下载nginx +运行nginx =>结束...

如果你想在你的DigitalOcean服务器上运行nginx,可以在GitLabCI之外运行。

我可以想象你用来测试PHP应用程序的设计(用GitLabCI):

  1. 下载PHP应用...
  2. 拉取并运行nginx
  3. 尝试通过nginx/check response 200.下载PHP应用源代码..等等。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50715743

复制
相关文章

相似问题

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