不懂就问,关于 Docker 的一些疑惑。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aerzha
V2EX    Docker

不懂就问,关于 Docker 的一些疑惑。

  •  
  •   aerzha 2019-09-20 14:05:37 +08:00 6566 次点击
    这是一个创建于 2281 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在学习 Docker 相关的知识,准备拿自己家里的小破服务器练练手,有个问题一直困扰我,希望各 V 友不吝赐教。

    PS:本人不懂后端,有可能描述不当或理解错误的地方,见谅。

    构建 Docker 容器时,应该按什么粒度来构建?

    来个例子说明下:

    在一台服务器上,部署 A 和 B 两个依赖 LNMP(以 P 为例,A 依赖 Python2,B 依赖 Python3),应该按下面哪种方式部署比较好呢:

    1. 两个 Ubuntu 的 Docker 容齐,然后每个里面都安装对应版本 Nginx,MySQL,Python。
    2. 服务器本机安装 LNMP,然后 A,B 容器通过 docker 数据卷使用环境。
    3. 创建 Nginx 容器,MySQL 容器,Python2 容器,Python3 容器..., 然后通过容器互联来使用环境。

    或者上述方法都不对,那有没有什么最佳实践方式? (家用服务器 /个人服务器环境下)

    15 条回复    2019-09-20 16:10:19 +08:00
    blackeeper
        1
    blackeeper  
       2019-09-20 14:25:20 +08:00
    明显是 3 啊,官方给的建议就是:单个应用程序就是一个 docker 容器。当然很特殊的应用程序除外。
    huxins
        2
    huxins  
       2019-09-20 14:28:34 +08:00
    看想用 docker 干哈,快速部署,环境隔离,集群扩容,根据需求来
    awm47
        3
    awm47  
       2019-09-20 14:28:58 +08:00
    同上, 除特殊情况下应该一个容器内只包含一个服务. 然后通过 docker-compose 来让容器互联
    chairuosen
        4
    chairuosen  
       2019-09-20 14:31:44 +08:00
    3。 一般大规模应用 docker 的企业,nginx,mysql,python,分别由不同部门负责。没有这种都打进一个镜像的场景。
    aerzha
        5
    aerzha  
    OP
       2019-09-20 14:31:53 +08:00
    @huxins 没那么高大上,仅想用家用服务器,折腾下 workpress,nextcloud 之类的
    aerzha
        6
    aerzha  
    OP
       2019-09-20 14:34:32 +08:00
    @chairuosen 多谢,那服务器是全部 docker 化好些呢,还是部分选择 docker 化呢,比如 minidlna 有没有必要用 docker,选择是否 docker 的标准是什么
    chairuosen
        7
    chairuosen  
       2019-09-20 14:46:39 +08:00
    @aerzha 我觉得是无状态 /需要水平扩展的服务都适用于 docker,当然也有人用 docker 装 mysql,没搞过不太懂。
    wly19960911
        8
    wly19960911  
       2019-09-20 14:52:07 +08:00
    @chairuosen #7 这个是用 volumn 挂载数据进去的,很容易,也不需要管依赖,平时也一样用。
    mikeguan
        9
    mikeguan  
       2019-09-20 15:01:28 +08:00 via Android   1
    现在的 lnmp 的 p 是指 Python 了吗?

    算了,还是世界和平吧
    EricXuu
        10
    EricXuu  
       2019-09-20 15:07:54 +08:00
    @mikeguan #9 php 是世界上最好的语言
    BlackHole1
        11
    BlackHole1  
    PRO
       2019-09-20 15:09:54 +08:00 via Android
    3
    aerzha
        12
    aerzha  
    OP
       2019-09-20 15:20:59 +08:00
    @mikeguan 哈哈,这俩我都不懂,因为我只知道 Python 分两个版本,才拿出来举例,要是 PHP 也有多个版本,当然就是选择世界上最好的语言了
    AnnieHall
        13
    AnnieHall  
       2019-09-20 15:29:53 +08:00
    自己玩 docker compose 挺合适的
    aerzha
        14
    aerzha  
    OP
       2019-09-20 15:34:50 +08:00
    @chairuosen 举个例子,docker 安装 nextcloud,直接“docker pull docker.io/nextcloud”命令,这种方式是不是容器中就包含了 LNMP,要想把 Nginx,MySQL 等分离,就要使用 docker compose ?
    chairuosen
        15
    chairuosen  
       2019-09-20 16:10:19 +08:00
    @aerzha 前半句对,这个镜像貌似是打包好了所有依赖服务。后半句,如果你想把 nginx mysql 放在 docker 里用,并且和业务代码一起打包成一个完整的服务,让别人一键安装启动好。就用 docker compose。 但是,个人理解,这种场景较少,一般是你开发一套东西,想让另一个人在完全不熟悉的情况下跑起来。适用于企业级卖软件,个人接私活。 运行时想 debug 或者调调参数不方便。 实际互联网公司自己产品没这样部署的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2812 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 14:29 PVG 22:29 LAX 06:29 JFK 09:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86