我有一些bash脚本形式的测试,它们的工作方式如下:
使用docker-composeRun测试逻辑启动服务的docker-composeRun使用docker-compose关闭服务
#!/bin/bash
set -e
cd "$(dirname "${BASH_SOURCE[0]}")"
# 1
docker-compose up --detach
# 2
./tests.sh
# 3
docker-compose down --rmi all --remove-orphans
步骤(2)可能失败并使脚本崩溃。
如何确保从第(1)步开始的所有码头
我正在通过docker-compose部署我的应用程序,它有两个服务:服务器应用程序和nginx。
因此,在CI中,我创建了以下指令脚本:
docker-compose build # create new containers
docker-compose down # down old containers
docker-compose up -d # up new containers
但是服务器应用容器有它自己的启动时间,所以在应用启动后我看到了502页面,因为服务器应用还没有准备好接收调用,但nginx已经准备好了。
我想要做的是保留旧的容器运行,在构建和建立新的容器期间,等待一段时
我有一个部署脚本,我正尝试将其用于我的server for CD,但是我在编写bash脚本以完成一些必需的步骤时遇到了问题,比如运行npm和迁移命令。 如何从这个脚本进入容器bash,运行下面的命令,然后退出以完成更改? 下面是我试图自动化的脚本: cd /Project
docker-compose -f docker-compose.prod.yml down
git pull
docker-compose -f docker-compose.prod.yml build
# all good until here because it opens bash and does not
我正在做一个“系统”中的服务,这个系统是用坞-构图编排的。该服务是用编译后的语言编写的,在进行更改时,我需要重新构建它。我试图找到快速迭代更改的最佳方法。
我尝试了2‘工作流’,两者都依赖于通过volume:链接到源目录来获得最新的源代码。
一个。
使用docker-compose up -d打开所有支持容器
停止正在开发的服务的容器
使用映像docker-compose run --name SERVICE --rm SERVICE /bin/bash运行一个新容器
在该容器中,在公开端口运行、编译和运行应用程序。
重新启动,方法是停止正在运行的进程,然后重新生成。
我正在修改我现有的Django应用程序。
我有一个entrypoint.sh脚本,它作为入口点由Dockerfile运行
ENTRYPOINT ["/app/scripts/docker/entrypoint.sh"]
当环境变量被设置为迁移时,它的内容包含运行迁移的脚本
#!/bin/sh
#set -e
# Run the command and exit with the custom message when the comamnd fails to run
safeRunCommand() {
cmnd="$*"
echo cmnd="
我有docker-compose.yml文件,并通过docker-compose up -d db命令使用DB启动容器。
我需要通过主机执行脚本,简单地说,就是将转储导出到容器中的db。
所以,现在看起来是:
docker-compose up -d db
./script.sh
但是我想把这两个命令合并成一个。我的问题是“它有可能吗?”
我发现Docker Compose不支持这个特性。我知道我可以用这些命令创建另一个脚本,但我只想留下docker-compose up -d db
UPD:我想提到我使用的是mcr.microsoft.com/mssql/server:2017-latest
有一个VM比例集运行与Centos 7自定义映像。需要以云init脚本的形式在脚本下面运行,同时缩放VM缩放集。但是VM缩放了,脚本没有执行。从服务器也无法找到执行历史记录。这是我用的命令,
#cloud-config
runcmd:
– cd /srv/compose/composeforsvaret/
– docker-compose stop
- docker-compose up -d
final_message: "Your Docker server is now ready."
我有两个同时运行的多个Docker服务集,所以我的docker ps日志如下所示:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0a8e26682915 image_name:latest "bash -c 'pip instal…" About a minute ago Up About