Docker环境离线安装指南
概述
本文档将指导您如何在Windows系统和CentOS系统上离线安装Docker和docker-compose,并使用hello-world进行环境测试。适用于无法连接互联网或需要离线部署的场景。
系统要求
Windows系统要求
- Windows 10/11 (64位)
- 至少4GB RAM
- 至少10GB可用磁盘空间
- 支持虚拟化的CPU
CentOS系统要求
- CentOS 7/8/Stream (64位)
- 至少2GB RAM
- 至少5GB可用磁盘空间
- 支持虚拟化的CPU
1. Windows系统 - Docker Desktop 离线安装
1.1 下载Docker Desktop安装包
在可以联网的Windows机器上下载Docker Desktop安装包:
bash
# 使用PowerShell下载Docker Desktop
Invoke-WebRequest -Uri "https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.exe" -OutFile "DockerDesktopInstaller.exe"
或者直接从官网下载:
- 访问:https://www.docker.com/products/docker-desktop/
- 下载Windows版本的Docker Desktop
1.2 离线安装Docker Desktop
将下载的安装包传输到目标机器,然后执行:
cmd
# 以管理员身份运行命令提示符
DockerDesktopInstaller.exe install --quiet
1.3 验证Docker安装
安装完成后,打开PowerShell或命令提示符验证:
cmd
docker --version
docker-compose --version
2. Docker Compose 离线安装
2.1 下载Docker Compose
在联网机器上下载docker-compose:
bash
# 下载最新版本的docker-compose
Invoke-WebRequest -Uri "https://github.com/docker/compose/releases/latest/download/docker-compose-windows-x86_64.exe" -OutFile "docker-compose.exe"
2.2 安装Docker Compose
将下载的docker-compose.exe文件复制到目标机器的Docker安装目录:
cmd
# 复制到Docker安装目录
copy docker-compose.exe "C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe"
或者添加到系统PATH:
cmd
# 将docker-compose.exe复制到系统PATH中的目录
copy docker-compose.exe "C:\Windows\System32\docker-compose.exe"
3. Docker环境测试
3.1 创建测试配置文件
创建docker-compose.yml
文件:
yaml
version: '3.8'
services:
hello-world:
image: hello-world
container_name: docker-test
restart: unless-stopped
3.2 离线镜像导入
如果需要使用hello-world镜像,可以导出和导入:
cmd
# 在联网机器上导出镜像
docker save hello-world > hello-world.tar
# 在离线机器上导入镜像
docker load < hello-world.tar
3.3 运行测试
cmd
# 启动测试容器
docker-compose up
# 或者直接运行hello-world
docker run hello-world
4. 常用Docker命令
4.1 基础命令
cmd
# 查看Docker版本
docker --version
# 查看Docker信息
docker info
# 列出本地镜像
docker images
# 列出运行中的容器
docker ps
# 列出所有容器
docker ps -a
4.2 容器管理
cmd
# 启动容器
docker start <container_id>
# 停止容器
docker stop <container_id>
# 重启容器
docker restart <container_id>
# 删除容器
docker rm <container_id>
# 删除镜像
docker rmi <image_id>
4.3 Docker Compose命令
cmd
# 启动服务
docker-compose up
# 后台启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 查看服务状态
docker-compose ps
# 查看服务日志
docker-compose logs
5. 故障排除
5.1 常见问题
-
Docker Desktop无法启动
cmd# 重启Docker服务 net stop com.docker.service net start com.docker.service
-
权限问题
cmd# 以管理员身份运行PowerShell Start-Process powershell -Verb runAs
-
端口冲突
cmd# 查看端口占用 netstat -ano | findstr :8080 # 结束占用端口的进程 taskkill /PID <process_id> /F
5.2 日志查看
cmd
# 查看Docker日志
docker logs <container_id>
# 实时查看日志
docker logs -f <container_id>
# 查看Docker Compose日志
docker-compose logs -f
6. 性能优化
6.1 资源配置
在Docker Desktop设置中调整资源分配:
- 内存:建议分配4GB以上
- CPU:建议分配2核以上
- 磁盘:确保有足够空间
6.2 镜像优化
cmd
# 清理未使用的镜像
docker image prune
# 清理所有未使用的资源
docker system prune -a
7. 安全注意事项
-
网络安全
- 在离线环境中使用Docker时,确保网络隔离
- 定期更新Docker版本以修复安全漏洞
-
镜像安全
- 只使用可信的Docker镜像
- 定期扫描镜像中的安全漏洞
-
数据安全
- 定期备份重要的容器数据
- 使用数据卷来持久化重要数据
8. 总结
通过以上步骤,您可以在Windows系统上成功安装和配置Docker环境,并使用hello-world进行测试验证。离线安装方式特别适用于企业内网环境或无法连接互联网的场景。
关键要点
- 确保下载正确的Windows版本安装包
- 以管理员权限执行安装命令
- 正确配置Docker Compose文件
- 定期维护和更新Docker环境
参考资料
9. CentOS系统 - Docker离线安装
9.1 下载Docker安装包
在可以联网的CentOS机器上下载Docker安装包:
bash
# 创建下载目录
mkdir -p ~/docker-offline
cd ~/docker-offline
# 下载Docker CE安装包
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yumdownloader --resolve docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 下载依赖包
yumdownloader --resolve device-mapper-persistent-data lvm2
9.2 创建离线安装包
bash
# 创建RPM包目录
mkdir -p docker-rpms
cp *.rpm docker-rpms/
# 创建安装脚本
cat > install-docker.sh << 'EOF'
#!/bin/bash
echo "开始安装Docker..."
# 安装依赖包
rpm -ivh device-mapper-persistent-data-*.rpm
rpm -ivh lvm2-*.rpm
# 安装Docker包
rpm -ivh containerd.io-*.rpm
rpm -ivh docker-ce-cli-*.rpm
rpm -ivh docker-ce-*.rpm
rpm -ivh docker-buildx-plugin-*.rpm
rpm -ivh docker-compose-plugin-*.rpm
# 启动Docker服务
systemctl start docker
systemctl enable docker
echo "Docker安装完成!"
docker --version
EOF
chmod +x install-docker.sh
9.3 离线安装Docker
将整个docker-offline
目录传输到目标CentOS机器,然后执行:
bash
cd docker-offline
./install-docker.sh
9.4 验证Docker安装
bash
# 检查Docker版本
docker --version
# 检查Docker Compose版本
docker compose version
# 测试Docker运行
docker run hello-world
10. CentOS系统 - Docker Compose离线安装
10.1 下载Docker Compose
在联网机器上下载docker-compose:
bash
# 下载最新版本的docker-compose
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o docker-compose
# 添加执行权限
chmod +x docker-compose
10.2 安装Docker Compose
将下载的docker-compose文件复制到目标机器:
bash
# 复制到系统PATH
sudo cp docker-compose /usr/local/bin/docker-compose
# 创建软链接
sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
# 验证安装
docker-compose --version
11. CentOS系统 - Docker环境测试
11.1 创建测试配置文件
创建docker-compose.yml
文件:
yaml
version: '3.8'
services:
hello-world:
image: hello-world
container_name: docker-test
restart: unless-stopped
11.2 离线镜像导入
bash
# 在联网机器上导出镜像
docker save hello-world > hello-world.tar
# 在离线机器上导入镜像
docker load < hello-world.tar
11.3 运行测试
bash
# 启动测试容器
docker-compose up
# 或者直接运行hello-world
docker run hello-world
12. CentOS系统 - 常用命令
12.1 系统服务管理
bash
# 启动Docker服务
sudo systemctl start docker
# 停止Docker服务
sudo systemctl stop docker
# 重启Docker服务
sudo systemctl restart docker
# 设置开机自启
sudo systemctl enable docker
# 查看服务状态
sudo systemctl status docker
12.2 Docker命令
bash
# 查看Docker信息
docker info
# 查看Docker版本
docker --version
# 列出镜像
docker images
# 列出容器
docker ps -a
# 清理未使用的资源
docker system prune -a
12.3 用户权限配置
bash
# 将当前用户添加到docker组
sudo usermod -aG docker $USER
# 重新登录或重启系统使权限生效
# 或者执行以下命令立即生效
newgrp docker
13. CentOS系统 - 故障排除
13.1 常见问题
-
Docker服务启动失败
bash# 查看服务日志 sudo journalctl -u docker.service # 重启Docker服务 sudo systemctl restart docker
-
权限问题
bash# 确保用户在docker组中 groups $USER # 重新添加用户到docker组 sudo usermod -aG docker $USER
-
存储驱动问题
bash# 查看存储驱动 docker info | grep "Storage Driver" # 修改存储驱动(在/etc/docker/daemon.json中) sudo tee /etc/docker/daemon.json <<EOF { "storage-driver": "overlay2" } EOF # 重启Docker服务 sudo systemctl restart docker
13.2 性能优化
bash
# 配置Docker守护进程
sudo tee /etc/docker/daemon.json <<EOF
{
"storage-driver": "overlay2",
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
# 重启Docker服务
sudo systemctl restart docker
14. 总结
通过以上步骤,您可以在Windows和CentOS系统上成功安装和配置Docker环境,并使用hello-world进行测试验证。离线安装方式特别适用于企业内网环境或无法连接互联网的场景。
关键要点
- 确保下载正确的系统版本安装包
- 以管理员/root权限执行安装命令
- 正确配置Docker Compose文件
- 定期维护和更新Docker环境
- 注意系统权限和用户组配置
参考资料
本文档基于实际项目经验编写,如有问题请及时反馈。