centos7 安裝docker-ce和docker-compose

首先來說一下 docker 版本的選擇問題,可以看一下下面這段引言,就能知道一個大概的選擇了。

docker-io, docker-engin 是以前早期的版本,版本號是 1.*,默認centos7 安裝的是docker-io,最新版是 1.13;Ubuntu默認安裝的是docker-ce ,docker-ce 是社區版本,適用於剛剛開始docker 和開發基於docker研發的應用開發者或者小型團隊,所以這裏統一爲安裝docker-ce

我的環境

  • CentOS-7-x86_64-Minimal-1810
  • Linux 3.10.0-957.el7.x86_64

CentOS 更新

sudo yum update

卸載 docker

可能系統已經默認安裝docker,但我的Centos系統是最小化安裝,所以默認沒有安裝docker,但是最好還是卸載一下

  1. 檢查系統中是否已經安裝了docker

    ps -ef | grep docker
    
  2. 列出已經安裝的 docker 相關軟件

    yum list installed | grep docker
    
  3. 刪掉已經安裝的 docker 相關軟件

    把列出的都刪掉,根據名字刪除,如:docker-ce.x86_64

    sudo yum -y remove docker-ce.x86_64 
    
  4. 刪除殘留目錄的鏡像文件,容器等

    sudo rm -rf /var/lib/docker
    
  5. 刪除殘留目錄的配置文件等

    sudo rm -rf /etc/docker
    
  6. 刪除自系統啓動以來描斜體樣式述系統信息的文件

    sudo rm -rf /var/run/docker
    

安裝 docker

  • 安裝 yum-utils,它提供了 yum-config-manager,可用來管理yum源
sudo yum install -y yum-utils
  • 添加yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新yum索引
sudo yum makecache fast
  • 安裝 docker-ce

    • 安裝最新版

      sudo yum install -y docker-ce
      
    • 安裝指定版本

      1. 查詢適合目前系統內核的 docker 版本

        yum list docker-ce --showduplicates|sort –r
        
      2. 安裝指定版本的docker-ce

        sudo yum install docker-ce-18.03.1.ce-1.el7.centos -y
        
  • 設置爲系統服務

sudo systemctl enable docker
  • 啓動docker
sudo systemctl start docker
或者
sudo service docker restart
  • 安裝完成之後可以查看一下 docker 的版本信息:
[root@localhost /]# docker -v
Docker version 19.03.5, build 633a0ea
  • 查看 docker 的信息
docker info
  • 若出現錯誤信息:
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

解決

vi /etc/sysctl.conf

在文件裏添加下面兩行代碼:

net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

然後:wq 保存後推出,執行下面代碼:

sysctl -p

再次執行docker info,若出現錯誤

WARNING: IPv4 forwarding is disabled

解決辦法

vi /etc/sysctl.conf

修改,將默認值 0 修改爲 1
    net.ipv4.ip_forward=1

重啓network服務
systemctl restart network

設置鏡像倉庫源

默認的鏡像倉庫是Docker Hub,拉取鏡像的速度很慢,所以爲了方便鏡像獲取,可以更改鏡像源,方法是添加一個配置文件

一步到位,直接更換地址即可,推薦 阿里雲

echo '{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}' > /etc/docker/daemon.json

阿里雲
echo '{
 "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}' > /etc/docker/daemon.json

分步操作

sudo vi /etc/docker/daemon.json

{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

添加完命令之後,需要重啓一下容器服務

容器重啓

systemctl 方式

守護進程重啓
sudo systemctl daemon-reload

重啓docker服務
sudo systemctl restart docker

現在執行一下docker info 命令,可以查看到 docker 的鏡像源已經更改爲國內的了,信息如下:

Registry Mirrors:
 https://registry.docker-cn.com/

docker 已經按照好了,現在,可以試一下拉取一個鏡像了

docker pull nginx

安裝 docker-compose

docker-compose最新版本

安裝

curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

增加權限

sudo chmod +x /usr/local/bin/docker-compose

查看版本docker-compose -v

docker-compose --version

[root@localhost /]# docker-compose --version
docker-compose version 1.25.0, build 0a186604
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章