【发布时间】:2019-10-22 17:53:14
【问题描述】:
我正在尝试将一些命令放在我的 docker-compose 文件中以在我的容器中运行,但它们不起作用。
我将一个卷从主机映射到我有根证书的容器,我要做的就是运行这个命令update-ca-certificates,所以它会用我在容器中的证书更新目录 /etc/ssl/certs ,但是它没有发生。
我试图在 Dockerfile 中解决这个问题,我可以看到命令运行,但似乎证书不存在,只是在我登录容器后出现。
我最终要做的是进入容器,然后手动运行所需的命令。
这是我一直在尝试使用的docker-compose 文件:
build:
context: .
dockerfile: Dockerfile
command: >
sh -c "ls -la /usr/local/share/ca-certificates &&
update-ca-certificates"
security_opt:
- seccomp:unconfined
volumes:
- "c:/certs_for_docker:/usr/local/share/ca-certificates"
以同样的方式,我无法运行 apt update 或类似的东西,但在使用 docker exec -it test_alerting_comp /bin/bash 连接到容器后,我可以从任何 repo 中提取任何内容。
我的目标是在构建时执行任何需要的命令,所以当我登录到容器时,我已经有了我将要使用的包并更新了根证书,谢谢。
【问题讨论】:
-
你能发布你的 Dockerfile 吗?
-
@MarcABOUCHACRA 我只是错过了 Dockerfile 中的
env vars,感谢您的帮助。
标签: docker docker-compose docker-volume docker-container