学 Linux 系统编程,在 docker 中可以吗,和原机有差别吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
leosirius666a
V2EX    Linux

学 Linux 系统编程,在 docker 中可以吗,和原机有差别吗

  •  
      leosirius666a 2019-09-16 20:13:45 +08:00 9477 次点击
    这是一个创建于 2217 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学习 linux 系统 c 语言编程

    46 条回复    2019-09-19 07:20:04 +08:00
    ronman
        1
    ronman  
       2019-09-16 20:32:22 +08:00 via Android
    可以是可以的,但是 docker 的本意不是用来当系统用,会遇到各种莫名其妙的问题。建议实机或虚拟机
    whileFalse
        2
    whileFalse  
       2019-09-16 21:26:53 +08:00
    如果你既不熟悉 Linux 也不熟悉 Docker,建议直接虚拟机。
    tigertang
        3
    tigertang  
       2019-09-16 21:37:19 +08:00 via Android
    建议直接双系统
    lululau
        4
    lululau  
       2019-09-16 21:48:41 +08:00 via iPhone
    用 vagrant
    enaxm
        5
    enaxm  
       2019-09-16 21:48:42 +08:00
    我的小 mac 是撑不起虚拟机。docker pull 一下有什么不好= =业界标准开发模式了
    iPhoneXI
        6
    iPhoneXI  
       2019-09-16 21:49:38 +08:00 via Android
    @enaxm Mac 上 docker 就是虚拟机
    AngryPanda
        7
    AngryPanda  
       2019-09-16 21:49:44 +08:00 via Android
    /div>
    撑不起虚拟机就 ssh 到云端
    anguiao
        8
    anguiao  
       2019-09-16 21:49:56 +08:00 via Android
    @enaxm macOS 的 Docker 不也是虚拟机么?
    Rorshach
        9
    Rorshach  
       2019-09-16 22:04:33 +08:00
    不能直接买个服务器吗,学生云才 10 块一个月,然后 vsc ssh 上去写代码
    leosirius666a
        10
    leosirius666a  
    OP
       2019-09-16 22:27:56 +08:00
    @Rorshach 不是学生了
    edk24
        11
    edk24  
       2019-09-16 22:41:45 +08:00
    200 块去淘个银行退休瘦主机, 随便玩
    sonicjam
        12
    sonicjam  
       2019-09-16 23:05:43 +08:00
    vagrant 可以,不过也是虚拟机。
    matsuz
        13
    matsuz  
       2019-09-16 23:19:32 +08:00
    虚拟机 + VSCode SSH Remote,给你原生开发体验
    leoballacl
        14
    leoballacl  
       2019-09-16 23:25:09 +08:00
    windows subsystem linux 也挺好的啊,对学习基本命令有帮助。
    via
        15
    via  
       2019-09-16 23:32:15 +08:00 via iPhone
    docker run --rm -it alpine /bin/sh

    这个镜像只有 5MB,随便折腾,哈哈
    DefoliationM
        16
    DefoliationM  
       2019-09-16 23:50:59 +08:00 via Android
    真想好好学你就实机吧 别搞那些花里胡哨得了
    omph
        17
    omph  
       2019-09-17 00:04:33 +08:00
    docker 用的不都是骨头版系统吗?
    不是标准系统,如何学编程?
    heixiaobai
        18
    heixiaobai  
       2019-09-17 00:07:19 +08:00 via Android
    docker 和学编程有什么必要的关联么?
    fishCatcher
        19
    fishCatcher  
       2019-09-17 00:10:30 +08:00 via iPhone
    那 docker 重启之后配置好的东西不就没了吗,岂不是很不方便
    ManjusakaL
        20
    ManjusakaL  
       2019-09-17 01:13:13 +08:00
    装个虚拟机不就完了
    Atsushi
        21
    Atsushi  
       2019-09-17 01:43:13 +08:00 via Android
    在可以说有差别也可以说没有差别,技术过关可以把 docker 里的镜像也搞成原生 linux 差不多。不过何必呢? docker 也弄起来也烦,不去加服务的话,传个东西都要 build 一次
    wellsc
        22
    wellsc  
       2019-09-17 01:58:59 +08:00 via Android
    用 qemu
    pC0oc4EbCSsJUy4W
        23
    pC0oc4EbCSsJUy4W  
       2019-09-17 03:17:22 +08:00
    @fishCatcher 没有啊
    cherbim
        24
    cherbim  
       2019-09-17 08:12:04 +08:00 via iPhone
    建议虚拟机或者 wsl
    hanxiV2EX
        25
    hanxiV2EX  
       2019-09-17 08:19:02 +08:00 via Android
    mac 和 win 上的 docker 是装在 virtual box 里的
    motecshine
        26
    motecshine  
       2019-09-17 08:38:00 +08:00
    我看大多数人没回答楼主的问题, 只是推荐了另一种东西。 我来回答吧:
    1. 没啥区别,因为 docker 会继承宿主机的内核
    2. 一般 docker 会被作为大的跨平台项目的编译工具, 比如 armhf 交叉工具链
    3. 如果用好了是一把利刃
    PbCopy111
        27
    PbCopy111  
       2019-09-17 08:43:46 +08:00
    等你学上 docker 一周,就开始放弃 linux 呢,何必在这上耽误时间呢。。。。哪怕装个 win10,然后装个 ubuntu 的虚拟机也是好的啊,你是学编程,又不是学 linux 装机。
    EKkoGG
        28
    EKkoGG  
       2019-09-17 08:48:54 +08:00
    和你有过同样的想法,也折腾过 docker,
    但后面遇到问题得排查两方面的东西
    1. docker 的操作问题
    2. linux 的操作问题
    有时候都不知道是哪方面出现了问题,很迷糊,遂放弃,转战 WSL
    alphatoad
        29
    alphatoad  
       2019-09-17 08:52:16 +08:00 via iPhone
    Docker 很好,但不适合初学者,上手接触容器概念会很迷惑
    大家都是菜鸟走过来的,初学就要逼自己只用 Linux,时间久了就习惯了
    我是从小学五年级申请的 Ubuntu 8.04 光盘开始入坑的,逼一逼就好了
    whusnoopy
        30
    whusnoopy  
       2019-09-17 08:53:13 +08:00
    如果只是在 Linux 下学 C 语言,用什么都无所谓

    如果是要学 Linux 系统编程,一开始建议实体机或虚拟机,Docker 在摸到系统这一层时还是有挺多小细节不太一样,初学者遇到这种问题时不太容易区分到底是自己写错了还是 Docker 和实体机的差异
    xduanx
        31
    xduanx  
       2019-09-17 08:58:01 +08:00 via iPhone
    树莓派
    unifier
        32
    unifier  
       2019-09-17 09:05:04 +08:00
    @via 别了吧,alpine 的 C 运行时库好像都和其他发行版不一样,好像是 musl libc ?
    Davic1
        33
    Davic1  
       2019-09-17 09:52:38 +08:00
    推荐虚拟机. docker 拉下来的大部分都是精简过的, 只保留部分功能. 有时候拉下来会发现很多命令都没有. 用虚拟机的话还可以练练系统安装, 也需要一定的知识基础, 一举两得咯
    xavier007
        34
    xavier007  
       2019-09-17 09:56:27 +08:00
    建议给电脑直接换系统,只有这样才会静下心去折腾
    skiy
        35
    skiy  
       2019-09-17 09:59:57 +08:00
    弄个树莓派不是更好吗?
    Docker 的 centos (标准镜像),没有 crontab,systemd 之类的东西的,当然,如果你不需要用到这个,比如你所说的说编译 C 应该可以。
    不过,建议装个双系统直接一点,除了没有 QQ,其它的我感觉没差别。
    STRRL
        36
    STRRL  
       2019-09-17 10:02:43 +08:00
    可以 有区别
    pilgrim_kevin
        37
    pilgrim_kevin  
       2019-09-17 10:26:57 +08:00
    如果是新手初学者的话,弄啥虚拟机啊,直接电脑装个双系统,平时学习编程的时候就逼着自己用 linux 系统就完了。docker 这些不是不行,但是还有很多额外的知识和问题要了解,不利于聚焦学习。以后系统熟了慢慢再接触。
    snip
        38
    snip  
       2019-09-17 10:59:40 +08:00
    linux 通用性好。docker 或者树莓派,学了之后也只能在这两个上面用,通用性不好。
    kwanzaa
        39
    kwanzaa  
       2019-09-17 12:13:39 +08:00
    树莓派或者 WSL
    AyanamiRei
        40
    AyanamiRei  
       2019-09-17 12:17:48 +08:00
    现状一个虚拟机, 学习 linux, 学的差不多了之后, 在学 Docker
    ETO
        41
    ETO  
       2019-09-17 12:58:09 +08:00
    @fishCatcher 重启不会的删除数据的,除非删除镜像,然后重新启动。
    pipixia
        42
    pipixia  
       2019-09-17 16:17:25 +08:00 via Android
    开虚拟机 搞坏了可以用快照恢复
    enaxm
        43
    enaxm  
       2019-09-18 09:59:50 +08:00
    @anguiao #8 当然是对比 vmfusion 一类的重量级工具了,用 docker 启动镜像跟直接开 vm 虚拟机那速度差距太大了吧
    edward8628
        44
    edward8628  
       2019-09-18 12:50:12 +08:00
    mac 里面虚拟机+1,简直不要太爽
    Chenamy2017
        45
    Chenamy2017  
       2019-09-18 13:40:47 +08:00
    开虚拟机 +1
    terryching
        46
    terryching  
       2019-09-19 07:20:04 +08:00 via Android
    快速上手就行,wsl 也足够了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     905 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 19:32 PVG 03:32 LAX 12:32 JFK 15:32
    Do have faith in what you're doing.
    ubao 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