学习 linux 系统 c 语言编程
可以是可以的,但是 docker 的本意不是用来当系统用,会遇到各种莫名其妙的问题。建议实机或虚拟机
如果你既不熟悉 Linux 也不熟悉 Docker,建议直接虚拟机。
建议直接双系统
用 vagrant
我的小 mac 是撑不起虚拟机。docker pull 一下有什么不好= =业界标准开发模式了
Mac 上 docker 就是虚拟机
撑不起虚拟机就 ssh 到云端
macOS 的 Docker 不也是虚拟机么?
不能直接买个服务器吗,学生云才 10 块一个月,然后 vsc ssh 上去写代码
不是学生了
200 块去淘个银行退休瘦主机, 随便玩
vagrant 可以,不过也是虚拟机。
虚拟机 + VSCode SSH Remote,给你原生开发体验
windows subsystem linux 也挺好的啊,对学习基本命令有帮助。
docker run --rm -it alpine /bin/sh
这个镜像只有 5MB,随便折腾,哈哈
真想好好学你就实机吧 别搞那些花里胡哨得了
docker 用的不都是骨头版系统吗?
不是标准系统,如何学编程?
docker 和学编程有什么必要的关联么?
那 docker 重启之后配置好的东西不就没了吗,岂不是很不方便
装个虚拟机不就完了
在可以说有差别也可以说没有差别,技术过关可以把 docker 里的镜像也搞成原生 linux 差不多。不过何必呢? docker 也弄起来也烦,不去加服务的话,传个东西都要 build 一次
用 qemu
没有啊
建议虚拟机或者 wsl
mac 和 win 上的 docker 是装在 virtual box 里的
我看大多数人没回答楼主的问题, 只是推荐了另一种东西。 我来回答吧:
1. 没啥区别,因为 docker 会继承宿主机的内核
2. 一般 docker 会被作为大的跨平台项目的编译工具, 比如 armhf 交叉工具链
3. 如果用好了是一把利刃
等你学上 docker 一周,就开始放弃 linux 呢,何必在这上耽误时间呢。。。。哪怕装个 win10,然后装个 ubuntu 的虚拟机也是好的啊,你是学编程,又不是学 linux 装机。
和你有过同样的想法,也折腾过 docker,
但后面遇到问题得排查两方面的东西
1. docker 的操作问题
2. linux 的操作问题
有时候都不知道是哪方面出现了问题,很迷糊,遂放弃,转战 WSL
Docker 很好,但不适合初学者,上手接触容器概念会很迷惑
大家都是菜鸟走过来的,初学就要逼自己只用 Linux,时间久了就习惯了
我是从小学五年级申请的 Ubuntu 8.04 光盘开始入坑的,逼一逼就好了
如果只是在 Linux 下学 C 语言,用什么都无所谓
如果是要学 Linux 系统编程,一开始建议实体机或虚拟机,Docker 在摸到系统这一层时还是有挺多小细节不太一样,初学者遇到这种问题时不太容易区分到底是自己写错了还是 Docker 和实体机的差异
树莓派
别了吧,alpine 的 C 运行时库好像都和其他发行版不一样,好像是 musl libc ?
推荐虚拟机. docker 拉下来的大部分都是精简过的, 只保留部分功能. 有时候拉下来会发现很多命令都没有. 用虚拟机的话还可以练练系统安装, 也需要一定的知识基础, 一举两得咯
建议给电脑直接换系统,只有这样才会静下心去折腾
弄个树莓派不是更好吗?
Docker 的 centos (标准镜像),没有 crontab,systemd 之类的东西的,当然,如果你不需要用到这个,比如你所说的说编译 C 应该可以。
不过,建议装个双系统直接一点,除了没有 QQ,其它的我感觉没差别。
可以 有区别
如果是新手初学者的话,弄啥虚拟机啊,直接电脑装个双系统,平时学习编程的时候就逼着自己用 linux 系统就完了。docker 这些不是不行,但是还有很多额外的知识和问题要了解,不利于聚焦学习。以后系统熟了慢慢再接触。
linux 通用性好。docker 或者树莓派,学了之后也只能在这两个上面用,通用性不好。
树莓派或者 WSL
现状一个虚拟机, 学习 linux, 学的差不多了之后, 在学 Docker
重启不会的删除数据的,除非删除镜像,然后重新启动。
开虚拟机 搞坏了可以用快照恢复
当然是对比 vmfusion 一类的重量级工具了,用 docker 启动镜像跟直接开 vm 虚拟机那速度差距太大了吧
mac 里面虚拟机+1,简直不要太爽
开虚拟机 +1
快速上手就行,wsl 也足够了