LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

一个使用容器的最佳范例是使用Docker[1]_

2022年11月21日 291点热度

Linux 已经成为工作、娱乐和个人生活等多个领域的支柱,人们已经越来越离不开它。在 Linux 的帮助下,技术的变革速度超出了人们的想象,Linux 开发的速度也以指数规模增长。因此,越来越多的开发者也不断地加入开源和学习 Linux 开发地潮流当中。在这个过程之中,合适的工具是必不可少的,可喜的是,随着 Linux 的发展,大量适用于 Linux 的开发工具也不断成熟。甚至可以说,这样的工具已经多得有点惊人。

为了选择更合适自己的开发工具,缩小选择范围是很必要的。但是这篇文章并不会要求你必须使用某个工具,而只是缩小到五个工具类别,然后对每个类别提供一个例子。然而,对于大多数类别linux下应用程序开发,都会有不止一种选择。下面我们来看一下。

容器

放眼于现实,现在已经是容器的时代了。容器既及其容易部署,又可以方便地构建开发环境。如果你针对的是特定的平台的开发,将开发流程所需要的各种工具都创建到容器映像中是一种很好的方法,只要使用这一个容器映像,就能够快速启动大量运行所需服务的实例。

一个使用容器的最佳范例是使用 Docker[1],使用容器(或 Docker)有这些好处:

◈ 开发环境保持一致◈ 部署后即可运行◈ 易于跨平台部署◈ Docker 映像适用于多种开发环境和语言◈ 部署单个容器或容器集群都并不繁琐

通过 Docker Hub[2],几乎可以找到适用于任何平台、任何开发环境、任何服务器、任何服务的映像,几乎可以满足任何一种需求。使用 Docker Hub 中的映像,就相当于免除了搭建开发环境的步骤,可以直接开始开发应用程序、服务器、API 或服务。

Docker 在所有 Linux 平台上都很容易安装,例如可以通过终端输入以下命令在 Ubuntu 上安装 Docker:

sudo apt-get install docker.io

Docker 安装完毕后,就可以从 Docker 仓库中拉取映像,然后开始开发和部署了(如下图)。

图 1: Docker 镜像准备部署

版本控制工具

如果你正在开发一个大型项目,又或者参与团队开发,版本控制工具是必不可少的linux运维博客,它可以用于记录代码变更、提交代码以及合并代码。如果没有这样的工具,项目几乎无法妥善管理。在 Linux 系统上,Git[3] 和 GitHub 的易用性和流行程度是其它版本控制工具无法比拟的。如果你对 Git 和 GitHub 还不太熟悉,可以简单理解为 Git 是在本地计算机上安装的版本控制系统,而 GitHub 则是用于上传和管理项目的远程存储库。 Git 可以安装在大多数的 Linux 发行版上。例如在基于 Debian 的系统上,只需要通过以下这一条简单的命令就可以安装:

sudo apt-get install git

安装完毕后,就可以使用 Git 来实施版本控制了(如下图)。

图 2:Git 已经安装,可以用于很多重要任务

Github 会要求用户创建一个帐户。用户可以免费使用 GitHub 来管理非商用项目,当然也可以使用 GitHub 的付费模式(更多相关信息,可以参阅价格矩阵)。

文本编辑器

如果没有文本编辑器,在 Linux 上开发将会变得异常艰难。当然,文本编辑器之间孰优孰劣,具体还是要取决于开发者的需求。对于文本编辑器,有人可能会使用 vim、emacs 或 nano,也有人会使用带有 GUI 的编辑器。但由于重点在于开发,我们需要的是一种能够满足开发人员需求的工具。不过我首先要说,vim 对于开发人员来说确实是一个利器,但前提是要对 vim 非常熟悉,在这种前提下,vim 能够满足你的所有需求,甚至还能给你更好的体验。然而,对于一些开发者(尤其是刚开始接触 Linux 的新手)来说linux系统命令,这不仅难以帮助他们快速达成需求,甚至还会是一个需要逾越的障碍。考虑到这篇文章的目标是帮助 Linux 的新手(而不仅仅是为各种编辑器的死忠粉宣传他们拥护的编辑器),我更倾向于使用 GUI 编辑器。

就文本编辑器而论,选择 Bluefish[6] 一般不会有错。 Bluefish 可以从大部分软件库中安装,它支持项目管理、远程文件多线程操作、搜索和替换、递归打开文件、侧边栏、集成 make/lint/weblint/xmllint、无限制撤销/重做、在线拼写检查、自动恢复、全屏编辑、语法高亮(如下图)、多种语言等等。

图 3:运行在 Ubuntu 18.04 上的 Bluefish

IDE

集成开发环境Integrated Development Environment(IDE)是包含一整套全面的工具、可以实现一站式功能的开发环境。 开发者除了可以使用 IDE 编写代码,还可以编写文档和构建软件。在 Linux 上也有很多适用的 IDE,其中 Geany[7] 就包含在标准软件库中,它对用户非常友好,功能也相当强大。 Geany 具有语法高亮、代码折叠、自动完成,构建代码片段、自动关闭 XML 和 HTML 标签、调用提示、支持多种文件类型、符号列表、代码导航、构建编译,简单的项目管理和内置的插件系统等强大功能。

Geany 也能在系统上轻松安装,例如执行以下命令在基于 Debian 的 Linux 发行版上安装 Geany:

sudo apt-get install geany

