docker和docker-compose
閱讀文本大概需要3分鐘。
docker、dockerfile與docker-compose區(qū)別
docker:和操作系統(tǒng)無關的一個沙箱容器,宿主機安裝的什么操作系統(tǒng)和其本身無關,在它基礎上可以制作各種系統(tǒng)類型的基礎服務
Dockerfile:是把手工安裝docer鏡像的過程變成一個配置文件的方式運行,這樣每次不需要一步步手敲命令去安裝了,而只是需要一個配置文件運行既可生成一個鏡像
docker-compos:提供了服務和項目的概念,這樣一個服務可以配置多個項目,這個服務是多個項目的集合體,啟動和關閉都相對一個一個項目的啟動要方便很多
0x01:docker的安裝
第一步:刪除舊版本和相關依賴
yum?remove?docker?\
??????????????????docker-client?\
??????????????????docker-client-latest?\
??????????????????docker-common?\
??????????????????docker-latest?\
??????????????????docker-latest-logrotate?\
??????????????????docker-logrotate?\
??????????????????docker-engine
第二步: 安裝依賴
yum?install?-y?yum-utils?\
??device-mapper-persistent-data?\
??lvm2第三步: 配置穩(wěn)定的repositories
yum-config-manager?\
????--add-repo?\
????https://download.docker.com/linux/centos/docker-ce.repo第四步: 安裝docker
yum?install?docker-ce?docker-ce-cli?containerd.io完成后通過docker version命令查看docker的版本信息

啟動:systemctl start docker
開機啟動:systemctl enable docker
0x02:安裝docker-compose
docker-compose的版本列表:
https://github.com/docker/compose/releases/
docker-compose主要有以下兩種安裝方式
方法一
curl?-L?????\
https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname?-s`-`uname?-m`?>?/usr/local/bin/docker-compose?
添加權限
chmod?+x?/usr/local/bin/docker-compose
查看版本信息
docker-compose?--version但是此方法會經(jīng)常因為網(wǎng)絡的原因而無法安裝
方法二
1、安裝python-pip
yum?-y?install?epel-release
yum?-y?install?python-pip2、安裝docker-compose
pip?install?docker-compose待安裝完成后,執(zhí)行查詢版本的命令,即可安裝docker-compose
docker-compose?version
方式一相對簡單,但是由于網(wǎng)絡問題,常常安裝不上,并且經(jīng)常會斷開;方式二略微麻煩,但是安裝過程比較穩(wěn)定。另外卸載卸載docker-compose,只需要刪除二進制文件就OK了。
0x03:附錄
在安裝的過程中,可能會遇到一些奇奇怪怪的問題,小編在安裝完docker-compose后遇到執(zhí)行命令:
docker-compose?--version
如下問題(異常堆棧沒有保留到:
/usr/lib64/python2.7/site-packages/cryptography/__init__.py:39:?CryptographyDeprecationWarning
看樣子python版本跟docker-compose不兼容問題。一不小心執(zhí)行了如下命令
##強制刪除已安裝程序及其關聯(lián)
rpm?-qa|grep?python|xargs?rpm?-ev?--allmatches?--nodeps?
##刪除所有殘余文件?##xargs,允許你對輸出執(zhí)行其他某些命令?
whereis?python?|xargs?rm?-frv??
##驗證刪除,返回無結果?
whereis?python?
最終發(fā)現(xiàn)把python和yum全部給刪除了【好大的杯具】。最終重新安裝一下python和yum,只能使用rpm命令安裝python和yum;執(zhí)行如下命令下載如下rpm包
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/libxml2-python-2.9.1-6.el7.4.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/lvm2-python-libs-2.02.186-7.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-2.7.5-88.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python2-rpm-macros-3-32.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-chardet-2.2.1-3.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-devel-2.7.5-88.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-libs-2.7.5-88.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-rpm-macros-3-32.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-srpm-macros-3-32.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-10.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-virtualenv-15.1.0-2.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-43.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-build-4.11.3-43.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-build-libs-4.11.3-43.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-python-4.11.3-43.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-sign-4.11.3-43.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-167.el7.centos.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-aliases-1.1.31-53.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-53.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-53.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-utils-1.1.31-53.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/libxml2-2.9.1-6.el7.4.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/libxml2-devel-2.9.1-6.el7.4.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-libs-4.11.3-43.el7.x86_64.rpm
wget?http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-devel-4.11.3-43.el7.x86_64.rpm
要注意的是有的包名字可能會更新,那么就去找相似的去替代即可。
安裝python
rpm?-ivh?python-*???rpm-python-*?
安裝yum
rpm?-ivh?yum-*
如果安裝過程出現(xiàn)了類似下面的代碼,這是包與包之間的依賴關系的問題,只需要卸載已經(jīng)安裝的包【rpm -e 包名(沒有.rpm后綴)】,然后先安裝依賴包,即可。

☆
往期精彩
☆
02?Nacos源碼編譯
關注我
每天進步一點點
