docker - 如何组成?

标签 docker dockerfile

目标:构建opencv docker

Dockerfile创建:

From Ubuntu14.04

要么
From Python3.7

选择哪个,为什么选择?

我试图从头开始编写dockerfile,而没有从其他dockerfile复制粘贴。

最佳答案

我通常会选择最符合我需求的Docker Hub library image。值得一提的是https://hub.docker.com/搜索框,尽管所有权和维护级别相差很大,但通常会是find relevant things

正式的Docker Hub镜像往往考虑了有关持久性和配置以及首次安装的许多问题。将“我只是apt-get install mysql-server”与进入the official mysql image的所有部分进行比较;仅导入该现实世界的体验并重复使用它可以为您节省一些麻烦。

如果出现以下情况,我会考虑从像ubuntu:16.04这样的操作系统基础上构建自己的数据库:

  • 有一个要求,必须从某些特定的发行基础上构建Docker镜像(“我的工作需要从CentOS构建所有内容,因此我需要基于CentOS的MySQL镜像”)
  • 我需要Docker Hub镜像不再支持的软件版本或补丁的组合(不再构建jruby:9.1.16.0,因此,如果我需要操作系统更新,则需要构建自己的基本镜像)
  • 无论出于什么原因,我都需要一组特别特殊的构建选项(“我有一个C扩展名,仅当解释器是专门用UTF-16 Unicode支持构建的时才有效”)
  • 我需要或希望非常详细地控制要嵌入的软件版本;例如,如果它是基于Java的某种东西,那么其中有一个JVM版本,一个运行时版本和一个应用程序版本都可能很重要
  • 关于docker - 如何组成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53907744/

    相关文章:

    bash - 如何使用 shell 脚本判断 postgres 数据库表是否存在

    docker-compose - dockerfile RUN echo 多行并带有变量

    docker - 从本地(未发布)镜像构建 docker 镜像

    docker - 从 Dockerfile 将本地目录挂载为容器中的卷

    docker - docker登录错误登录:帐户未激活。连结储存库

    docker - 向NGINX Docker镜像添加/healthz

    docker - Cassandra 2.1.11无法在Docker容器中启动

    docker-compose up 错误,地址无效

    docker - AspNet Core无法在docker [“ASPNETCORE_ENVIRONMENT=Production”的生产环境中运行]

    docker - 静态网站的docker