CentOS安装 Docker 和 docker-compose(V1和V2两个版本)
目录
一、安装 Docker
1、更新docker的yum源为阿里云仓库
如果没有安装wget 执行yum install wget -y
安装
sudo wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
2、安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3、查看docker-ce版本
sudo yum list docker-ce --showduplicates | sort -r
4、安装指定版本的docker
我这里选择安装 docker-ce-20.10.16
版本,现在最新版本已经到 docker-ce-24.0.6
版本了
PS:注意如果 docker-ce-cli-20.10.16-3.el7
不加cli指定版本的话它会默认下载最新版本
sudo yum -y install docker-ce-20.10.16-3.el7 docker-ce-cli-20.10.16-3.el7
5、切换Dockek镜像下载源(阿里云镜像已经不可用了,这里多配置一些可能能用的仓库)
registry-mirrors 中的镜像加速地址请自行替换成自己 阿里云镜像加速 地址
## 创建/etc/docker
sudo mkdir -p /etc/docker
## 配置镜像加速地址
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
]
}
EOF
## 重新加载配置文件
sudo systemctl daemon-reload
## 重启 Docker 服务
sudo systemctl restart docker
6、启动测试docker
启动docker,并且将docker设置成开机自启
# 启动
sudo systemctl start docker
# 设置Docker开机自启
sudo systemctl enable docker
测试查看docker版本
docker --version
7、Docker启动关闭操作
# 启动
sudo systemctl start docker
# 设置Docker开机自启
sudo systemctl enable docker
#重启docker服务
sudo systemctl restart docker
#关闭docker 按照顺序两个命令都需要执行
sudo systemctl stop docker
sudo systemctl stop docker.socket
# 关闭Docker开机自启
sudo systemctl disable docker
8、安装runlike查看run参数工具
# 查看run参数工具
#linux是python2.x,要先升级到3.x,低版本pip安装runlike会出异常
yum install python3 \
yum install python3-pip \
pip3 install runlike
# 使用runlike 容器名或runlike -p 容器名,使用容器id也可以,加上-p结构化输出
runlike -p 容器名
9、卸载/更新已经安装的Docker
- 卸载docker
# 先停止docker
sudo systemctl stop docker
sudo systemctl stop docker.socket
# 列出安装过的包
sudo yum list installed | grep docker
# 根据安装过的包进行卸载
sudo yum -y remove docker-buildx-plugin.x86_64
sudo yum -y remove docker-ce.x86_64
sudo yum -y remove docker-ce-cli.x86_64
sudo yum -y remove docker-ce-rootless-extras.x86_64
sudo yum -y remove docker-compose-plugin.x86_64
sudo yum -y remove containerd.io.x86_64
- 更新docker
sudo yum -y update docker
二、安装 docker-compose
在高版本的docker中会自带 docker-compose V2版本,安装 docker-compose 自己在本机执行一下docker compose version
是否已经安装,如果已经安装就别重复安装。
1、安装指定版本 docker-compose
推荐使用V2版本,现在docker高版本自带的都是V2版本并且2023年7月起V1版本已经停止维护了,V1和V2版本使用上有些区别可以查看 docker官网compose V2版本介绍
PS:我2024年10月通过get.daocloud.io下载的docker-compose用不了了,建议直接去百度网盘下载docker-compose上传到服务器中使用
## 下载V1版本docker-compose 这个包差不多12.1MB
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
## 下载V2版本docker-compose 这个包差不多57.6MB
mkdir -p /usr/local/lib/docker/cli-plugins
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose
PS:https://get.daocloud.io 这个地址下载可能会失败出现 503 错误,我当天部署时就出现了问题,如果这个地址下载不了可以将下载地址改为 https://github.com,如果 https://github.com 也访问不了,那就自行下载 docker-compose 包,V1版本放入 /usr/local/bin 目录 V2版本放入 /usr/local/lib/docker/cli-plugins 目录也可以,文件名称必须为 docker-compose,我这里提供两个百度网盘的地址需要自提。
- docker-compose 1.29.2 版本百度网盘地址 https://pan.baidu.com/s/1rwJS4qLB30mlqmnJeDE1YQ?pwd=b35g
- docker-compose v2.20.0 版本百度网盘地址 https://pan.baidu.com/s/11eq-rKDzxwiwjm5f_VJifw?pwd=rhq6
2、添加 docker-compose 可执行权限
## V1版本执行
sudo chmod +x /usr/local/bin/docker-compose
## V2版本执行
sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
3、验证是否安装成功
## V1版本查看版本信息
docker-compose -version
## V2版本查看版本信息
docker compose version
4、卸载 docker-compose
高版本的docker中自带的 docker-compose 是无法删除的,只能删除自己安装的 docker-compose
## V1版本卸载
sudo rm /usr/local/bin/docker-compose
## V2版本卸载
sudo rm /usr/local/lib/docker/cli-plugins/docker-compose
更多推荐
所有评论(0)