请教关于基于 docker 开发的一个问题

zxCoder 1月前 17

我现在有一个 docker 镜像,里面装了一些基础工具,然后我的代码是需要用到这个环境,比如代码里写subprocess.run(["ls", "-l", "/dev/null"])执行一些这个环境的命令,然后再把我的代码基于这个镜像再打包成一个新的镜像。

这个做法合理吗?我在开发的时候应该怎么做呢?

是不管这个镜像,直接在本地装好这些环境,然后打包的时候再基于这个镜像打包呢?

还是可以怎么利用上这个镜像,启动个容器再连接上去感觉也不太好,到时候打包还得改代码吧?

最新回复 (11)
  • binux 24天前
    引用 2
    当然可以了,我也没见谁 FROM scratch 建一个镜像啊
  • k9982874 24天前
    引用 3
    合理,docker 也有方案。google docker multi stage build
  • hanxiV2EX 24天前
    引用 4
    基础镜像可以推到 hub 上去
  • hanxiV2EX 24天前
    引用 5
    但是一般为了保持很小镜像的,都会用楼上说的多个 stage 来写 dockerfile 的,区分编译阶段和运行阶段。
  • 楼主 zxCoder 24天前
    引用 6
    @hanxiV2EX 但我还是没懂本地开发要怎么做...
  • shm7 24天前
    引用 7
    以 docker 基础镜像 为基础,添加自己的组件和代码,制成自己的镜像,是基本操作。没听说过这方面的法律问题,如果有这个基础镜像的制作者会专门说明,你去找找。
  • psyer 24天前
    引用 8
    @hanxiV2EX 好家伙,搜了一下 multi stage,感觉很不错。我有个高可用 Hadoop HBase HA 镜像本地 1.5G 左右,不过仓库显示才 500 多 M,是真的大大大。
  • SjwNo1 24天前
    引用 9
    临时就起个基础镜像 exec 进去开发
    否则甚至可以 commit 打一个新镜像
  • hanxiV2EX 24天前
    引用 10
    @zxCoder 就是写 dockerfile 呀
  • 楼主 zxCoder 24天前
    引用 11
    @hanxiV2EX dockerfile 不是打包部署的时候用吗
  • hanxiV2EX 24天前
    引用 12
    @zxCoder 本地用 dockerfile 配合 docker-composer 可以很方便的管理
  • 游客
    13
返回