一、操作系统需求
Ubuntu 22.04 (LTS)
二、卸载旧版本
在安装Docker Engine之前,你需要卸载所有冲突包。
你的 Linux 发行版可能会提供非官方的 Docker 包,这些包可能会和Docker提供的官方包冲突。你必须卸载这些包。
非官方的卸载包有:docker.io docker-compose docker-compose-v2 docker-doc podman-docker
执行以下命令卸载所有冲突包:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)三、安装Docker
将 Docker 源替换为阿里云镜像
在终端中复制并执行下面这行命令,这会把配置文件里的官方域名替换成阿里云的域名:
sudo sed -i 's|https://download.docker.com|https://mirrors.aliyun.com/docker-ce|g' /etc/apt/sources.list.d/docker.sources刷新软件列表
替换完成后,让系统重新读取新的国内镜像源地址:
sudo apt update执行安装命令
更新成功后,运行 Docker 安装命令:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y验证是否安装成功
你可以直接在终端中运行以下命令来检查它是否正常工作:
docker compose version四、安装Halo
创建容器
在系统任意位置创建一个文件夹,此文档以 ~/halo 为例。
注意:后续操作中,Halo 产生的所有数据都会保存在这个目录,请妥善保存
创建 docker-compose.yaml
准备干净的工作目录
执行:
mkdir -p ~/halo && cd ~/halorm -f docker-compose.yaml执行下面的命令打开编辑器:
nano docker-compose.yaml把下面这段复制到编辑器里面:
services:
halo:
# 这里使用的是官方提供的国内加速镜像库,并且改为了开源免费的社区版
image: registry.fit2cloud.com/halo/halo:2.25
restart: on-failure:3
depends_on:
halodb:
condition: service_healthy
networks:
halo_network:
volumes:
- ./halo2:/root/.halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 30s
environment:
# JVM 参数,默认为 -Xmx256m -Xms256m
- JVM_OPTS=-Xmx256m -Xms256m
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
# PostgreSQL 的密码,必须与下方 POSTGRES_PASSWORD 保持一致
- --spring.r2dbc.password=openpostgresql
- --spring.sql.init.platform=postgresql
# 你的访问地址(如果以后配了域名,记得把这里改成域名的形式)
- --halo.external-url=http://localhost:8090/
halodb:
image: docker.m.daocloud.io/library/postgres:15.4
restart: on-failure:3
networks:
halo_network:
volumes:
# 将数据库的数据挂载到宿主机的 ./db 目录,保证数据不丢失
- ./db:/var/lib/postgresql/data
healthcheck:
test: [ "CMD", "pg_isready" ]
interval: 10s
timeout: 5s
retries: 5
environment:
- POSTGRES_PASSWORD=openpostgresql
- POSTGRES_USER=halo
- POSTGRES_DB=halo
- PGUSER=halo
networks:
halo_network:按 Ctrl + O,再按 Enter 确认,最后按 Ctrl + X 退出。
现在,你可以执行以下官方启动命令:
sudo docker compose up -d启动成功后,浏览器输入:http://<你的服务器IP>:8090 就可以进入Halo管理面板了
原创
Halo建站-----Docker Compose
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法