手把手帶你學Docker:Docker的介紹和安裝(一)
1 Docker的介紹
Docker時Docker.Lnc公司開源的一個基於LXC技術之上搭建的Container容器引擎,源代碼託管在Github上,基於Go語言並遵從Apache2.0協議開源。
Docker屬於Linux容器的一種封裝,提供簡單易用的容器使用接口。
Docker將應用程序與該程序的依賴,打包在一個文件裏面。運行這個文件,就會生成一個虛擬容器。程序在這個虛擬容器裏運行,就好像在真實的物理機上運行一樣。有了Docker,就不用擔心環境問題。
總體來說,Docker的接口相當簡單,用戶可以方便地創建和使用容器,把自己的應用放入容器。容器還可以進行版本管理、複製、分享、修改,就像管理普通的代碼一樣。
Docker的思想來自於集裝箱,集裝箱解決了什麼問題?
在一艘大船上,可以把貨物規整的擺放起來。並且各種各樣的貨物被集裝箱標準化了,集裝箱和集裝箱之間不會互相影響。那麼我們就不需要專門運送水果的船和專門運送化學品的船了。只要這些貨物在集裝箱裏封裝的好好的,那我就可以用一艘大船把他們都運走。docker就是類似的理念。
2 Docker的優點
- 解決了操作系統和軟件運行環境的依賴
- 對於開發人員來說,再也不用擔心不會部署開發環境
- 開發環境,測試環境和生產環境高度一致。
- 讓用戶體驗產品新特性的又一種思路。
3 Docker的用途
Docker的主要用途,目前有三大類:
提供了一次性的環境:比如,本地測試他人的軟件、持續集成的時候提供單元測試和構建的環境。
提供彈性的雲服務:因爲Docker容器可以隨開隨關,很適合動態擴容和所容。
組建爲服務架構:通過多個容器,一臺機器可以跑多個服務,因此在本機就可以模擬出微服務架構。
4 Docker的安裝
1,安裝一個CentOS7
[root@docker01 /]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
2,修改主機名爲docker01
hostnamectl set-hostname docker01
3,配置yum源
#刪除本地源
rm -fr /etc/yum.repos.d/local.repo
#下載阿里雲源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#下載docker源
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
#將源文件中的地址替換爲清華源
sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo
4,安裝docker
yum install docker-ce -y
5,啓動docker,並置爲開機啓動
# 啓動docker
[root@docker01 /]# systemctl start docker.service
# 設置爲開機自啓
[root@docker01 /]# systemctl enable docker.service
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@docker01 /]# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
...........
6,查看docker版本
docker是一個cs架構: 通過docker version來查看
[root@docker01 /]# docker version
Client:
Version: 18.09.8
API version: 1.39
Go version: go1.10.8
Git commit: 0dd43dd87f
Built: Wed Jul 17 17:40:31 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.8
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 0dd43dd
Built: Wed Jul 17 17:10:42 2019
OS/Arch: linux/amd64
Experimental: false
小結
本篇文章講述了Docker的介紹和安裝,由於純手打,難免會有紕漏,如果發現錯誤的地方,請第一時間告訴我,這將是我進步的一個很重要的環節。