我需要更改官方Postgres(11.4)
图像的语言环境,以便使用我的语言创建数据库。
我从正式的postgres映像中复制了Dockerfile
和docker-entrypoint.sh
(我尚未添加自定义内容)
aek@ubuntu:~/Desktop/Docker$ ls
docker-entrypoint.sh Dockerfile
aek@ubuntu:~/Desktop/Docker$ sudo docker build -t postgres_custom .
Step 24/24 : CMD ["postgres"]
---> Running in 8720b67094b1
Removing intermediate container 8720b67094b1
---> eb63a36ee850
Successfully built eb63a36ee850
Successfully tagged postgres_custom:latest
图像已成功构建,但是当我尝试运行它时,出现以下错误:
aek@ubuntu:~/Desktop/Docker$ docker run --name postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres_custom
d75b25367f019e3398f7daff78260e87c02a0c1898658585ec04bbd219bbe3e9
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"docker-entrypoint.sh\": executable file not found in $PATH": unknown.
无法弄清楚entrypoint.sh
出了什么问题。你能帮我吗?
答案 0 :(得分:0)
您需要使entrypoint.sh
可执行:
RUN chmod +x /path/to/entrypoint.sh
如您所说,您复制它时没有做任何进一步的更改。
答案 1 :(得分:0)
谢谢您解决了我的问题。现在,我将尝试更改Dockerfile的语言环境。这是我添加到Dockerfile中的内容
COPY docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards compat
ENTRYPOINT ["docker-entrypoint.sh"]