因此,我已经部署了一个带有docker的应用程序,但是每次我都要删除和重建映像,所以我用脚本为我做了所有事情:
#!/usr/bin/env sh
docker-compose ps # lists all services (id, name)
docker-compose stop dee506ab283a #this will stop only the selected container
docker-compose rm dee506ab283a # this will remove the docker container permanently
docker-compose u
因此,我正在运行一个脚本,它调用:
docker-compose run --rm web sh /data/bin/install_test_db.sh
在ubuntu上运行它似乎很好,但是当我使用Git Bash在Windows上运行它时,我会得到以下错误:
sh: 0: Can't open C:/Program Files/Git/data/bin/install_test_db.sh
它似乎试图在我的机器上运行脚本,而不是我试图调用它的实际容器。
对为什么会发生这种事有什么想法吗?
我有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
我的剧本:
#! /bin/bash --
set -x
## docker-compose wrapper
compose_fn() {
local ENV="${1}"
local VERB="${2}"
local SERVICE="${3}"
local CMD="docker-compose -f ${ENV}.yml"
case "${VERB}" in
(exec)
shift "$#" # remove args passed to thi
我正在学习docker,我试着做shell测试,看看是否已经加载了关键工具。我正在测试如何将docker部署到不同类型的服务器上。下面是脚本,保存为dockerScript.sh
#!/bin/bash
## run "$ chmod +x dockerScript.sh" to make the script executable.
## then run "./dockerScript.sh" to activate the script
touch docker-compose.yml
cat > docker-compose.yml <&
Windows上的docker-compose无法在交互模式下运行。
ERROR: Interactive mode is not yet supported on Windows.
Please pass the -d flag when using `docker-compose run`.
在分离模式下运行docker-compose时,几乎不会向控制台显示任何内容,而docker-compose日志下显示的唯一日志似乎是:
Attaching to
这显然不是很有用。
有没有办法访问这些临时容器的日志?
我已经看到,可以将docker-daemon日志记录更改为使用一个文件(不能选择日
我最近养成了编程的习惯。我看到了这个教程,它允许我使用一个名为SearXNG的程序,它允许我制作自己的私有搜索引擎。(顺便说一下,本教程请点击这里)这使我不得不执行这个命令,特别是要运行搜索引擎:
cd searxng-docker && sudo docker-compose up -d
(顺便说一下,cd在那里,因为searxng-docker是安装代码的目录)
现在,我想创建一个sh脚本,如果我运行,那么搜索引擎将自动启动。我已经看过多个教程,这些教程向我展示了如何在sh脚本中编写代码,但没有一个是有用的。
exec cd searxng-docker &&
我正在为一个应用程序制作一个CI/CD管道,该管道具有React前端和Java后端。当我每次运行构建时,都会失败并得到一个错误。无论是在服务器上运行还是在本地机器上运行,我都会遇到这个错误。
Error Jenkins running on local :+ /usr/bin/docker-compose up --build -d
/var/root/.jenkins/workspace/flight-test-pipeline@tmp/durable-3512619f/script.sh: line 1: /usr/bin/docker-compose: No such file or d
我想写一个脚本,执行以下操作从git中拉出一个存储库,如果存储库已经存在,则意味着运行它第二次,然后删除旧文件夹并拉出存储库,然后我的存储库包含docker-compose文件,如果docker compose已经在工作,则停止它,现在docker-compose up -d相同的代码如下: pipeline {
agent any
stages {
stage('Pull the repo') {
steps {
sh "sudo rm -r devops1"
sh
我正在修改我现有的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="