入口点:“entrypoint.sh” - docker compose

ove*_*nge 8 docker dockerfile docker-compose docker-entrypoint docker-command

entrypoint.sh我的工作区中没有这样的文件名。

但下面的指令docker-compose.yml是指它:

builder: 
  build: ../../
  dockerfile: docker/dev/Dockerfile
  volumes:
    - ../../target:/wheelhouse
  volumes_from:
    - cache
  entrypoint: "entrypoint.sh"
  command: ["pip", "wheel", "--non-index", "-f /build", "."]
Run Code Online (Sandbox Code Playgroud)

哪里../docker/dev/Dockerfile

# Set defaults for entrypoint and command string
ENTRYPOINT ["test.sh"]
CMD ["python", "manage.py", "test", "--noinput"]
Run Code Online (Sandbox Code Playgroud)

什么是entrypoint: "entrypoint.sh"真正做到?

rok*_*rok 6

entrypoint: "entrypoint.sh"ENTRYPOINT ["test.sh"]从 Dockerfile覆盖。

文档

设置入口点既会覆盖使用 ENTRYPOINT Dockerfile 指令在服务映像上设置的任何默认入口点,又会清除映像上的任何默认命令——这意味着如果 Dockerfile 中有 CMD 指令,则将其忽略。

  • ENTRYPOINT ["test.sh"] 在 Dockerfile 中设置描述 docker 镜像

  • entrypoint: "entrypoint.sh" 在 docker-compose 文件中设置,该文件在引用 Dockerfile 时描述了多容器环境。

  • docker-compose build builder将构建映像并将入口点ENTRYPOINT ["test.sh"]设置为在 Dockerfile 中设置。

  • docker-compose up builder将使用 docker entrypoint.sh pip wheel --no-index '-f /build' .-compose 文件中设置的入口点启动容器

  • @Adiii 在基础 docker 镜像“FROM todobackendbase”中有“entrypoint.sh”。基础 docker 镜像将 `entrypoint.sh` 复制到文件夹 `/usr/local/bin` 中 (2认同)