首先來說一下 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,但是最好還是卸載一下
-
檢查系統中是否已經安裝了docker
ps -ef | grep docker
-
列出已經安裝的 docker 相關軟件
yum list installed | grep docker
-
刪掉已經安裝的 docker 相關軟件
把列出的都刪掉,根據名字刪除,如:docker-ce.x86_64
sudo yum -y remove docker-ce.x86_64
-
刪除殘留目錄的鏡像文件,容器等
sudo rm -rf /var/lib/docker
-
刪除殘留目錄的配置文件等
sudo rm -rf /etc/docker
-
刪除自系統啓動以來描斜體樣式述系統信息的文件
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
-
安裝指定版本
-
查詢適合目前系統內核的 docker 版本
yum list docker-ce --showduplicates|sort –r
-
安裝指定版本的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
安裝
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