安装完毕后,就可以快速上手这个易用且强大的 IDE 了(如下图)。

图 4:Geany 可以作为你的 IDE

文本比较工具

有时候会需要比较两个文件的内容来找到它们之间的不同之处,它们可能是同一文件的两个不同副本(有一个经过编译,而另一个没有)。这种情况下,你肯定不想要凭借肉眼来找出差异,而是想要使用像 Meld[8] 这样的工具。 Meld 是针对开发者的文本比较和合并工具,可以使用 Meld 来发现两个文件之间的差异。虽然你可以使用命令行中的文本比较工具,但就效率而论,Meld 无疑更为优秀。

Meld 可以打开两个文件进行比较linux下应用程序开发,并突出显示文件之间的差异之处。 Meld 还允许用户从两个文件的其中一方合并差异(下图显示了 Meld 同时打开两个文件)。

图 5: 以简单差异的模式比较两个文件

Meld 也可以通过大多数标准的软件库安装,在基于 Debian 的系统上,执行以下命令就可以安装:

sudo apt-get install meld

高效地工作

以上提到的五个工具除了帮助你完成工作,而且有助于提高效率。尽管适用于 Linux 开发者的工具有很多,但对于以上几个类别,你最好分别使用一个对应的工具。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: docker linux服务器 linux系统 容器技术 版本控制
最后更新:2022年11月21日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
(Linux基础知识)Linux察看版本信息的信息三 从容迎接Windows时代:Ubuntu安装Win7虚拟机教程 教下大伙儿红旗linux系统镜像系统安装实例教程流程汇总 轻松压缩文件,linux命令必备! 红旗Linux推出新版本:界面设计媲美Windows Linux部署项目:构建高效稳定的运行环境 掌握Linux下载文件命令技巧,轻松高效获取所需资料 Linux系统查看系统运行状态的top命令的功能 轻松解决Linux内存溢出问题:9个实用方法 Linux常用的命令大全-系统管理进程与作业管理命令解释大全 linux内核api 深入探索Linux内核API,你真的了解吗? 教你在XShell软件中使用sz和rz命令下载和上传文件 RedHatEnterprise命令删除空文件夹命令教程操作环境介绍 轻松掌握Linux目录权限777提升技巧 LinuxTCP协议栈的内部机制和优化技术介绍 手动删除400多万个小文件,rm-删除执行不动 mysql执行sql脚本文件的方法:SQLServerjava能写游戏吗 解密Unix时间戳转换技巧,轻松读懂日期奥秘 在Linux中轻松删除单个文件、文件组或整个文件夹 掌握Linux编译C语言的命令,轻松使用编译器
Linux文件路径查询方法,轻松获取文件位置Linux移植6410:从零开始的挑战!linux php安装 快速掌握Linux下PHP安装,轻松入门流行技术linux patch 文件 解决LinuxPatch文件10大疑难杂症,轻松应对!Ubuntu系统更改IP地址的简易教程,跟随以下步骤即可搞定!高效搭建Linux Android开发环境,轻松提升开发体验轻松掌握:如何查询Linux内核版本?Linux安装Matlab指南,快速掌握安装步骤Ubuntu 16安装网卡驱动教程,轻松解决网络连接问题Linux启动时,不使用图形界面可能更有效率!移植Linux,手机变身“大杀器”!详解8大关键操作Linux更高效,掌握启动终端快捷键!纯Python库实现上面介绍的HTML转换为PDF的软件Fedora 13服务器配置指南:9个实用技巧全解析9种方法轻松获取Linux版本,快速掌握系统信息!博客韦东山freeRTOS系列教程:入门文档教程+进阶视频教程轻松掌握linux ldd命令的技巧,成为高效开发者与管理员Linux VPS安全检测,保障服务器稳定运行!Linux下高效开发必备:配置Tomcat和JDK分析Linux中的I2C驱动程序框架核心结构(i2c-bus结构)
从容迎接Windows时代:Ubuntu安装Win7虚拟机教程 掌握Linux编译C语言的命令,轻松使用编译器 查看动态库版本查找gcc生成的最新动态库方法 Linux终端窗口中输入mysql-V以显示MySQL版本信息sky Linux内核载入到内存的分为步骤是怎样的?? Linux查看系统和内核版本在不同系统的一些命令表现 轻松下载、安装和使用Linux RedHat系统 中科红旗(北京)信息科技有限公司研发的Linux桌面操作系统社区预览版 虚拟主机技术极大怎么样?如何选择多个网站.Q. 一下,网络编程环境高级编程(第二版) Linux上使用Smartmontools工具扫描坏道工具 Ubuntu和其他Linux中安装最新的LibreOffice版本的快速指南 再传到linux2.配置数据库的环境和路径3.登陆数据库修改 重新启动RedHatLinuxrelease命令注销系统的logout命令-上海怡健医学 聊聊我们建站主机选择Windows还是Linux系统的问题(图) Android插件化框架DL代理Activity的原理和三个关键问题 在文档中查找字符串用grep命令的使用:几个 bash:批量修改文件名称的方法总结(一)-苏州安嘉 Linux磁盘管理常用三个命令为df、du、fdisk和fdisk Ubuntu和其他Linux中安装最新的LibreOffice版本的快速指南
标签聚合
linux系统 linux脚本 命令 sudo 文件目录 软件 虚拟机 命令模式 电脑 linux服务器
书籍
课程
技术群
技术干货大合集↓
  • 2023年3月 / 89篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.