首先来说一下 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
方式二:国内安装
Docker Compose 存放在Git Hub,不太稳定。你可以也通过执行下面的命令,高速安装Docker Compose。
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
通过修改URL中的版本,可以自定义需要的版本。可在官网查询到最新的版本在来更新上述路径中的版本号,如1.25.0
和1.29.2
增加权限
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