Tag: gitlab

如何将主机文件夹挂载到Docker容器中,保持主机只读但可写入容器

是否可以将主卷上的文件夹挂载到容器中,使主机文件夹保持只读状态,同时允许容器修改自己的覆盖文件中的文件? 用例:我们有一个使用由厨师pipe理的docker executor的gitlab实例。 gitlab亚军旋转了一个容器,为我们部署。 我们在主机上有一个共享的ssh密钥,我们可以将它安装到容器中,这样我们就可以进入我们所有的服务器并进行部署。 问题:我们有其他团队也使用我们的gitlab实例。 他们需要ssh进入他们的服务器。 他们覆盖了id_rsa,允许他们连接,但是这写入主机文件夹,然后又打破了我们的pipe道。 是否有可能让docker拉的证书,并只允许一种方式写入容器层?

Docker / GitLab:在docker镜像中安装的npm依赖项,但是通过runner没有得到满足

首先,我正在检查我在gitlab CI中作为docker runner使用的testingdocker镜像: 在Docker容器( testing )中运行这个命令… meteor npm list –depth=0 给了我预期的结果: npm info it worked if it ends with ok npm info using npm@5.4.2 npm info using node@v8.6.0 project@1.0.0 /builds/namespace/project +– autoprefixer@7.1.5 +– babel-runtime@6.26.0 +– bcrypt@1.0.3 +– fluent-ffmpeg@2.1.2 +– gm@1.23.0 +– gridfs-stream@1.1.1 +– react@16.0.0 所以所有的依赖项都安装在docker镜像中。 现在我在我的gitLab CI中使用这个图像: 我的gitLab CI yml文件如下所示: unit: image: testing:latest stage: unit […]

如何使用docker构build一个gitlab网站?

我有一个工作的gitlab项目/网站的开发者权利。 现在我想使用docker在本地进行testing,因为我build议这样做,并且项目中已经有一个docker文件。 我已经克隆了git rep和docker已经安装并且正在运行,我尝试的下一步是安装一个gitlab runner,但是似乎我没有这个权限或者获得一个runner token。 有没有可能build立网站,我的下一步是什么?

Docker运行-v将文件挂载为一个目录

我试图用-v标志将一个包含文件某个凭证的目录挂载到容器上,而不是将该文件挂载为一个文件,而是将其挂载为一个目录: 运行脚本: $ mkdir creds/ $ cp key.json creds/key.json $ ls -l creds/ total 4 -rw-r–r– 1 root root 2340 Oct 12 22:59 key.json $ docker run -v /*pathToWorkingDirectory*/creds:/creds *myContainer* *myScript* 当我查看docker run命令的debugging信息时,发现它创build/creds/目录,但由于某种原因,将key.json创build为子目录,而不是复制文件。 我已经看到一些其他的post说,如果你告诉docker run来挂载一个文件无法find,它将创build一个与文件名的容器目录,但因为我没有指定文件名,它知道名称新的目录'key.json'它似乎能够find该文件,但创build它作为一个目录吗? 有没有人遇到过这个? 如果相关,那么脚本将作为GitLab的CI进程的一部分在另一个容器中的Docker-in-Docker中运行。

GitLab CI – 无法login到Dockerregistry(x509)

我正在尝试使用Docker执行程序和docker-in-docker方法来设置我的GitLab CI / CD,并且遇到以下问题: 在我的.gitlab-ci.yml中,我尝试与GitLab的集成dockerregistrybuild立连接, before_script: – docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY 但是,pipe道退出时出现以下错误: Error response from daemon: Get https://my.gitlab.server:1234/v2/: x509: certificate signed by unknown authority 我能够login到registry,并从运行gitlab runner的机器上进行push / pull操作,所以我知道证书问题不在主机上。 另外,我已经尝试从docker创build一个自定义的Docker镜像构build版本:将我的证书复制到构build容器的最新版本 – 我尝试将其放入/ etc / ssl / certs和/etc/docker/certs.d/my.gitlab .server:1234 – 没有任何成功。 任何想法,我需要把我的证书或如何我可能会得到解决?

Gitlab备份错误:包对象死于信号9

