centos搭建部署docker環境的詳細步驟

1、Docker的存在解決的問題

1.1 統一標準

應用構建:我們寫的應用可能使用瞭不同的編程語言,例如:Java、C++、JavaScript等,這些應用最終打成軟件包,有的是壓縮包、有的是文件夾、有的是源程序讓自己編譯,這就很麻煩;那麼能否統一打成一個包?這就需要docker build,把我們的軟件打成一個標準格式的包,這個包就叫做鏡像!

應用分享:所有軟件的鏡像都放到一個指定地方 docker hub(就相當於安卓手機裡的應用市場)。

應用運行:我們都打包成瞭統一標準的鏡像(相當於Windows裡的可執行程序.exe);直接docker run就可以啟動應用。

Docker的存在開啟瞭一個時代,一個容器化的時代!

區別於容器化,以前我們有一個虛擬化技術:假如有一個8核64G的應用,我們跑很多的應用,所有的應用都放到一個機器裡面;如果一個軟件造成內存泄漏,就可能把整個64G內存全部占完,造成其它應用就擠下去運行不瞭瞭!為瞭安全,所以我們要把這些應用進行隔離:

(1)第一種辦法:虛擬化技術;裝幾個虛擬機,假如每個虛擬機占8個G,每個虛擬機裡佈置各自的應用,就算有一個應用造成瞭內存泄漏,也隻會漏掉8個G,不會影響別人!但是虛擬化技術也有很多缺點:基礎鏡像都是GB級別、創建使用復雜、啟動速度慢、移植與分享不方便;

(2)第二種辦法:容器化技術;一個服務器裝瞭操作系統,對於虛擬機化技術實際上每個虛擬機又是一個完整的操作系統;對於容器化技術,既然有操作系統瞭,docker就是搞一些差異化的東西保存起來,所以每個應用的環境隻是區別於當前服務器的一個差異化環境;優點:基礎鏡像MB級別、創建簡單、隔離性強、啟動速度秒級、移植與分享方便;

1.2 資源隔離

(1)cpu、內存資源隔離與限制;

(2)訪問設備隔離與限制;

(3)網絡隔離與限制;

(4)用戶、用戶組隔離限制;容器裡跑的應用的root用戶,跟Linux主機裡的root用戶,可以不是同一個root用戶

……………………

2、Docker的建構

1、Docker_Host:

        想用Docker,每臺主機必須安裝Docker;安裝Docker的主機,即為Docker_Host

2、Docker Daemon

        安裝好Docker就會在主機上啟動,後臺啟動一個Docker的進程;運行在Docker主機上的Docker後臺進程

3、Client

        操作Docker主機的客戶端(命令行、UI等)

4、Registry

        鏡像倉庫:Docker Hub

5、Images

        鏡像,帶環境打包好的程序,可以直接啟動運行

6、Containers

        容器,由鏡像啟動起來正在運行中的程序

總結:想要用docker,先裝好Docker;然後去 軟件市場 (docker hub)尋找鏡像下載(docker pull)鏡像並運行(docker run);

3、安裝Docker

Docker官方部署Docker平臺的底層Linux操作系統對應的Linux內核版本至少3.8+,在實際的企業生產環境中,推薦的Linux內核至少3.10+,對應的Linux操作系統發型版本:Centos7.x或者Ubuntu16.x;

cat /etc/centos-release  # 查看當前Centos的版本
uname -a #查看當前內核的版本

Docker安裝的官方文檔:https://docs.docker.com/engine/install/centos/

1、卸載以前安裝的docker

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 如果以前什麼都沒安裝,直接yum remove docker*就可以

2、配置yun源

 yum install -y yum-utils # 下載yum工具類所需要的依賴
 yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 添加docker安裝源地址

3、安裝docker

 yum install -y docker-ce docker-ce-cli containerd.io # 安裝最新版本得docker
# docker-ce---docker社區版
# docker-ce-cli---操作docker服務器的命令行程序
# containerd.io---docker容器化的運行環境
 
# 如果想要安裝其他版本
yum list | grep docker # 查看一下docker資源的安裝列表

4、啟動docker並設置為開機自啟

systemctl start docker --now
systemctl enable docker 

5、查看一下當前的docker運行狀態

systemctl status docker

6、隨便使用一個命令驗證

docker info # 打印docker的詳細信息

7、配置鏡像加速

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
systemctl daemon-reload 
systemctl restart docker

然後輸入:docker ps能打印出來內容就說明沒問題!

總結

到此這篇關於centos搭建部署docker環境的文章就介紹到這瞭,更多相關centos搭建docker環境內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: