从Docker Hub在Rancher上部署映像

从Docker Hub在Rancher上部署映像,docker,docker-compose,gitlab,gitlab-ci,rancher,Docker,Docker Compose,Gitlab,Gitlab Ci,Rancher,我正在尝试将我的docker映像从docker Hub部署到Rancher。当我这样做时,我只得到更新状态,然后在一段时间后,我得到部署超时。我对Rancher是个新手,我试图翻阅文件,但无法正确理解。有人能帮我做这件事吗 我已经尝试过拉取映像,一段时间后它显示“部署没有最低可用性” 下面是我的.gitlab-ci.yml文件配置: stages: - build - publish .build: &build_template stage: build image:

我正在尝试将我的docker映像从docker Hub部署到Rancher。当我这样做时,我只得到更新状态,然后在一段时间后,我得到部署超时。我对Rancher是个新手,我试图翻阅文件,但无法正确理解。有人能帮我做这件事吗

我已经尝试过拉取映像,一段时间后它显示“部署没有最低可用性”

下面是我的.gitlab-ci.yml文件配置:

stages:
  - build
  - publish

.build: &build_template
  stage: build
  image: microsoft/dotnet:2.2-sdk-alpine
  cache:
    key: "$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME"
    paths:
      - .nuget/
  script:
    - dotnet restore -s https://api.nuget.org/v3/index.json --packages ./.nuget/
    - dotnet publish --no-restore -c Release -o ./docker/publish/

develop_build:
  <<: *build_template
  only:
    - develop
  artifacts:
    expire_in: 1 day
    paths:
      - docker/

.docker: &docker_template
  stage: publish
  image: docker:stable-dind
  script:
    - mkdir docker/app/
    - mv docker/publish/$ASSEMBLY_NAME.* docker/app/
    - mv docker/publish/*.config docker/app/
    - mv docker/publish/*.json docker/app/
    - cp Dockerfile docker/
    - docker build -t $TAG ./docker/
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
    - docker push $TAG

develop_docker:
  <<: *docker_template
  only:
    - develop
  dependencies:
    - develop_build
  variables:
    ASSEMBLY_NAME: app
    TAG: $CI_REGISTRY_IMAGE/$CI_COMMIT_REF_NAME:$CI_PIPELINE_ID
# Dockerfile
FROM microsoft/dotnet:sdk AS build-env
WORKDIR /app

# Copy csproj and restore as distinct layers set
COPY ./DataStore/DataStore/*.csproj ./
RUN dotnet restore

# Copy everything else and build
COPY *[^.csproj] ./
RUN dotnet publish -c Release -o out

# Build runtime images
FROM microsoft/dotnet:aspnetcore-runtime
ENTRYPOINT ["dotnet", "DataStore.dll"]

我想在将C#web API部署到Rancher后运行它。

您使用的Rancher版本是什么?@ScottAnderson 2.0.8版。我不知道Rancher到底怎么了。这是给我的大学的。你能检查一下吊舱的日志吗?您还可以检查工作负载以及pod的事件/状态吗?他们应该会告诉你为什么部署没有开始。@leodotcloud我所做的是在docker hub上创建了一个测试映像,并在rancher上拉了它。现在我可以看到Rancher上运行的图像,但当我尝试从带有ip的服务器上运行它时,swagger页面没有打开。
当我尝试从带有ip的服务器上运行它时,swagger页面没有打开。
我不清楚这句话。如果您试图访问容器,则需要使用NodePort或Ingress将工作负载暴露在kubernetes群集之外。您使用的rancher版本是什么?@ScottAnderson版本2.0.8。我不知道Rancher到底怎么了。这是给我的大学的。你能检查一下吊舱的日志吗?您还可以检查工作负载以及pod的事件/状态吗?他们应该会告诉你为什么部署没有开始。@leodotcloud我所做的是在docker hub上创建了一个测试映像,并在rancher上拉了它。现在我可以看到Rancher上运行的图像,但当我尝试从带有ip的服务器上运行它时,swagger页面没有打开。
当我尝试从带有ip的服务器上运行它时,swagger页面没有打开。
我不清楚这句话。如果您试图访问容器,则需要使用节点端口或入口来公开kubernetes集群之外的工作负载。