docker - 使用docker-compose运行简单脚本

标签 docker docker-compose dockerfile

我是Docker的新手。我正在尝试使用docker-compose将非常简单的脚本作为服务与其他服务一起运行。我已经使用Dockerfile创建了一个具有以下详细信息的镜像:

FROM bash 
CMD bash test_script.sh

我安装了redis和test_script图像。我的docker-compose.yml看起来像这样
version: '2'
services:

    redis:
       image: redis

    test-script:
       image: test-script  

我的test_script看起来像这样
#!/bin/bash
echo "***************** Sleeping *****************"
sleep 10
echo "***************** Woke Up ******************"

当我运行“docker-compose up”时,Redis可以正常启动,但是出现“bash:test_script.sh:没有这样的文件或目录”。任何帮助表示赞赏。

最佳答案

Docker在告诉你真相。您需要COPY到容器中。就像是:

FROM bash 
COPY test_script.sh /test_script.sh
CMD bash test_script.sh

假设在与test_script.sh相同的目录中有一个名为test_script.sh的文件。

关于docker - 使用docker-compose运行简单脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40452163/

相关文章:

Docker 集群负载均衡

mysql - Docker - 如何更改我的 Docker Compose 文件以自动化 MySQL 容器的 bash 脚本?

docker-compose - 是否可以在 docker-compose 中创建中间图像?

java - Elasticsearch 无法与 Docker 一起运行

nginx docker 容器无法读取 certbot 证书

docker - 如何使用 docker-compose yml 文件进行生产?

Docker - 无法启动容器 : id already in use (after reboot)

docker - ENV、RUN 生成层、图像或容器? (理解文档问题)

docker - 错误 : Cannot find module '@angular-devkit/core' while Docker Build

node.js - 更新 docker 容器中的 git 版本