【Docker + DockerCompose】安装步骤+演示

介绍

本文通过VMware WorkStation虚拟机里配置的CentOS 7系统安装Docker和Docker Compose。

通过MobaXterm进行虚拟机系统的远程连接。

详细步骤

一、连接虚拟机

1.输入ifconfig查看虚拟机地址

2.通过MobaXterm连接虚拟机

输入用户名和密码后连接成功:

二、安装Docker

1.卸载旧版本(如果有)
bash 复制代码
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2.安装yum依赖

这里使用国内腾讯源安装:

a.备份原有 repo 文件

bash 复制代码
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/

b.下载腾讯云的 CentOS 7 归档源

bash 复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.cloud.tencent.com/repo/centos7_base.repo

c. 清理缓存并生成新缓存

bash 复制代码
yum clean all
yum makecache

d. 安装yum

bash 复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加 Docker 官方仓库
bash 复制代码
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4.安装 Docker CE

这里使用国内 Docker 源镜像

a. 备份原有 Docker 仓库配置

bash 复制代码
mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak 2>/dev/null

b. 使用阿里云 Docker 仓库

创建新的 repo 文件:

bash 复制代码
vi /etc/yum.repos.d/docker-ce.repo

粘贴以下内容(阿里云 Docker CE 仓库):

bash 复制代码
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/source/stable
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

保存并退出(ESC:wq

c. 导入 GPG 密钥

bash 复制代码
rpm --import https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

d. 清理并重建缓存

bash 复制代码
yum clean all
yum makecache

e. 安装 Docker

bash 复制代码
yum install -y docker-ce docker-ce-cli containerd.io

f. 配置 Docker 镜像加速(可选,推荐)

下方命令一起粘贴执行即可:

bash 复制代码
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://docker.m.daocloud.io", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com"]
}
EOF

重启 Docker 服务:

bash 复制代码
systemctl daemon-reload
systemctl restart docker
5.启动 Docker 并设置开机自启
bash 复制代码
sudo systemctl start docker
sudo systemctl enable docker
6. 验证安装
bash 复制代码
docker --version

安装完毕!!!

三、 安装Docker Compose

1.下载 Docker Compose 二进制文件
bash 复制代码
sudo curl -L "https://mirrors.aliyun.com/docker-toolbox/linux/compose/v2.20.3/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose

如果这个下载的不全,只有html输出无法运行:可以考虑更换镜像源或创建一个 "伪命令" 脚本

**容器化安装-->**创建一个 "伪命令" 脚本(让 docker-compose 命令可用)

创建一个脚本文件,替代传统的二进制文件,本质是调用 Docker 容器执行命令:

bash 复制代码
sudo tee /usr/local/bin/docker-compose <<-'EOF'
#!/bin/sh
exec docker run --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$PWD:$PWD" \
  -w "$PWD" \
  docker/compose:1.29.2 "$@"
EOF

或最新版本:

bash 复制代码
sudo tee /usr/local/bin/docker-compose <<-'EOF'
#!/bin/sh
exec docker run --rm \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v "$PWD:$PWD" \
  -w "$PWD" \
  docker/compose:latest "$@"
EOF

以上两种方式后续操作都一样,只是下载安装方式不同!!!

2. 赋予执行权限
bash 复制代码
sudo chmod +x /usr/local/bin/docker-compose
3. 创建软链接

确保系统能找到命令

bash 复制代码
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4. 验证安装
bash 复制代码
docker-compose --version

安装成功!!

相关推荐
切糕师学AI29 分钟前
云原生技术栈解析:宿主机、容器、Docker、Kubernetes 之间的区别于联系
docker·云原生·容器·kubernetes
java_logo3 小时前
Docker 部署 MinIO 全指南
运维·windows·mongodb·docker·容器
我狸才不是赔钱货3 小时前
DevOps:打破开发与运维之间的高墙
运维·vscode·docker·devops
黄雄进3 小时前
Windows使用docker安装milvus的配置文件
windows·docker·milvus
一勺菠萝丶5 小时前
在 macOS 上用 Docker 为 Java 后端 & 常见开发需求搭建完整服务(详尽教程)
java·macos·docker
三坛海会大神5555 小时前
k8s(九)安全机制
安全·容器·kubernetes
三坛海会大神5555 小时前
k8s(十二)Rancher详解
容器·kubernetes·rancher
AI云原生7 小时前
云原生系列Bug修复:Docker镜像无法启动的终极解决方案与排查思路
运维·服务器·python·docker·云原生·容器·bug
啊啊啊啊8437 小时前
k8s lngress与安全机制
安全·容器·kubernetes
三坛海会大神5557 小时前
k8s(八)Ingress详解
云原生·容器·kubernetes