一、适用场景
本教程适用于 Ubuntu 16.04+/20.04+ 系统,一站式完成:
- Docker 引擎安装与镜像源优化;
- Docker Compose 部署(容器编排工具);
- Harbor 私有镜像仓库搭建(离线安装,适用于内网环境);
- 镜像推送 / 拉取、容器创建等核心操作演示。
二、前提准备
- 系统要求:Ubuntu 64 位系统,建议内存≥4GB(Harbor 运行需占用一定资源);
- 权限要求:全程使用 sudo 或 root 权限操作;
- 网络要求:安装过程需联网(下载 Docker 镜像源、Harbor 离线包);
- 端口说明:需开放 8081(Harbor HTTP 端口)、2375(Docker 远程访问端口,可选)。
三、第一部分:安装 Docker
1. 安装依赖与证书
# 安装必要依赖工具
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
# 导入阿里云Docker GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
2. 设置阿里云 Docker 镜像源(加速安装)
# 添加阿里云Docker软件源
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 更新软件源缓存
sudo apt update
3. 安装 Docker 引擎
# 安装Docker(ubuntu默认包名docker.io,与docker-ce功能一致)
sudo apt install -y docker.io
4. 配置 Docker 镜像加速器(优化拉取速度)
# 创建Docker配置目录
mkdir -p /etc/docker
# 写入镜像加速器配置(阿里云+网易+官方镜像源)
cat << EOF > /etc/docker/daemon.json
{
"registry-mirrors": [
"https://hfd6rsvx.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://mirror.baidubce.com"
]
}
EOF
# 创建系统服务配置目录(确保Docker服务正常加载配置)
mkdir -p /etc/systemd/system/docker.service.d
# 重载配置并重启Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
# 设置Docker开机自启
sudo systemctl enable docker
5. 验证 Docker 安装成功
# 查看Docker版本
docker --version
# 运行hello-world镜像测试
sudo docker run hello-world
- 成功输出:显示「Hello from Docker!」表示 Docker 环境正常。
四、第二部分:安装 Docker Compose
方法 1:自动安装(推荐,直接下载可执行文件)
# 下载Docker Compose 1.29.2版本(稳定版)
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/run.sh" -o /usr/local/bin/docker-compose
# 给文件添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
方法 2:手动安装(适用于自动下载失败场景)
# 1. 手动下载对应版本的二进制文件(需浏览器访问下方链接)
# 下载地址:https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64
# 2. 将下载的文件上传到服务器/usr/local/bin目录,并重命名
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
# 3. 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
3. 验证 Docker Compose 安装成功
# 查看Docker Compose版本
docker-compose --version
- 成功输出示例:docker-compose version 1.29.2, build 5becea4c。
五、第三部分:安装 Harbor 私有镜像仓库
1. 下载 Harbor 离线安装包(v2.3.2 稳定版)
# 下载离线包(-c 支持断点续传)
wget -c https://github.com/goharbor/harbor/releases/download/v2.3.2/harbor-offline-installer-v2.3.2.tgz
- 若 wget 下载慢,可手动下载后上传到服务器。
2. 解压并进入安装目录
# 解压离线包
tar xvf harbor-offline-installer-v2.3.2.tgz
# 进入Harbor目录
cd harbor
3. 配置 Harbor(修改 harbor.yml)
# 复制默认配置文件模板
cp harbor.yml.tmpl harbor.yml
# 编辑配置文件
sudo vim harbor.yml
4. 关键配置修改(按以下内容调整)
# 1. 修改主机名(替换为服务器实际IP:192.168.0.1)
hostname: 192.168.0.1
# 2. 配置HTTP端口(默认80,改为8081避免冲突)
http:
port: 8081
# 3. 注释HTTPS相关配置(无需HTTPS时禁用,删除或加#注释)
# https:
# port: 443
# certificate: /your/certificate/path
# private_key: /your/private/key/path
# 4. 修改管理员密码(默认Harbor12345,改为test123)
harbor_admin_password: test123
- 其他配置(如数据存储路径)可保持默认,如需自定义可修改 data_volume 参数。
5. 安装 Harbor
# 执行安装脚本(自动加载配置并创建容器)
sudo ./install.sh
- 安装成功提示:✔ ----Harbor has been installed and started successfully----。
6. 启动 / 停止 Harbor 服务
# 启动Harbor(安装后自动启动,重启用此命令)
docker-compose up -d
# 停止Harbor
docker-compose down
# 停止并删除数据(谨慎使用!)
docker-compose down -v
六、第四部分:Harbor 登录与镜像操作
1. Web 界面登录
- 访问地址:http://192.168.0.1:8081(浏览器输入);
- 登录账号:admin;
- 登录密码:test123(你自己的密码,注意别暴露给他人);
- 首次登录后建议创建项目(如 test),用于存储镜像。
2. 本地 Docker 登录 Harbor
# 登录Harbor私有仓库(IP+端口)
sudo docker login 192.168.0.1:8081
- 按提示输入账号(admin)和密码(test123),显示 Login Succeeded 表示登录成功。
3. 镜像推送 / 拉取操作示例
# 示例1:给本地镜像打标签(格式:Harbor地址/项目名/镜像名:版本)
# 假设本地已有镜像 demo-test-quick:v1.0.0,项目名为 test
sudo docker tag demo-test-quick:v1.0.0 192.168.0.1:8081/test/demo-test-quick:v1.0.0
# 示例2:推送镜像到Harbor
sudo docker push 192.168.0.1:8081/test/demo-test-quick:v1.0.0
# 示例3:从Harbor拉取镜像(其他机器也可执行)
sudo docker pull 192.168.0.1:8081/test/demo-test-quick:v1.0.0
# 示例4:删除Harbor镜像(本地镜像)
sudo docker rmi 192.168.0.1:8081/test/demo-test-quick:v1.0.0
4. 额外操作:Docker 镜像构建与容器创建
# 构建Docker镜像(指定Dockerfile路径和镜像标签)
sudo docker build -f /path/to/Dockerfile -t demo-test-quick:v1.0.0 .
# 创建并启动容器(映射端口30303:30303)
sudo docker create -p 30303:30303 --name demo-test-quick demo-test-quick:v1.0.0
sudo docker start demo-test-quick
七、常用辅助命令(排查问题用)
# 1. 查看目录占用空间(排查Harbor数据存储)
du -d 1 -h
# 2. 查看文件详细大小
ls -lh
# 3. 查看Linux开放端口(验证8081、2375等端口是否开放)
sudo netstat -tulnp
# 4. 查看Docker容器状态(Harbor相关容器)
sudo docker ps -a | grep harbor
# 5. 查看Harbor日志
sudo docker-compose logs
八、安全配置与注意事项
1. 端口安全
- 生产环境建议关闭 2375 端口(避免远程未授权访问),如需开放需配置 TLS 加密;
- Harbor 的 8081 端口仅允许内网访问,外网访问需通过 VPN 或反向代理。
2. 密码安全
- 定期修改 Harbor 管理员密码(Web 界面→个人设置→密码修改);
- 避免在命令行明文输入密码,Docker 登录可通过配置文件免密。
3. 数据备份
- Harbor 数据默认存储在 /data 目录,定期备份该目录避免数据丢失;
- 备份命令示例:sudo tar -zcvf harbor_data_backup.tar.gz /data。
4. 常见问题排查
- Harbor 启动失败:查看容器日志 docker-compose logs,常见原因是端口占用(如 8081 被占用,需修改 harbor.yml 的 http.port);
- Docker 登录 Harbor 失败:检查 Harbor 服务是否启动、服务器防火墙是否放行 8081 端口;
- 镜像推送慢:确认 Docker 镜像加速器配置生效(docker info | grep Registry Mirrors)。
九、扩展:Mac 本地 Docker 远程访问(可选)
若需在 Mac 本地连接 Linux 服务器的 Docker,开放 2375 端口:
# 在Linux服务器执行(映射2375端口,仅本地访问)
sudo docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 127.0.0.1:2375:2375 bobrik/socat TCP-LISTEN:2375,fork UNIX-CONNECT:/var/run/docker.sock
- Mac 本地配置环境变量:export DOCKER_HOST=tcp://Linux服务器IP:2375,即可远程操作 Docker。