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!
推薦閱讀:
- CentOS 8安裝Docker的詳細教程
- 5分鐘安裝docker詳細步驟
- docker 環境搭建、docker 與容器常用指令大全(推薦)
- Centos7安裝Docker(2020最新親測可用,直接復制粘貼即可)
- Docker 環境配置以及問題解決方案