gpt4 book ai didi

docker - 从docker-compose v.3文件启动docker命令

转载 作者:行者123 更新时间:2023-12-02 20:07:35 25 4
gpt4 key购买 nike

我正在学习Docker,并且正在第一步。

我必须从构成文件中“刷新” postgres图像以初始化数据库脚本,就像这里的YOSIFKIT通过 shell (https://github.com/docker-library/postgres/issues/193)一样。

这是我的Docker文件:

FROM postgres:9.6.7

COPY docker-postgresql-9.6.7/prova.sql /docker-entrypoint-initdb.d/

这是我的撰写文件:
version: '3'
services:
postgresql_rdbms:
restart: always
image: postgres-prova
build:
context: ../
dockerfile: docker-postgresql-9.6.7/Dockerfile
command: bash -c "docker run -it --rm postgres-prova ls -ln /docker-entrypoint-initdb.d && docker run -it --rm postgres-prova && postgres"
environment:
PG_PASSWORD: postgres
ports:
- "5432:5432"
volumes:
- /srv/docker/postgresql:/var/lib/postgresql

我如何在撰写文件中插入命令以执行“docker run -it --rm imageToReload”?
因为我已经看到了compose文件中的“命令:”在容器内部起作用,但是我想在更高级别上对容器进行操作(=在容器创建之后从compose文件中管理容器)

非常感谢你

最佳答案

据我了解,您希望docker-compose在每次运行后删除/删除容器,以便每次运行构建时都可以在每次启动服务时将新的prova.sql文件复制到镜像中。 --force-recreate flag可能是您需要的。

yaml文件中的command指令提供了在容器内运行的命令。

关于docker - 从docker-compose v.3文件启动docker命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48745271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com