Docker自编译镜像上传DockerHub

记录下镜像上传 DockerHub 的步骤,不过仔细想了想,一般人应该不会有这种需求?毕竟 DockerHub 的服务在国内都是时断时续的。

起因

腾讯云轻量服务器的性能太垃圾了,自己写的 Dockerfile,远端编译镜像,腾讯云轻量机的东京 1 核 2G 机器直接失联,多次尝试编译镜像无果,所以只能本地编译,然后通过一种方法同步给远端机器。

Docker Hub 是官方的镜像托管平台,用法和 Git 托管平台差不多,但它托管的内容不是 Git 工程,而是 Docker 镜像。

步骤

1.注册账户

首先需要在 Docker 官网注册一个账户,访问如下 Url 按提示注册即可:

https://hub.docker.com/signup

注意:可能需要特殊网络才能打开网页并加载验证码。

2.创建仓库

接下来需要创建一个镜像仓库,在已登录的情况下,访问步骤 1 链接,网页右上角即有创建仓库按钮,如下图:

点击创建按钮后,选择仓库公有/私有等属性,并填写仓库名即可。

3.打包机登录

在打包机上,输入如下命令,登录 DockerHub 账号:

docker login

回车后,按提示依次输入账号密码即可。

4.Build Dockerfile 并修改 Tag

首先按照常规方法 build 镜像(以我的 psn-api 工程为例):

# 进入 Dockerfile 所在目录
cd psn-api
# build
docker build -t psn-api .

之后修改镜像 Tag 为远端仓库 Tag:

# psn-api 为本地镜像名 azimiao/psn-api 为远端名
docker tag psn-api azimiao/psn-api

5.Push 镜像

接下来和 Git 操作方法类似,使用如下命令将本地镜像推送至 DockerHub:

docker push azimiao/psn-api

6.验证

推送完成后,在仓库网页端可见推送的详细信息,如下图:

在其他机器上尝试拉取 Docker 镜像并运行:

docker run -itd --name psn-api -p 4000:4000 azimiao/psn-api

如果得法,将正常运行。

梓喵出没博客(azimiao.com)版权所有,转载请注明链接:https://www.azimiao.com/8665.html
欢迎加入梓喵出没博客交流群:313732000

吐槽 WeiCN

*

*

0位绅士参与评论

  1. WeiCN03-22 00:55 回复

    就为了本地编译docker,把wsl1升到了wsl2

    • 野兔03-22 22:55 回复

      我是直接在本地 PVE nas 上开了个 ubuntu 虚拟机

  2. 蘑菇11-22 18:16 回复

    相比于 GitHub 上的托管的容器,Docker Hub的网络还是挺不错的