V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gam2046
V2EX  ›  Docker

自定义 Docker 镜像依赖其他镜像,如何预留埋点?

  •  
  •   gam2046 · 2017-06-20 11:17:14 +08:00 · 2997 次点击
    这是一个创建于 2738 天前的主题,其中的信息可能已经有所发展或是发生改变。

    初入 Docker,感觉很不错,而且竟然支持 Windows。

    这个....可能标题表述不太清楚,其实想问的是这样的。

    问题

    我希望自己创建一个 Docker 镜像用于快速部署开发 /测试环境,但是其中需要依赖一些其他的基础环境, 例如数据库( MySQL、Rails 等)、网页服务器( Nginx、Apache 等), 这些我不希望打包在我的环境镜像里,而是由使用时注入进来。

    那么问题来了

    我这里的环境镜像中需要预留埋点给注入进来的其他镜像, 例如 MySQL 的镜像注入进来,那么我现在配置我自己的镜像如何在其中获取到数据库的连接信息,用户名,密码之类的?

    额外的问题

    我自己写的 DockerFile (基础镜像尝试过 Debian:8 和 Ubuntu:16.04 均一样)中遇到一个很神奇的问题,就是 RUN source ../some_file, 然后文件中存在一行命令builtin .......,一直提示builtin命令不存在, 但是我直接启动一个Debian:8的镜像并注入进去,运行同样的命令没有这样的提示。这又是何解?

    最后的最后

    有比较系统的 docker 资料介绍么。

    感谢各位。

    1 条回复    2017-06-21 19:56:12 +08:00
    l142857
        1
    l142857  
       2017-06-21 19:56:12 +08:00   ❤️ 1
    1. 不推荐去读“系统”的资料,读一下官方的 quickstart 和基本介绍,知道 docker 能干什么,不能干什么,然后着眼于你的应用,用 Docker 去解决你的问题就可以了。
    2. 你目前的用法应该是有问题的,Docker 推崇的是单容器-单进程-单应用,虽然现实中会有所妥协,但一般不会把整个应用及其依赖的服务打到一个镜像,用一个容器来跑。更常见的做法是 database 和 webserver 用独立的镜像,独立的容器来跑,然后用 docker-compose 或 kubernetes 之类的工具将一批容器组织成一个应用单元。
    3. Dockerfile 的问题,直接把 Dockerfile 的内容贴出来会更方便讨论。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5313 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 07:07 · PVG 15:07 · LAX 23:07 · JFK 02:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.