docker镜像如何迁移到github
docker镜像迁移到github后,传输流畅,基本不会部署失败:
🚀 步骤一:登录 GitHub 并创建一个仓库,并启动 Docker Desktop
打开 并登录你的账户。
创建一个新的仓库,例如叫做
mous。建议设置为 私有,除非你希望公开分享镜像。
🔐 步骤二:配置 Docker 登录 GHCR
在终端执行以下命令登录 GHCR:
echo <你的 GitHub Token> | docker login ghcr.io -u <你的 GitHub 用户名> --password-stdin
💡 你需要一个 GitHub Personal Access Token(PAT),并启用
write:packages和read:packages权限。可以在 GitHub 的 生成。
📦 步骤三:重新标记并推送镜像到 GHCR
假设你本地已有镜像 jihesong/mous:latest,执行以下命令:
docker tag jihesong/mous:latest ghcr.io/<你的 GitHub 用户名>/mous:latest
docker push ghcr.io/<你的 GitHub 用户名>/mous:latest
推送成功后,你的镜像就托管在 GHCR 上了。
访问https://github.com/<你的 GitHub 用户名>?tab=packages查看是否推送成功。
☁️ 步骤四:更新 Cloud Foundry 部署命令
现在你可以使用 GHCR 镜像部署:
$env:CF_DOCKER_PASSWORD = "你的 GitHub Token"
cf push douraimi `
--docker-image ghcr.io/dakele001/mous:latest `
--docker-username dakele001 `
-m 512M `
--health-check-type port `
--random-route-------------------------------------------------------------------------------------------------
实例1,登入github,拉取docker,存入github:
echo ghp_BNcuW | docker login ghcr.io -u aaaaaaa --password-stdin
docker pull uncleluo/mous:latest
docker tag uncleluo/mous:latest ghcr.io/aaaaaaa/mous:latest
docker push ghcr.io/aaaaaaa/mous:latest
实例2,登入dockers,从别人的docker拉取,存入自己的docker hub xxxxx:
docker login
docker pull 7techlife/seven
docker tag 7techlife/seven xxxxx/seven
docker push xxxxx/seven
实例3,登入github(如果镜像是私有的),拉取镜像,存入docker
# 登录 GHCR
echo ghp_abc123456789 | docker login ghcr.io -u aaaaaaa --password-stdin
# 拉取镜像
docker pull ghcr.io/aaaaaaa/mous:latest
# 重命名
docker tag ghcr.io/aaaaaaa/mous:latest xxxxx/mous:latest
# 登录 Docker Hub
docker login
# 推送镜像
docker push xxxxx/mous:latest
实例4,将docker镜像mous改变名字成sap,再存入github,需要预先在github建立名称为sap的仓库。
# 1️⃣ 拉取原始镜像
docker pull xxxxxx/mous:latest
# 2️⃣ 重命名为 GitHub Container Registry 的目标名称
docker tag xxxxxx/mous:latest ghcr.io/aaaaaaaa/sap:latest
# 3️⃣ 登录 GitHub Container Registry
echo YOUR_GITHUB_TOKEN | docker login ghcr.io -u aaaaaaaa --password-stdin
# 4️⃣ 推送镜像到 GitHub
docker push ghcr.io/aaaaaaaa/sap:latest
配置国内镜像源(推荐)
Docker Hub 在国内访问经常不稳定,建议配置国内镜像加速器:
编辑 Docker 配置文件:
notepad C:\ProgramData\Docker\config\daemon.json
添加以下内容(如果文件不存在就新建):
json
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com"
]
}
然后重启 Docker 服务:
net stop com.docker.service
net start com.docker.service