构建一个基于容器的开发环境

前言:GNU/Linux(以下简称Linux)是目前服务器使用广泛的系统,而开发人员使用的操作系统大多数却是Windows。虽然现在主流的语言几乎都支持跨平台的特性,但在开发过程中仍然会因为平台不一致导致一些莫名其妙的问题,最经典的当属CRLF(回车换行符)在Windows和Unix系统间造成的问题。而Windows糟糕的软件管理也一直被开发人员嫌弃,新机器装一个齐全的开发环境往往要重复经历打开浏览器-搜索软件-下载软件-手动安装的过程,这个过程在Linux下利用包管理器往往只需要一行命令搞定。

但在国内,想要将Linux当做主力系统困难重重,常用的微信,钉钉,企业微信都没有可用的第一方Linux客户端,Linux下deepin-wine的解决方案也不尽完美,Windows下开一个Linux虚拟机动辄几十G的大小又显得笨拙,这篇文章就介绍一下如何利用近年来火爆的容器技术搭建一个灵活,可复用,带版本控制的开发环境。

前置条件

  1. Docker,Windows下则是Docker Desktop
  2. VSCode 或 JetBrains 全家桶

基于容器的开发本质上也就是远程开发,这方面VSCode 与 JetBrains IntelliJ 的实现有区别:VSCode 直接在远程环境运行,代码不保存在本地,JetBrains 则基于FTP/SFTP/FTPS协议在本地与远程代码同步,且配置有些繁琐。本文使用VSCode做演示

一、构建镜像

选择一个你熟悉的Linux发行版,基于基础镜像构建自己的开发环境,个人偏爱Arch Linux,以这个发行版为例,拉取镜像,并配置初始开发环境,我做了一个简单的Dockerfile:

FROM docker.io/library/archlinux:latest

RUN sed -i '1i Server = http://mirrors.aliyun.com/archlinux/$repo/os/$arch' /etc/pacman.d/mirrorlist \
    && sed -i '1i Server = https://mirrors.tencent.com/archlinux/$repo/os/$arch' /etc/pacman.d/mirrorlist \
    && sed -i '$i [archlinuxcn]' /etc/pacman.conf \
    && sed -i '$i SigLevel = TrustAll' /etc/pacman.conf \
    && sed -i '$i Serv
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值