我正在尝试在我的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
连接到容器后,我可以从任何存储库中提取任何东西。
我的目标是在构建时执行任何需要的命令,因此,当我登录到容器时,已经有了将要使用的软件包和更新了根证书,谢谢。
答案 0 :(得分:1)
为什么不在Dockerfile中打包更新/安装并复制证书?
Dockerfile
minSdkVersion
docker-compose.yml
...
RUN apt-get update && apt-get -y install whatever
COPY ./local/certificates /usr/local/share/my-certificates
RUN your-command-for-certificates