草庐IT

deploy_scripts

全部标签

bash - docker alpine/bin/sh script.sh 未找到

我正在尝试构建一个以openjdk:8-alpine为基础的docker镜像。问题是当我尝试执行script.sh时,返回以下消息:/bin/sh:bin/script.sh:notfoundscript.sh正确地位于bin/文件夹中,所以我不知道是什么问题。有人知道吗?谢谢。 最佳答案 确保脚本上的shebang指向实际存在的解释器。因此,如果被调用的脚本使用:#!/bin/bash...然后/bin/bash需要实际安装。(或者,您可以考虑尝试移植脚本以使用POSIXsh,并将其shebang修改为/bin/sh)。

docker deploy 不会在 swarm 中发布端口

我设置了一个包含两个节点、一个管理器和一个工作器的集群。我想在swarm中发布一个端口,这样我就可以访问我的应用程序,我想知道我是如何实现的。version:'2'services:server:build:.image:my-hub.company.com/application/server:latestports:-"80:80"这会在我运行docker-composeup时暴露端口80,它工作得很好,但是当我运行捆绑部署时dockerdeploymy-service这不会发布端口,所以它只是在dockerps中显示80/tcp,而不是指向端口。也许这是因为我需要附加负载均衡器或

docker 群 : 'build' configuration in docker compose file ignored during stack deployment

我们创建了一个包含多个服务的dockercompose文件。这些服务的图像是使用“构建”配置选项在运行时构建的。相应的Dockerfile(s)在各自的目录中给出。示例dockercompose文件...version:'3'services:db2server:build:./db2serverports:-"50005:50000"command:["db2start"]appruntime:build:./appruntimedepends_on:-db2server此dockercompose文件可与docker-compose命令配合使用。镜像是从db2server和appr

docker 文件 : Chmod on Entrypoint Script

我有什么理由需要在我的入口点脚本上chmod+x吗?Redis似乎没有在他们的dockerfile(https://github.com/docker-library/redis/blob/109323988b7663bceaf4a01c3353f8934dfc002e/2.8/Dockerfile)中为其入口点脚本执行此操作。Dockerfile:#GenericDockerImageforRunningNodeappfromGitRepositoryFROMnode:0.10.33-slimENVNODE_ENVproduction#AddscripttopullNodeappfr

docker stack deploy 结果为 "No such image error"

我正在使用dockerswarm,并希望使用docker-compose部署服务。我的服务使用了一个名为myuser/myrepo:mytag的自定义镜像,我已成功将其部署到Docker-Hub到私有(private)存储库。我的docker-compose看起来像这样:version:"3.3"services:myservice:image:myuser/myrepo:mytagports:-"8080:8080"在执行之前,我成功拉取了镜像:dockerpullmyuser/myrepo:mytag当我运行dockerstackdeploy-cdocker-compose.yml

deployment - Docker主机和容器有什么区别

我开始学习Docker。但是我经常感到困惑,即使我在多个地方读过它。Docker主机和Docker容器。Docker引擎是处理容器的基础引擎。Docker容器位于Docker引擎之上。这是由配方(带有shell脚本的文本文件)创建的。它从集线器中提取图像,您可以在其上安装您的东西。在典型的应用程序环境中,您将为系统的每个部分、应用程序服务器、数据库服务器、Web服务器等创建单独的容器(每个容器一个容器)。DockerSwarm是一个容器集群。DockerHost是从哪里来的?这是容器的另一种说法,还是可以将多个容器放在一起的另一层?抱歉,这可能是一个基本问题。我用谷歌搜索了这个,但没有

docker - 当我在 Kubernetes 中使用 Deployment 时,apps/v1beta1 和 extensions/v1beta1 有什么区别?

我使用yamlfile,在Kubernetes官方文档中,用于在Kubernetes中创建一个Deployment,它在顶部使用apiVersion:apps/v1beta1。然后我输入了kubectlcreate-fdeployment.yaml来创建这个Deployment,但是出现了如下错误:error:errorvalidating"deployment.yaml":errorvalidatingdata:couldn'tfindtype:v1beta1.Deployment;ifyouchoosetoignoretheseerrors,turnvalidationoffwit

web-applications - docker : How To Dockerize And Deploy multiple instances of a LAMP Application

我需要部署同一个LAMP(或LEMP)应用程序的多个实例:每个实例都可以从一个子域访问,带有前端负载均衡器/代理每个实例都必须有自己的数据库数据和文件数据。每个实例都可能受到监控可能会为每个应用实例设置内存限制/cpu轻松自动部署新的webapp实例环境可能很容易重现以进行测试和开发。申请要求:dameon进程(Nginx、MariaDB、PHPFPM)二进制文件(composer、bower、...)其他系统特定的库和配置在阅读了Docker文档和许多操作指南后,我看到了dockerize这个Web应用程序的不同解决方案:解决方案1:使用一体式容器所有堆栈都在一个容器中:webapp

deployment - 如何在 Docker 容器之间建立链接,以便重启不会破坏它?

我有几个Docker容器运行如下:Nginx网络应用1网络应用2PostgreSQL由于Nginx需要连接到web应用程序1和2中的web应用程序服务器,并且web应用程序需要与PostgreSQL通信,所以我有这样的链接:Nginx---链接--->Web应用1Nginx---链接--->Web应用2Web应用1---链接--->PostgreSQLWeb应用2---链接--->PostgreSQL这在开始时效果很好。但是,当我开发新版本的webapp1和webapp2时,我需要替换它们。我要做的是删除Web应用程序容器,设置新容器并启动它们。对于Web应用容器,它们的IP地址起初类

node.js - Nodejs 应用程序错误 : bind EADDRINUSE when use pm2 deploy

使用pm2快速部署应用程序数据库是mongodb使用命令运行应用程序时:NODE_ENV=productionpm2startapp.js-imaxaftenhasError:bindEADDRINUSE,thisislogs,whenerror,[apperr(l0)]js:1073:26[apperr(l1)]atObject.30:1(cluster.js:587:5)[apperr(l2)]athandleResponse(cluster.js:171:41)[apperr(l3)]atrespond(cluster.js:192:5)[apperr(l4)]athandleM