gpt4 book ai didi

docker - gitlab-runner - 将 docker 镜像部署到服务器

转载 作者:行者123 更新时间:2023-12-02 18:15:15 27 4
gpt4 key购买 nike

我可以使用 docker 镜像设置一个 gitlab-runner,如下所示:-

stages:
- build
- test
- deploy

image: laravel/laravel:v1

build:
stage: build
script:
- npm install
- composer install
- cp .env.example .env
- php artisan key:generate
- php artisan storage:link

test:
stage: test
script: echo "Running tests"

deploy_staging:
stage: deploy
script:
- echo "What shall I do?"
environment:
name: staging
url: https://staging.example.com
only:
- master

它可以通过构建阶段和测试阶段,我相信一个 docker 镜像/容器已经准备好部署。从谷歌,我观察到它可能会使用“docker push”来进行下一步,例如推送到 AWS ECS 或 Gitlab 的某个地方。实际上我想了解,如果我可以将它直接推送到另一个远程服务器(例如通过 scp)?

最佳答案

docker 图像是使用 docker build 时正在构建的不同层的组合。命令。它重用现有层并提供combination of layers一个名称,这是您的图像名称。它们通常存储在 /var/lib/docker 的某个位置。 .

一般来说,所有必要的数据都存储在您的系统上,是的。但不建议直接将这些层复制到另一台机器上,我不太确定这是否能正常工作。 Docker 建议您使用“docker registry”。在远程服务器上安装自己的注册表非常简单,因为注册表也可以作为容器运行(参见 docs)。

我建议您坚持使用 docker 团队提出的解决方案,如果您有敏感数据,请使用公共(public) DockerHub 注册表或自己的注册表。

您正在使用 GitLab。 GitLab provides its own registry .您可以将图像推送到您自己的 Gitlab 注册表并从远程服务器中提取它。您的远程服务器只需要对您的注册表进行身份验证,您就完成了。例如,GitLab 的 CI 可以在每次推送到主分支时直接构建图像并将其推送到您自己的注册表。您可以找到许多示例 in the docs .

关于docker - gitlab-runner - 将 docker 镜像部署到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48636370/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com