docker - 如何使用 docker-compose.yml 在映射为卷的目录中克隆 GitHub 存储库?
问题描述
我有一个docker-compose.yml
类似的:
version: '3'
services:
my_service:
image: ....
container_name: ...
volumes:
- "./data:/my_service/data"
command: >
....
运行后docker-compose pull
,我在主机上手动运行git clone git@github.com:.....
,在共享目录(映射为卷)中克隆一个私有 GitHub 存储库。这工作正常,但我想知道是否可以使用 Docker 处理此手动步骤。
做一些研究,我发现了一些使用 a 的例子,Dockerfile
但如果可能的话,我宁愿只使用 docker-compose.yml
。
解决方案
实现这一点的正确方法是编写一个自定义 docker 文件并通过 docker compose 对其进行寻址。
这是一个例子:
docker-compose 文件片段*
version: '3'
services:
my_service:
build:
context:
dockerfile: my_service.dockerfile
# ... continue ...
my_service.dockerfile
FROM some_image:some_tag
RUN apt update -y && \
apt install -y git
RUN cd some_folder && \
git clone some_uri
推荐阅读
- mysql - SQL - 查找日期范围内的可用插槽
- c - 从 C 扩展函数内部确定 Lua 期望的返回值的数量
- python - 对于具有相同 ID 的类型,Python isinstance 返回 false
- vba - 工作表选择上的 Excel vba 宏崩溃 - 1 周前工作
- database - 如何从 InfluxDB 获取“MEASUREMENTS”的大小?
- sql - 带有 FROM 子句的更新语句
- java - Scala、Kotlin 和 Java 混合项目在迁移到 gradle 4.0 后在 compileScala 上失败
- javascript - D3使用过渡动画时数据系列渲染不完整
- sql - SQL:如果基表发生更改,临时表是否会在稍后调用时返回不同的结果?
- prestashop - 每第二个产品增加 50% 的折扣 (Prestashop)