gpt4 book ai didi

ubuntu - 如何使用共享运行器运行从 GitLab 容器注册表中提取的 Docker 容器?

转载 作者:行者123 更新时间:2023-12-04 18:58:43 24 4
gpt4 key购买 nike

基本上我到目前为止的工作如下:

  • 登录 GitLab 容器注册表
  • 使用 docker-compose.yml 配置文件构建 Docker 容器
    GitLab 共享运行者 CI/CD
  • 将所有构建的 Docker 容器推送到 GitLab Container Registry
  • 通过 SSH
  • 登录到我的 Azure VM Ubuntu 服务器
  • 从 GitLab Container Registry
  • 拉取 Docker 容器
  • 在此实例中运行所需的 Docker 容器
    "*/client:latest",将其暴露到端口 80
  • 记录运行的容器,证明我想要的容器存在
    😊

  • 第 6 步是唯一似乎运行成功的步骤,但是当我访问我的域时,没有任何东西在运行🤕,尽管 CI 工作已成功完成!
    但是,当我尝试使用 PuTTY 手动执行相同的操作,从注册表中提取图像并在端口 80 上运行时,当我检查我的域时一切正常!
    如果有人能看到我可能做错了什么,我将不胜感激,谢谢。
    这是我的 GitLab YAML 配置文件;
    image: docker:latest

    services:
    - docker:dind

    stages:
    - deploy

    deploy:
    stage: deploy
    before_script:
    - eval $(ssh-agent -s)
    - echo "$SERVER_SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
    - mkdir -p ~/.ssh
    - chmod 700 ~/.ssh
    - ssh-keyscan -H $SERVER_IP >> ~/.ssh/known_hosts
    - chmod 644 ~/.ssh/known_hosts
    script:
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
    - docker-compose --file docker-compose.prod.yml build --force-rm --no-cache
    - docker push registry.gitlab.com/[MY_GITLAB_ACCOUNT]/app/client:latest
    - ssh -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_HOST
    - docker pull registry.gitlab.com/[MY_GITLAB_ACCOUNT]/app/client:latest
    - docker images --all
    - docker run -p 80:8080 --detach registry.gitlab.com/[MY_GITLAB_ACCOUNT]/app/client:latest
    - docker ps --all
    enter image description here
    谢谢

    最佳答案

    在您的 GitLab CI 作业中,您的 SSH 命令正在执行,然后在进入下一个 shell 步骤之前立即关闭远程 shell。所以,你只是在运行 docker run在您的 GitLab 工作中,而不是在您的服务器上。
    要在远程服务器上运行命令,您需要使用 ssh 内联要运行的命令。命令。

    script:
    # ...
    - ssh -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_HOST "docker run --pull -p 80:8080 -d registry.gitlab.com/[MY_GITLAB_ACCOUNT]/app/client:latest"
    请记住,您的远程服务器还需要配置身份验证才能从您的注册表中提取。

    关于ubuntu - 如何使用共享运行器运行从 GitLab 容器注册表中提取的 Docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72241034/

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