docker - 如何在Docker运行期间运行Shell脚本

标签 docker

我有一个现有的Docker容器。
我需要在其中运行一个shell脚本:

现在,我需要通过 shell 访问并手动运行命令:

nvidia-docker run --publish 127.0.0.1:8080:8888 -it gcr.io/project/container:latest bin/bash

然后
cd folder/demo/folder2
python demo.py -m "./data/mydata" -o ./lalala.engine -c ./data/dadada/
jupyter lab --ip=0.0.0.0 --allow-root

如何启动容器并运行命令,而无需手动执行。

最佳答案

通过使用nvidia-docker作为基础镜像来创建自己的docker镜像(Dockerfile),然后使用自定义脚本覆盖entrypoint

FROM nvidia-docker
COPY ./script.sh /scripts/script.sh
ENTRYPOINT /scripts/script.sh

并在script.sh中执行:
cd folder/demo/folder2
python demo.py -m "./data/mydata" -o ./lalala.engine -c ./data/dadada/
jupyter lab --ip=0.0.0.0 --allow-root

# Watever else you want
``

关于docker - 如何在Docker运行期间运行Shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57469420/

相关文章:

docker - Docker(Spotify)API-无法连接到Docker

search - Docker 1.6 和 Registy 2.0

node.js - 为什么 `package-lock.json` 在 `npm install` 时会导致 docker 容器构建失败?

android - 使用 mingc/android-build-box 时如何升级到 gradle 7.*?

postgresql - Postgres 无法在 swarm 服务器重启时启动

redis - Docker Redis CLI 超时

javascript - docker 容器上解析服务器的自定义身份验证 (OAuth2)

docker - Kubernetes可以创建Docker镜像吗?

docker - 了解 DockerFile 中的 "VOLUME"指令

docker - bluemix 容器组中的intermediate_ip_address 和 private_ip_address 之间的区别