光看不点赞 jj小一半 
友好点
这个论坛里大佬发过 @uskhsysh,原文链接:免费白嫖7*24小时运行 root权限两个4C8G 160G高速磁盘 VPS机器 400美刀额度,免费时长6个月,先到先得
跟着论坛大佬的教程走你可能会遇到:Invalid docker-compose.yaml file.
有没有解决办法?
有的兄弟 有的
方法非常简单:就是自己推送一个镜像
前提条件
- 你需要在你的电脑上安装好 Docker。
- 你已经注册了一个 Docker Hub 账户。
1.登录 Docker Hub
docker login
- 拉取原始镜像
docker pull tsl0922/ttyd
- 为镜像打上新的标签
命令格式是:docker tag <源镜像名>:<源标签> <你的用户名>/<新镜像名>:<新标签>
# 将 tsl0922/ttyd 标记为 your-dockerhub-username/ttyd:latest
docker tag tsl0922/ttyd:latest your-dockerhub-username/ttyd
- 推送到你自己的 Docker Hub 仓库
docker push your-dockerhub-username/ttyd
这样用你自己的镜像就不会限制了
如果你跟我一样觉得这样麻烦还需要安装环境,有没有更简单的方法?
有的 有的
使用 GitHub Actions
1、在 GitHub 上创建一个新的空仓库 。名字随意
2、在 GitHub 仓库中设置密钥:
点击顶部的 Settings 标签页。
在左侧菜单中,找到 Secrets and variables,然后点击 Actions。
在 Repository secrets 部分,点击 New repository secret
创建两个 Secrets:
- 第一个 Secret:
- Name:
DOCKERHUB_USERNAME
- Secret: 输入你的 Docker Hub 用户名。
- 点击 Add secret。
- Name:
- 第二个 Secret:
- Name:
DOCKERHUB_TOKEN
- Secret: Docker Hub Access Token。
- 点击 Add secret。
- Name:
3、创建 GitHub Actions Workflow 文件
回到你的仓库主页,点击顶部的 Actions 标签页
点击 set up a workflow yourself 。
# 文件名: .github/workflows/sync-ttyd.yml
name: Sync ttyd Image to My Docker Hub
# 这个 workflow 的触发条件
on:
# 1. 允许手动触发 (在 Actions 页面会有一个 'Run workflow' 按钮)
workflow_dispatch:
# 2. (可选) 定时触发,使用 cron 语法
# 下面的例子是每天凌晨3点(UTC时间)运行一次
# 如果你不需要定时同步,可以把整个 'schedule' 部分删除或注释掉
schedule:
- cron: '0 3 * * *'
jobs:
sync-image:
# 使用最新的 Ubuntu 系统作为运行环境
runs-on: ubuntu-latest
steps:
# 第一步: 登录到 Docker Hub
- name: Login to Docker Hub
uses: docker/login-action@v3 # 使用官方的登录 action
with:
username: ${{ secrets.DOCKERHUB_USERNAME }} # 使用我们刚设置的 secret
password: ${{ secrets.DOCKERHUB_TOKEN }} # 使用我们刚设置的 secret
# 第二步: 拉取、打标签、推送
- name: Pull, Tag, and Push Docker Image
run: |
# 定义源镜像和目标镜像
# 你可以修改这里的标签,比如 'latest' 或者一个具体的版本号 '1.7.4'
SOURCE_IMAGE="tsl0922/ttyd:latest"
TARGET_IMAGE="${{ secrets.DOCKERHUB_USERNAME }}/ttyd:latest"
# 打印信息,方便调试
echo "--- Syncing Docker Image ---"
echo "Source: ${SOURCE_IMAGE}"
echo "Target: ${TARGET_IMAGE}"
# 执行核心命令
docker pull ${SOURCE_IMAGE}
docker tag ${SOURCE_IMAGE} ${TARGET_IMAGE}
docker push ${TARGET_IMAGE}
echo "--- Sync complete! ---"
点击右上角的 Commit changes… 按钮
最后一步
- 再次点击仓库顶部的 Actions 标签页。
- 在左侧,你会看到你刚刚创建的 workflow
Sync ttyd Image to My Docker Hub
。点击它。 - 在右侧,你会看到一个提示 “This workflow has a
workflow_dispatch
event trigger.” 和一个 Run workflow 的下拉按钮。 - 点击 Run workflow 按钮,然后再次点击绿色的 Run workflow 按钮来确认执行。
- 稍等片刻,你会看到一个工作流实例开始运行。你可以点击它进入详情页面,实时查看每一步的日志输出。
- 如果一切顺利,几分钟后,你会看到所有的步骤都显示绿色的对勾
。
- 最终验证: 登录你的 Docker Hub 网站,进入你的个人主页。你应该能看到一个名为
ttyd
的新仓库,并且里面有你刚刚同步的latest
标签。
需要特别注意:
有可能ttyd这个名称也被现在了,怎么办?
改个名称就可以了
# ...
- name: Pull, Tag, and Push Docker Image
run: |
# 定义源镜像和目标镜像
SOURCE_IMAGE="tsl0922/ttyd:latest"
TARGET_IMAGE="${{ secrets.DOCKERHUB_USERNAME }}/ttyd:latest" # <--- 修改这一行
# ... (后面的代码不用动)
# ...