V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
leosirius666a
V2EX  ›  Linux

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

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

    学习 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
    撑不起虚拟机就 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
    树莓派
    zacharyjia
        32
    zacharyjia  
       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   ·   实用小工具   ·   2201 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:02 · PVG 08:02 · LAX 16:02 · JFK 19:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.