一. Linux簡介
1. 什么是linux
世界上不僅只有一個 Windows 操作系統,還有 Linux、mac、Unix 等操作系統。桌面操作系統下 Windows 是霸主,而 Linux 的桌面操作系統用的人很少,因為 Windows 有的很多軟件在 Linux 下沒有或者很弱;服務器操作系統則反之。Linux 有一個強大的服務器軟件生態系統:Docker、Redis、MySQL、Nginx、Hadoop 等等。
2. linux和windows的區別
(1)使用 Windows 傾向於 GUI 操作,Linux 雖然也可以安裝圖形界面,但是 Linux 傾向於命令行操作,很少用GUI操作。用 Linux 就要用命令提示符操作,命令行操作的優點慢慢就會體會了(可以自動化、可以精確控制、可以組合命令)。
(2)底層 api 不一樣,因此可執行程序不互通;有一些軟件同時在 windows 和 linux 下作了移植;
(3)windows 下的命令到了 linux 下不一定能用;
(4)windows 下主要根據文件的擴展名區分文件類型,linux 中可以沒有擴展名;
(5)Linux 不同版本使用方法、配置文件可能變化很大,要自己查、反復試;
(6)易錯的地方:Linux 中文件名是區分大小寫的,因此“Ypf”和“ypf”是兩個文件
PS: Linux系統目錄如下
3. linux 內核和linux發行版
Linux 內核由 Linus 及開源社區維護,內核包含內存管理、存儲管理、進程管理、網絡通訊等基礎模塊。很多公司、開源組織基於 Linux 內核打包出了很多“發行版”,不同的發行版的內核版本可能不一致,包含的軟件也不一致,界面差別較大,但是命令行操作都是互通的,大部分程序也是互通的。
內核和發行版的關系就像 Android 內核和“小米手機系統、華為手機系統”的關系一樣。
常用的發行版有 RedHat、CentOS、Debian、Ubuntu 等等。
4. 常用工具
(1). 連接Linux工具有:XShell、FinalShell、SecureCRT (推薦FinalShell)
(2). Linux的FTP上傳下載工具有:WinSCP、XFtp (XShell安裝后自動安裝的)、FinalShell(也可以進行) (推薦WinSCP)
二. Docker簡介
1. docker相關概念
Docker 是一個開源的應用容器引擎,誕生於 2013 年初,基於 Go 語言實現, dotCloud 公司出品(后改名為Docker Inc)
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上。
容器是完全使用沙箱機制,相互隔離,容器性能開銷極低。
Docker 從 17.03 版本之后分為 CE(Community Edition: 社區版) 和 EE(Enterprise Edition: 企業版)
2. 鏡像、容器、倉庫
(1). 鏡像(Image):就相當於是一個 root 文件系統。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統的 root 文件系統。
就像軟件安裝包。我們可以把鏡像拉(pull)下來,增加我們的更改,然后發布(push)成新的鏡像,別人也可以下載我們發布的鏡像,然后繼續更改,繼續發布;
(2). 容器(Container):鏡像安裝后運行的實例;同一個鏡像可以在同一台服務器上安裝成多個容器,同一個鏡像可以同時裝在多個不同的服務器上
PS:鏡像和容器的關系,就像是面向對象程序設計中的類和對象一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啟動、停止、刪除、暫停等。
(3). 倉庫(Repository):倉庫可看成一個代碼控制中心,用來保存鏡像,有公有倉庫和私有倉庫之分。常見的docker的官方倉庫、阿里雲、騰訊雲等等。
3. 相關地址
docker官網:https://www.docker.com/
鏡像官方地址:https://hub.docker.com/ (可以去搜索各種鏡像,查詢鏡像的版本號等)
官方幫助文檔:https://docs.docker.com/engine/ (重點參考!!!)
教程大全:http://c.biancheng.net/docker/
4. 所用環境
下面docker章節使用的Linux環境是騰訊雲的 Centos 8.0 版本
三. K8S簡介
四. 系列章節
階段一:linux入門
第一節:Linux環境准備之基於Hyper-V安裝Centos8.1以及常用工具的使用
第五節:linux常用服務配置、網絡配置 和 基於FTP的上傳和下載的幾種方式
第六節:Linux之基於Centos系統安裝Redis、MySQL、Nginx
第七節:Linux之基於Centos系統安裝.Net Core環境、部署Core MVC項目、使用nginx反向代理
階段二:Docker系列
第一節:docker簡介、下載和配置鏡像加速器、以及鏡像和容器的使用
第二節:docker容器數據卷、容器與主機持久化、容器與容器進行交互
第三節:在docker容器中部署Redis、Nginx、MySQL
第四節:docker鏡像原理剖析和制作鏡像兩種方式 (通過容器 或 通過Dockerfile)
第五節:自定義Centos鏡像和Asp.Net Core WebApi鏡像並發布
第六節:docker compose服務編排簡介、基於發布包構建多個webapi容器 和 基於鏡像實現Nginx反向代理webapi
第七節:docker與虛擬機對比、私有倉庫的搭建和阿里雲容器鏡像服務介紹
第八節:基於docker swarm進行集群管理和基於service/stack進行容器服務管理
階段三:K8s系列系列
!
- 作 者 : Yaopengfei(姚鵬飛)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 聲 明1 : 如有錯誤,歡迎討論,請勿謾罵^_^。
- 聲 明2 : 原創博客請在轉載時保留原文鏈接或在文章開頭加上本人博客地址,否則保留追究法律責任的權利。