标签: devops

Docker私有注册表状态永远在"Restarting(1)"中

我使用下面的命令在OEL6中使用注册表:2图像设置了一个docker私有注册表.

docker run -d -p 5000:5000 --restart=always --name bkdevregistry -v /var/lib/docker/certs/:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/xx.yy.com.crt -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/xx.yy.com.key registry:2
Run Code Online (Sandbox Code Playgroud)

我已按照官方指南创建证书并设置注册表.

由于维护活动,系统重新启动,重新启动后,注册表容器根本无法运行.它会立即进入Restarting (1)状态并且不会改变其状态.

[root@slcn09vmf0022 ~]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                         PORTS                    NAMES
44ad9d09d210        registry:2          "/bin/registry /etc/d"   9 minutes ago       Restarting (1) 3 minutes ago   0.0.0.0:5000->5000/tcp   blkdevreg
Run Code Online (Sandbox Code Playgroud)

任何使其恢复正常的建议将不胜感激.

日志:

time="2016-05-18T15:29:34Z" level=fatal msg="open : no such file or directory"
time="2016-05-18T17:18:47Z" level=warning msg="No HTTP secret provided - generated random secret. This may cause problems with uploads if multiple registries are behind a …
Run Code Online (Sandbox Code Playgroud)

linux registry ssl docker devops

8
推荐指数
1
解决办法
2706
查看次数

Dockerfile版本控制最佳实践

我们是一些正在开发C++应用程序的开发人员.

为了确保每个人都使用与远程生产服务器相同的库和依赖项,我们使用docker来编译localhost中的代码源.

我的问题是使用git与docker的最佳实践是什么?

  1. 将Dockerfile添加到源代码存储库
  2. 为我们所有的Dockerfiles创建一个专用的存储库
  3. 为每个Dockerfile创建了一个专用存储库
  4. 其他?

git docker devops

8
推荐指数
1
解决办法
3229
查看次数

如何使用Jenkins管道输入到docker文件中的git凭据?

我正在尝试从SCM加载Jenkins管道脚本.我必须构建一个docker镜像并将其推送到GCR.在docker镜像中,我需要安装私有git存储库.在这里,我试图从Jenkins输入获取git用户名密码.但我不知道如何在Dockerfile中使用它来拉取git repo.这些是我在SCM中的Jenkinsfile和Dockerfile.有什么建议?

詹金斯文件:

