目 录CONTENT

文章目录

失效命令补档

JIN
JIN
2024-03-14 / 0 评论 / 0 点赞 / 9 阅读 / 0 字
广告 广告

补档1:✒️搭建memos——跨平台随笔app-JIN的博客

第二节课(2/3):在大陆安装 Docker & Docker Compose

2.1、执行命令(大陆 VPS )

大多数大陆 VPS 可以 ping 通国外 IP,但无法建立 HTTPS(443端口)连接,这几乎可以确认是:

出站 443 端口被限制或屏蔽 —— 很可能是你的服务商(如腾讯云)限制了访问国际 HTTPS,这是一些云服务器常见的限制策略,尤其是在测试环境或教育网络中。


🛠️ 解决方案

✅ 方案 1:
apt install docker.io -y
apt install docker-compose -y

✅ 方案 2:
sudo curl -fsSL https://gitee.com/tech-shrimp/docker_installer/releases/download/latest/linux.sh| bash -s docker --mirror Aliyun
✅ 方案 3:切换阿里云镜像(推荐)

如果你想使用 Docker 最新版本,可以使用 阿里云源

# 安装前置组件
apt update
apt install -y ca-certificates curl gnupg lsb-release

# 添加阿里云 GPG Key
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加阿里云 Docker 源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新并安装
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

⚠️ 这不会连接国外服务器,是国内镜像,所以不会被屏蔽。

若出现

E: Failed to fetch https://mirrors.aliyun.com/docker-ce/linux/ubuntu/.../containerd.io_1.7.27-1_amd64.deb Connection timed out

执行下面命令

apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin --fix-missing

✅ 方案 4:安装 Ubuntu 源自带的 Docker(不访问国外)

Ubuntu 官方软件源中带有 docker.io,虽然不是最新版本,但可直接使用:

安装 docker,可以用下面这个方式:

apt install -y docker.io
systemctl enable docker
systemctl start docker
docker --version

安装 docker-compose,可以用下面这个方式:

# 安装 docker-compose 二进制(推荐方式,国内可用)
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
docker-compose version

第二节课(2.5/3):补充:配置 Docker 日志 & IPv6(进阶优化,可跳过)

2.1 执行命令:

执行后报错可能是主机名不同导致

🛠️ 解决方案

step1:
hostname
step2:
sudo nano /etc/hosts

然后确保文件中包含这一行(如果没有就添加):

127.0.1.1 你的主机名

你的主机名是 hostname 命令执行后显示的就是

补档2:📑halo的设置——待更新

halo的docker-compose.yml 设置


version: "2.4"

services:
  halo:
    image: halohub/halo:2.6.0
    container_name: halo
    restart: on-failure:3
    depends_on:
      halodb:
        condition: service_healthy
    networks:
      - halo_network
    volumes:
      - ./:/root/.halo2
    ports:
      - "8090:8090"
    command:
      - --spring.r2dbc.url=r2dbc:pool:mysql://halodb:3306/halo
      - --spring.r2dbc.username=你的数据库用户名
      - --spring.r2dbc.password=你的数据库密码1
      - --spring.sql.init.platform=mysql
      - --halo.external-url=http://你的公网IP:8090/
      - --halo.security.initializer.superadminusername=你的管理员用户名
      - --halo.security.initializer.superadminpassword=你的管理员密码1

  halodb:
    image: mysql:8.0.31
    container_name: halodb
    restart: on-failure:3
    networks:
      - halo_network
    command:
      - --default-authentication-plugin=mysql_native_password
      - --character-set-server=utf8mb4
      - --collation-server=utf8mb4_general_ci
      - --explicit_defaults_for_timestamp=true
    volumes:
      - ./mysql:/var/lib/mysql
      - ./mysqlBackup:/data/mysqlBackup
    ports:
      - "3306"
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
      interval: 3s
      retries: 5
      start_period: 30s
    environment:
      - MYSQL_ROOT_PASSWORD=你的数据库密码1
      - MYSQL_DATABASE=halo

networks:
  halo_network:

0
广告 广告

评论区