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

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

  •  
  •   leosirius666a · 131 天前 · 5535 次点击
    这是一个创建于 131 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学习 linux 系统 c 语言编程

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

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

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