我有一个存储库,有2个大小为3.5GB的分支。 每个分支约1.5GB(.git本身是700MB)。 这是错误的: 备份失败 [FAILED] 失败:/ opt / gitlab / embedded / bin / git –git-dir = / mountdata / gitlab / git-data / repositories / my-Project / my-git.git bundle create / mountdata / gitlab / backups / repositories / my -Project / my-git.bundle –all 错误:包对象因信号9而死 错误:包对象死亡 由于我的服务器只有4G的内存,我的假设是备份代码每次我备份后内存不足。 有没有更好的方法来备份? 可能一次一个分支,以防止内存不足? 目前,我的cron作业中的命令是: 0 2 * * […]

Synology中是否可以为GitLab提供自定义域名和端口号码?

所以,我得到了运行DSM 6.1的Synology NAS,其中我可以安装的应用程序是我已经安装的GitLab(AWESOME),但要访问它,我必须通过DS的URL和端口号。 我想访问它的方式访问其他应用程序,通过一个子域名。 例如,我的DS在[ https://ds.mydomain.com],并得到gitlab我要通过[ https://ds.mydomain.com:30001] ,但我想要访问它像这个[ https://gitlab.mydomain.com]与子域和没有端口号。 到目前为止,我已经设置了redirect到它的子域,我已经获得了SSL证书。 但是我仍然无法摆脱URL [ https://gitlab.mydomain.com:XXXXX] Synology NAS可让您为自己的许多应用程序使用自定义域名。 例如,对于video工作站,我可以通过自定义文件夹[ https://ds.mydomain.com:XXXX/video](XXXX是端口号)或自定义子域[ https://video.mydomain .com] 。 由于URL更清晰,我偏向于子域名,我想要设置GitLab是一样的。 但我不知道该怎么做。 我有这个子域名[ https://gitlab.mydomain.com] 。 在DSM中还是在安装软件包的时候会允许我这样做? 感谢您的帮助提前。

docker-in-docker(dind)服务在gitlab ci中的作用

根据官方的gitlab文档 ,在cipipe道中启用docker docker build一种方法是使用dind服务(就gitlab-ci 服务而言 )。 但是,由于在docker执行程序上运行的ci作业始终是这种情况,因此docker:latest也需要docker:latest映像。 有人可以解释: docker:dind和docker:latest之间有什么区别docker:latest图像? (最重要的): 为什么服务和docker镜像都需要(例如,如本示例中所示 ,链接到github文档中)来执行例如docker build工作,而在ci工作中? 不是docker:latest图像( 在这个工作将在其中执行 !)包含docker守护进程(我认为docker-compose也),这是我们需要的命令(例如docker build , docker push等等)? 除非我错了,否则这个问题或多或less会变成: 为什么docker客户端和docker守护进程不能驻留在同一个docker(enabled)容器中

如何将cmake集成到gitlab存储库中以实现持续集成(CI)

在GCC的Docker Image的帮助下,我能够运行C ++程序并使用Gi​​tLab CI单元进行构build和testing。 但现在我想在Docker中使用cmake而不是g ++来编译程序。 如何更改'.gitlab-ci.yml'文件以支持cmake。 当前文件:.gitlab-ci.yml image: gcc before_script: – apt-get install –yes cmake libmatio-dev libblas-dev libsqlite3-dev libcurl4-openssl-dev – apt-get install –yes libarchive-dev liblzma-dev build: script: – ./runner.sh – ./bin/hello ./runner.sh cmake -H. -Bbuild cmake –build build — -j3

如何通过docker访问gitlab

我试图通过我的Web服务器上的docker容器运行gitlab。 我可以用192.168.80.xxx地址到达我的服务器。 这是做了什么 从docker获取gitlab图像 docker pull gitlab/gitlab-ce 然后运行 docker run –detach \ –hostname 192.168.80.xxx \ –publish 443:443 –publish 8081:80 –publish 2289:22 \ –name gitlab \ –restart always \ –volume /srv/gitlab/config:/etc/gitlab \ –volume /srv/gitlab/logs:/var/log/gitlab \ –volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce 像端口80(阿帕奇)&22已经被使用,我已经改变成8080和2289 现在我进入我的浏览器,并检查192.168.80.xxx:8081,但似乎没有任何工作。 我想知道“好吧,如果我试图通过IP地址到达我的容器,我该怎么办? 所以我用下面这行代替它的地址: docker inspect 4170434ef181 而我尝试http://192.17.0.2:8081 ,什么也没有… 所以,伙计们,我怎样才能使用这个容器? 我怎样才能访问它? 有关信息,我的文档根path被定义为像我的httpd.conf文件中的DocumentRoot "/var/apache/www" 干杯