node {
def app

stage('Clone repository') {
    checkout scm

    def COMMITHASH = sh(returnStdout: true, script: "git log -n 1 --pretty=format:'%h'").trim()
    echo ("Commit hash: "+COMMITHASH.substring(0,7))
}

stage('Build image') {

    timeout(time: 600, unit: 'SECONDS') { 
        gitUser = input(
           id: 'gitUser', 
           message: 'Please enter git credentials :', 
           parameters: [
           [$class: 'TextParameterDefinition', defaultValue: "", description: 'Git user name', name: 'username'],
           [$class: 'PasswordParameterDefinition', defaultValue: "", description: 'Git password', name: 'password']
        ])
    }

    /* Build docker image */
    println('Build image stage');
    app = …
Run Code Online (Sandbox Code Playgroud)

jenkins docker devops jenkins-pipeline

8
推荐指数
1
解决办法
3194
查看次数

“kubectl get all --all-namespaces”针对同一集群有不同的输出

因此,当我kubectl get all --all-namespaces在不同的机器上运行时,我会得到不同的输出,但我不明白为什么。

第一台机器(为简洁起见,调整了输出):

kube-system         po/kubernetes-dashboard-5569448c6d-w2bdb                                1/1       Running   0          16h
kube-system         po/service-mesh-traefik-5bb8d58bf6-gfdqd                                1/1       Running   0          2d
kube-system         po/tiller-deploy-78d74d4979-rh7nv                                       1/1       Running   0          23h
Run Code Online (Sandbox Code Playgroud)

第二台机器:

kube-system         kubernetes-dashboard-5569448c6d-w2bdb                                1/1       Running     0          16h
kube-system         service-mesh-traefik-5bb8d58bf6-gfdqd                                1/1       Running     0          2d
kube-system         tiller-deploy-78d74d4979-rh7nv                                       1/1       Running     0          23h
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要第一台机器的输出,并将资源类型作为输出的前缀。试图理解没有它的输出get all是非常令人沮丧的,并且由于我正在搜索的单词的性质,尝试使用谷歌搜索“get all”更加令人沮丧。

有什么不同吗?集群是相同的,因此它应该返回相同的数据。第一台机器是 kubectl 版本 1.9.2,第二台机器是 1.10.0。该集群运行的是 1.8.7。

kubernetes devops kubectl

8
推荐指数
1
解决办法
9744
查看次数

如何在 docker-compose.yml 中像 'depends_on' 一样在 kubernetes 中添加 pod 依赖项

我需要按顺序启动 kubernetes pod,就像 pod2 应该只在 pod1 启动并运行时启动。

我们可以在docker-compose.yml使用中做到这一点depends_on

docker kubernetes devops kubernetes-helm

8
推荐指数
1
解决办法
9400
查看次数

错误:服务“ xxx”使用未定义的网络“ xxx”

一直说我这个网络是不确定的。错误:服务“前端网络”使用未定义的网络“前端网络”但是,我看到存在带有docker network ls的网络。我想念的是什么:(我需要您的帮助。我已经在Google上学到很多,但是找不到正确的解决方案。

version: "3.3"
    services:
      web:
        build: ./Docker
        container_name: apache
        ports:
        - "80:80"
        volumes:
        - /home/denis/public-html:/usr/local/apache2/htdocs/
        restart: always
        networks:
        - frontend
        labels:
        - webstack
      mara:
        image: mariadb:latest
        container_name: mara
        ports:
        - "3306:3306"
        volumes:
        - ~/MariyaDb:/var/lib/mysql
        depends_on:
        - "web"
        restart: always
        networks:
        - frontend
        labels:
        - webstack
        environment:
        - MYSQL_ROOT_PASSWORD=example
      adminer:
        image: adminer
        container_name: adminer
        ports:
        - "8080:8080"
        depends_on:
        - "mara"
        restart: always
        networks:
        - frontend-network
        labels:
        - webstack
Run Code Online (Sandbox Code Playgroud)

linux docker docker-compose devops

8
推荐指数
2
解决办法
3184
查看次数

通过 Terraform 更改 AWS 中的目标端口时,删除目标组时出错:ResourceInUse

我目前正在阅读测试版“Terraform Up & Running, 2nd Edition”。在第 2 章中,我在 AWS 中创建了一个 Auto Scaling 组和一个负载均衡器。

现在我使我的后端服务器 HTTP 端口可配置。默认情况下,它们侦听端口 8080。

variable "server_port" {
    …
    default = 8080
}

resource "aws_launch_configuration" "example" {
    …
    user_data = <<-EOF
                #!/bin/bash
                echo "Hello, World" > index.html
                nohup busybox httpd -f -p ${var.server_port} &
                EOF
    …
}

resource "aws_security_group" "instance" {
    …
    ingress {
        from_port = var.server_port
        to_port = var.server_port
        …
    }
}
Run Code Online (Sandbox Code Playgroud)

还需要在应用程序负载均衡器的目标组中配置相同的端口。

resource "aws_lb_target_group" "asg" {
    …
    port = var.server_port
    …
}
Run Code Online (Sandbox Code Playgroud)

当我的基础设施已经部署好时,例如将端口的配置设置为 8080,然后我通过运行将变量更改为 80 terraform …

cloud amazon-web-services terraform devops infrastructure-as-code

8
推荐指数
2
解决办法
7566
查看次数

AiOps 中有哪些应用程序开发工具?

我知道DevOps的实现结构。我正在审查和实施 AiOps。这个领域有哪些实用工具?

我想在 CICD 和 ContinuousFeedback 工具中研究人工智能?

agile agile-project-management devops teamwork-projects

8
推荐指数
1
解决办法
152
查看次数

如何在 gitlab CI 中访问正在测试的 dockerized 应用程序

我有一个使用硒的项目,用于前端应用程序和后端testng的集成测试。因此,为了运行测试,我首先需要启动所有依赖项目:vuejsspringboot

  • springboot 和 mongodb
  • vuejs 前端应用程序

每个项目都在自己的存储库中。所以我创建了 springboot 和前端应用程序的 docker 映像,并将其放在gitlab container registry. 然后在testeng项目中计划使用docker-compose中的.gitlab-ci.yml. 这是docker-compose.ymltestng 项目:

version: '3.7'
services:
  frontendapp:
    image: demo.app-frontend-selenium
    container_name: frontend-app-selenium
    depends_on:
      - demoapi
    ports:
      - 8080:80
  demoapi:
    image: demo.app-backend-selenium
    container_name: demo-api-selenium
    depends_on:
      - mongodb
    environment:
      - SPRING_PROFILES_ACTIVE=prod
      - SCOUNT_API_ENDPOINTS_WEB_CORS_OPTIONS_ALLOWEDORIGINS=*
      - SPRING_DATA_MONGODB_HOST=mongodb
      - SPRING_DATA_MONGODB_DATABASE=demo-api-selenium
      - KEYCLOAK_AUTH-SERVER-URL=https://my-keycloak-url/auth
    ports:
      - 8082:80
  mongodb:
    image: mongo:4-bionic
    container_name: mongodb-selenium
    environment:
      MONGO_INITDB_DATABASE: demo-api-selenium
    ports:
      - 27017:27017
    volumes:
      - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
Run Code Online (Sandbox Code Playgroud)

在 gitlab-ci.yml 中运行 docker-compose …

gitlab gitlab-ci docker-compose devops

8
推荐指数
1
解决办法
560
查看次数

Kustomize 资源 GitHub 私有存储库

我想知道是否可以从私有 GitHub 存储库中的kustomize获取资源,我已经尝试过类似的操作但没有成功

apiVersion: kustomize.config.k8s.io/v1beta1

kind: Kustomization

resources:
- git@github.com:gituser/kustomize.git/kustomize/main/nginx.yaml

- ssh://github.com/gituser/kustomize.git/kustomize/main/nginx.yaml
Run Code Online (Sandbox Code Playgroud)

错误

Error: accumulating resources: accumulation err='accumulating resources from 'ssh://github.com/diego1277/kustomize.git//kustomize/main/nginx.yaml': evalsymlink failure on '/Users/diego/Desktop/estudo/kustomize/see/base/ssh:/github.com/diego1277/kustomize.git/kustomize/main/nginx.yaml' : lstat /Users/diego/Desktop/estudo/kustomize/see/base/ssh:: no such file or directory': evalsymlink failure on '/private/var/folders/qq/mk6t7dpd5435qm78_zsfdjvm0000gp/T/kustomize-056937086/kustomize/main/nginx.yaml' : lstat /private/var/folders/qq/mk6t7dpd5435qm78_zsfdjvm0000gp/T/kustomize-056937086/kustomize: no such file or directory
Run Code Online (Sandbox Code Playgroud)

github kubernetes devops kustomize

8
推荐指数
1
解决办法
9621
查看次数