本文主要在Docker Hub上上传自己的镜像,可以按照以下步骤进行操作:

目录

1.登录到Docker账户

2.本地创建/封装自己的镜像

3.服务器登录Docker Hub账户

4.将自己的镜像打标签

5.将自己的镜像推送到 docker hub

6. 升级仓库新镜像


1.登录到Docker账户

官网:Docker Hub

首先,确保已经安装了Docker并且登录到Docker账户。如果没有账户,需要注册一个新的账户。

 (我用github直接登录的)

2.本地创建/封装自己的镜像

如果不会可参考【】

构建好自己的镜像后,使用

docker build -t <image_name>:<tag>

命令来创建一个本地标记为 <image_name> 的镜像。其中 : 表示版本号或者标签名称,. 表示当前目录。例如我的docker build --no-cache  -t tts:v0.1 -f ./Dockerfile .

3.服务器登录Docker Hub账户

网页上,我用github直接登录的,输入正确的用户名和密码。

创建一个新仓库Create repository -》输入仓库名Repository Name -》 创建Create

服务器登录

docker login

命令来登录到Docker Hub账户,输入正确的用户名和密码。

(我用github直接登录的,用户名不是邮箱,而是这个名称 -> insanena414,密码为github密码)

4.将自己的镜像打标签

然后,使用

docker tag <local_image_id> dockerhub_username/repository_name:tag

命令将本地镜像重新打上标签,这里的 dockerhub_username 是Docker Hub用户名,repository_name 是想要存放该镜像的仓库名称,tag 则是希望设置的标签(可选)。

例如我的:docker tag tts_v1.0:latest insanena414/tts_v1

运行后不会出现任何标志~

5.将自己的镜像推送到 docker hub

最后,通过运行

docker push dockerhub_username/repository_name:tag

我的:docker push insanena414/tts_v1

命令将镜像推送到Docker Hub。等待上传完成后,就能在Docker Hub上看到镜像了。

上传完成

 就可以找到公共镜像啦

6. 升级仓库新镜像

如果是在原本生成的镜像上,经过操作后添加了一点新的库,也可以通过创建新的镜像,以此避免拉去原来的镜像再进行额外操作。

首先合并创建新镜像

语法

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

实例

假如想要合并的环境是名为a的容器,查看容器ID命令

docker ps

确认好容器ID后(假设ID是859d9754c715 ),

docker commit 859d9754c715 insanena414/tts_v1:v2

 docker image

创建同一个仓库第二个版本时,登录->镜像打标签->push,命令如下:

docker login

docker tag 74bb847a6d59 insanena414/tts_v1:v2

docker push insanena414/tts_v1:v2

7.遇到的错误及解决

[PS1]Error response from daemon: manifest for image not found: manifest unknown: manifest unknown
错误原因,写错docker命令

在上传镜像是,将push写成pull!改正就对啦~

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