为什么不使用 docker push 把本地的环境的镜像传到 dockerhub,然后再在腾讯云安装 docker,将镜像再 pull 下来,这样不就不用使用 dockerfile,不知道这样有什么弊端

2018-03-12 18:34:21 +08:00
 sevenQu

1、ubuntu 镜像连 python 都没有,感觉不应该,是不是应该使用其他镜像

2、nignix 的镜像是什么概念?他是基于什么系统的?怎么可以当做容器基础使用

3、求 docker+flask+nginx-gunicorn+mysql 教程

3454 次点击
所在节点    Docker
10 条回复
rockyou12
2018-03-12 18:38:54 +08:00
首先 dockerhub 国内会慢到你怀疑人生...你可以学下 docker-compose,应该能解决一些问题
sevenQu
2018-03-12 18:51:39 +08:00
@rockyou12 恩,我换了 dockerhub 的国内源,我看了 docker-compose
1、直接 push 之后再下载,不是因为慢才不用的吧,使用 dockefile 的原因是什么?
2、nignix 的镜像是什么系统作为基础的
希望求解谢谢
kchum
2018-03-12 19:10:39 +08:00
@sevenQu
1 dockerfile 可以构建自己想要的 image
2 nginx 的系统版本具体要看哪个 tag 基于 alpine 的是最小的 一般情况我用这个
mritd
2018-03-12 19:18:37 +08:00
首先,不写 dockerfile 进去安装然后生成的镜像俗称黑盒镜像,其他人员对其不可知,一旦出现镜像丢失很难复原,而且对于其他人来说安全性没有保证
mritd
2018-03-12 19:22:03 +08:00
Docker 镜像的文件应当为 软件+支持文件,ubuntu 作为基础操作系统镜像,他不应该包含一些其他非操作系统必须的开源工具,比如我想继续 ubuntu 系统做个 jdk 镜像,那么如果里面有 py 就是完全无用的文件,至于 py 镜像 官方有维护好的专用于 py 的各种不同版本镜像
feverzsj
2018-03-12 19:24:26 +08:00
你又不是开发原生程序,用 ldd 复制进去就差不多了。你把自己的系统塞进去,那是非常大的,部署很吃力的
mritd
2018-03-12 19:26:25 +08:00
Nginx 镜像目前基于两个底层操作系统 debian 和 alpine,底层系统两者区别请自行 google,如果不需要定制 nginx 组件可以直接作为基础镜像用,如果需要更改 nginx 编译参数增加一些特殊组件,最好 copy 官方 dockerfile,然后自己修改,修改时注意保持优雅的书写格式
tomczhen
2018-03-12 19:28:06 +08:00
文本的存在是为了可控、可读、可追溯;二进制文件的存在是为了方便部署,避免在生产服务器“构建”。只要流程允许,在服务器上构建镜像也可以,从仓库拉二进制镜像也行。

作为一个野生运维最近都找不到工作,伸手部分的问题没心情回答,慢慢啃相关文档去吧。
sevenQu
2018-03-12 19:31:41 +08:00
@mritd 谢谢,,谢谢,我懂了
aaronlam
2018-03-12 19:55:43 +08:00
按照我之前学习的理解,其实 dockerfile 就像是某个镜像的出生纸,里面写的是怎么生出来的?谁和谁生出来的?他有什么特殊的胎记等等。
而像楼主你说的直接 PUSH 再 PULL 这种貌似就没法详细追溯是怎么生出来的了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/437375

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX